CN117555760B - Server monitoring method and device, substrate controller and embedded system - Google Patents

Server monitoring method and device, substrate controller and embedded system Download PDF

Info

Publication number
CN117555760B
CN117555760B CN202311854756.8A CN202311854756A CN117555760B CN 117555760 B CN117555760 B CN 117555760B CN 202311854756 A CN202311854756 A CN 202311854756A CN 117555760 B CN117555760 B CN 117555760B
Authority
CN
China
Prior art keywords
real
operating system
time operating
monitoring information
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311854756.8A
Other languages
Chinese (zh)
Other versions
CN117555760A (en
Inventor
高明
李保晗
马进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311854756.8A priority Critical patent/CN117555760B/en
Publication of CN117555760A publication Critical patent/CN117555760A/en
Application granted granted Critical
Publication of CN117555760B publication Critical patent/CN117555760B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the application provides a server monitoring method and device, a substrate controller and an embedded system, wherein the method comprises the following steps: under the condition that the power-on of the server is detected, the baseboard management controller executes starting operation; after the real-time operating system in the baseboard management controller is started, acquiring monitoring information of components of the server, and storing the monitoring information into a shared memory; and after the non-real-time operation system in the baseboard management controller is started, acquiring monitoring information from the shared memory, and executing part monitoring service based on the monitoring information. The method and the device solve the problem that the components of the server are difficult to monitor in the initial stage of service power-on by monitoring the components of the server through the non-real-time operating system in the baseboard management controller, and further achieve the effects of reducing the hardware performance requirements of the non-real-time operating system and enabling the components of the server to be monitored in the initial stage of service power-on.

Description

Server monitoring method and device, substrate controller and embedded system
Technical Field
The embodiment of the application relates to the field of computers, in particular to a server monitoring method and device, a substrate controller and an embedded system.
Background
With the rapid development of technologies such as cloud computing, big data, artificial intelligence and the like, a server serves as an important infrastructure and plays an important role in digital economy.
The BMC (Baseboard Management Controller ) is a dedicated controller for monitoring and managing servers. Mainly has the following functions: the equipment information management is used for recording various information of the server; the server state monitoring management is used for detecting information of each component of the server and reporting information of abnormal components; the remote control management of the server is used for carrying out startup and shutdown, restarting, maintenance, firmware updating, system installation and the like on the server; maintenance management including log management, user management, BIOS (Basic Input Output System, this input output system) management, alarm management, etc.
In the related technology, each piece of component equipment is periodically polled by a non-real-time operating system, the monitoring information of each piece of component is acquired through a physical bus, the non-real-time operating system has to switch from a user state to a kernel state every time when accessing a hardware register, more additional expenditure is needed, the types of the monitoring information of the components are more, the data volume is large, the hardware configuration performance of the non-real-time operating system is difficult to support the actions of accessing the bottom hardware and acquiring the information at high frequency, the response and the processing of abnormal conditions are not timely enough, and meanwhile, the whole system is in a non-monitoring state within the first few minutes of the service power-on starting stage due to the fact that the starting of the non-real-time operating system takes a few minutes.
Disclosure of Invention
The embodiment of the application provides a server monitoring method and device, a substrate controller and an embedded system, which at least solve the problems that in the related art, a non-real-time operating system in the substrate management controller is used for monitoring components of a server, the requirement on hardware configuration performance is high, and the components are difficult to monitor in the initial stage of service power-on.
According to an embodiment of the present application, there is provided a server monitoring method applied to a baseboard management controller, where a real-time operating system and a non-real-time operating system are running on the baseboard management controller, including: under the condition that the power-on of the server is detected, the baseboard management controller executes starting operation; under the condition that the real-time operating system in the baseboard management controller is started, the real-time operating system acquires monitoring information of components of the server and stores the monitoring information into the shared memory; after the non-real-time operating system in the baseboard management controller is started, the non-real-time operating system acquires monitoring information from the shared memory, and executes part monitoring service based on the monitoring information.
In one exemplary embodiment, the real-time operating system obtaining monitoring information of the components of the server and storing the monitoring information to the shared memory includes: the real-time operation system acquires monitoring information of the components of the server according to a first preset period, and writes the acquired monitoring information into the shared memory according to the first preset period, wherein the length of the first preset period is smaller than the starting time of the non-real-time operation system.
In an exemplary embodiment, a plurality of first bus controllers are disposed in the baseboard management controller, different first bus controllers are connected with second bus controllers of different components through communication lines, bus communication protocols used by the connected first bus controllers and the second bus controllers are the same, and the real-time operating system obtaining monitoring information of the components of the server includes: the real-time operating system reads and writes the hardware registers of the components through the first bus controller and the second bus controller, and acquires the monitoring information of the components.
In one exemplary embodiment, the real-time operating system reads and writes hardware registers of the component through the first bus controller and the second bus controller, and acquiring monitoring information of the component includes: the real-time operation system sends a data acquisition instruction to a first bus controller, the first bus controller transmits the data acquisition instruction to a second bus controller connected with the first bus controller through a bus communication protocol, the second bus controller reads and writes a hardware register of the component through the data acquisition instruction to obtain monitoring information of the component, and the monitoring information is returned through the bus communication protocol.
In one exemplary embodiment, the real-time operating system reads and writes the hardware registers of the components through the first bus controller and the second bus controller, and the obtaining the monitoring information of the components includes at least one of the following: the real-time operation system reads and writes the hardware registers of the network card and the disk array card through a first high-speed serial computer expansion bus controller on the baseboard management controller and a second high-speed serial computer expansion bus controller on the component, and acquires monitoring information of the network card and the disk array card; the real-time operation system acquires sensor data and monitoring information of the graphic processor through a first two-wire synchronous serial bus controller on the baseboard management controller and a hardware register of a sensor of a read-write component of the second two-wire synchronous serial bus controller on the component and a hardware register of the graphic processor; the real-time operation system reads and writes the hardware register of the voltage stabilizer chip through a first digital-to-analog conversion controller on the baseboard management controller and a second digital-to-analog conversion controller on the component to acquire monitoring information of the voltage stabilizer chip; the real-time operating system reads the hardware register of the central processing unit through the first platform environment type control interface controller on the substrate management controller and the second platform environment type control interface controller on the component to acquire the monitoring information of the central processing unit.
In one exemplary embodiment, after the real-time operating system obtains the monitoring information of the components of the server, the method further comprises: the real-time operating system judges whether abnormal monitoring information exists in the monitoring information; and under the condition that the abnormal monitoring information exists in the monitoring information, the real-time operating system sends a second interrupt notification message to the non-real-time operating system, wherein the second interrupt notification message carries the abnormal monitoring information.
In one exemplary embodiment, the real-time operating system determining whether the anomaly monitoring information exists in the monitoring information includes: judging whether component information exceeding a preset threshold value exists in the monitoring information, wherein the threshold values of different components are different; and determining that abnormal monitoring information exists in the monitoring information under the condition that the component information exceeding the preset threshold value exists.
In one exemplary embodiment, a non-real time operating system obtains monitoring information from a shared memory and performs component monitoring services based on the monitoring information comprising: after receiving the second interrupt notification message, the non-real-time operating system analyzes the abnormal event indicated by the abnormal monitoring information and executes a coping strategy for the abnormal event.
In one exemplary embodiment, after storing the monitoring information to the shared memory, the method further comprises: and under the condition that the real-time operating system detects that the non-real-time operating system is started, sending a first interrupt notification message to the non-real-time operating system, wherein the first interrupt notification message is used for indicating that the monitoring information is stored in the shared memory.
In one exemplary embodiment, a non-real time operating system obtains monitoring information from a shared memory and performs component monitoring services based on the monitoring information comprising: after receiving the first interrupt notification message, the non-real-time operating system determines a target component monitoring service to be executed and determines target monitoring information required by executing the target component monitoring service; the non-real-time operating system acquires target monitoring information from the shared memory and executes component monitoring business based on the target monitoring information.
In one exemplary embodiment, performing component monitoring traffic based on the target monitoring information includes at least one of: displaying target monitoring information on a monitoring interface; performing component fault diagnosis based on the target monitoring information; under the condition that the abnormal monitoring information exists in the target monitoring information, sending out alarm information and/or executing reporting operation on the abnormal monitoring information; and recording server log information associated with the target monitoring information.
In one exemplary embodiment, after the real-time operating system obtains the monitoring information of the components of the server, the method further comprises: the real-time operating system calculates a first rotating speed of a fan of the server according to the temperature information in the monitoring information, and controls the fan to operate according to the first rotating speed; after the non-real-time operating system obtains the monitoring information from the shared memory, the method further comprises: the non-real-time operation system calculates a second rotating speed of the fan of the server according to the temperature information in the monitoring information, and adjusts the rotating speed of the fan controlled by the second rotating speed from the first rotating speed to the second rotating speed.
In one exemplary embodiment, before the non-real-time operating system obtains the monitoring information from the shared memory, the method further comprises: starting an inter-core communication process and starting a part monitoring service process; performing component monitoring traffic based on the monitoring information includes: the non-real-time operating system communicates with the real-time operating system based on the inter-core communication process and performs the component monitoring service based on the component monitoring service process.
In an exemplary embodiment, the method further comprises: sending a heartbeat message to the non-real-time operation according to a second preset period under the condition that the real-time operation system in the baseboard management controller is started, and detecting whether a progress state fed back by the non-real-time operation system is received or not; and under the condition that the process state fed back by the non-real-time operating system is received, determining the running condition of the non-real-time operating system based on the process state.
In an exemplary embodiment, the method further comprises: under the condition that the real-time operating system in the baseboard management controller is started, if the real-time operating system detects that the real-time operating system and/or the non-real-time operating system generates an abnormal running event, the baseboard management controller executes restarting operation.
According to another embodiment of the present application, a baseboard controller is provided, on which a real-time operating system and a non-real-time operating system are running, the real-time operating system and the non-real-time operating system implement the server monitoring method of any one of the above.
In an exemplary embodiment, a plurality of first bus controllers are arranged in the baseboard management controller, different first bus controllers are connected with second bus controllers of different server components through communication lines, bus communication protocols used by the connected first bus controllers and the second bus controllers are the same, and monitoring information of the components required by server monitoring is obtained by controlling the first bus controllers and the second bus controllers to read and write hardware registers of the components of the server.
According to another embodiment of the present application, there is provided an embedded system including: the system comprises a chip, a real-time operating system and a non-real-time operating system, wherein the chip comprises a processor; the real-time operating system and the non-real-time operating system are operated based on the processor, and the real-time operating system and the non-real-time operating system realize the server monitoring method of any one of the above.
According to another embodiment of the present application, there is provided a server monitoring device applied to a baseboard management controller, on which a real-time operating system and a non-real-time operating system are running, including: the starting unit is used for executing starting operation by the baseboard management controller under the condition that the power-on of the server is detected; the first acquisition unit is used for acquiring monitoring information of a component of the server through the real-time operating system and storing the monitoring information into the shared memory under the condition that the real-time operating system in the baseboard management controller is started; the second obtaining unit is used for obtaining monitoring information from the shared memory through the non-real-time operating system after the non-real-time operating system in the baseboard management controller is started, and executing the component monitoring service based on the monitoring information.
According to a further embodiment of the present application, there is also provided a computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
According to yet another embodiment of the present application, there is also provided an electronic device comprising a memory having a computer program stored therein and a processor configured to run the computer program to perform the server monitoring method of any of the above.
According to yet another embodiment of the present application, there is also provided a chip including at least one of programmable logic circuitry and executable instructions, the chip operating in an electronic device for implementing a server monitoring method as in any one of the above.
By the method, the baseboard management controller executes starting operation under the condition that the power-on of the server is detected; under the condition that the starting of a real-time operating system in the baseboard management controller is finished, acquiring read-write permission of a hardware bus by the real-time operating system, acquiring monitoring information of components of a server by utilizing the characteristics of quick starting, light weight, timely response and the like of the real-time operating system, and storing the monitoring information into a shared memory; after the non-real-time operating system in the baseboard management controller is started, the non-real-time operating system acquires monitoring information from the shared memory, and executes part monitoring service based on the monitoring information. Therefore, the problem that the components of the server are difficult to monitor in the initial stage of service power-on due to high requirements on hardware configuration performance by monitoring the components of the non-real-time operating system in the baseboard management controller can be solved, the non-real-time operating system focuses on the control of a hardware bus to process specific business, the isolation of a software layer is realized, the non-real-time operating system is prevented from frequently switching between a kernel mode and a user mode, the hardware performance requirements on the non-real-time operating system are reduced in the process of component monitoring, the components of the server are monitored in the initial stage of service power-on, and the overall operation efficiency of the baseboard management controller is improved.
Drawings
Fig. 1 is a hardware block diagram of a mobile terminal of a monitoring method of a server according to an embodiment of the present application;
FIG. 2 is a schematic diagram of an embedded system of the present embodiment of the present application;
FIG. 3 is a schematic diagram of an alternative embedded system of the present embodiment of the present application;
FIG. 4 is a schematic diagram II of an alternative embedded system according to the present embodiment of the application;
FIG. 5 is a flow chart of a method of monitoring a server according to an embodiment of the present application;
FIG. 6 is a schematic diagram of an alternative server monitoring method according to an embodiment of the present application;
FIG. 7 is a flow chart of an alternative server monitoring method of an embodiment of the present application;
FIG. 8 is a timing diagram of monitoring of a server in the related art;
FIG. 9 is a timing diagram of monitoring of a server provided by an embodiment of the present application;
fig. 10 is a schematic structural diagram of a monitoring device of a server according to an embodiment of the present application;
fig. 11 is a schematic diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings in conjunction with the embodiments.
It should be noted that the terms "first," "second," and the like in the description and claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be performed in a mobile terminal, a computer terminal or similar computing device. Taking the mobile terminal as an example, fig. 1 is a block diagram of a hardware structure of the mobile terminal of a method for monitoring a server according to an embodiment of the present application. As shown in fig. 1, a mobile terminal may include one or more (only one is shown in fig. 1) processors 102 (the processor 102 may include, but is not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 for communication functions and an input-output device 108. It will be appreciated by those skilled in the art that the structure shown in fig. 1 is merely illustrative and not limiting of the structure of the mobile terminal described above. For example, the mobile terminal may also include more or fewer components than shown in fig. 1, or have a different configuration than shown in fig. 1.
The memory 104 may be used to store computer programs, such as software programs and modules of application software, such as computer programs corresponding to the server monitoring method in the embodiments of the present application, and the processor 102 executes the computer programs stored in the memory 104 to perform various functional applications and data processing, that is, implement the method described above. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located relative to the processor 102, which may be connected to the mobile terminal via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, simply referred to as NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is configured to communicate with the internet wirelessly.
In this embodiment, an embedded system is provided, which may be operated on the mobile terminal, and fig. 2 is a schematic diagram of the embedded system in this embodiment of the present application, as shown in fig. 2, where the embedded system may include:
a chip and at least two operating systems, wherein the chip comprises a processor 1102, a hardware controller 1104, a first bus 1106 and a second bus 1108, wherein the bandwidth of the first bus 1106 is higher than the bandwidth of the second bus 1108, and the first bus 1106 is configured in a multi-master multi-slave mode and the second bus 1108 is configured in a master multi-slave mode; at least two operating systems run based on the processor 1102; at least two operating systems communicate over a first bus 1106; at least two operating systems implement control of the hardware controller via a second bus 1108.
Wherein, the chip can be a BMC chip; the processor may be a multi-core processor, and the hardware controller may be configured to control an external device connected to a corresponding external interface.
And the BMC chip realizes interconnection among the on-chip ARM core, the storage unit and the controller hardware resource through the first bus and the second bus. The ARM core is interconnected with each controller through a second bus, so that interaction between the core and each controller is realized. Meanwhile, ARM cores are connected to a first bus (for example, the ARM cores can be connected through an AXI (Advanced eXtensible Interface) Bridge), and communication between the cores is realized through the first bus.
The first bus is configured in a multi-master multi-slave mode, which may be a bus used for communication among a plurality of processor cores of a processor, for example, an AHB (Advanced High Performance Bus, advanced high-performance bus), and the second bus is configured in a one-master multi-slave mode, which may be a bus used for control between a processor and a hardware controller, for example, an APB (Advanced Peripheral Bus, peripheral bus), the bandwidth of the first bus being higher than the bandwidth of the second bus.
In one exemplary embodiment, the AHB is configured in a multi-master (master) multi-slave (slave) mode, the master will first send a burst request to the arbiter, the arbiter decides the right to get the master access to the bus properly, the master will send data and control signals to the arbiter after getting the right, the arbiter will determine the corresponding slave path through address resolution, and then send the request to the corresponding destination. The data of the same response is parsed by the decoder and then returned to the corresponding master. Many-to-many access is achieved through this multiplexed mechanism.
In an exemplary embodiment, the APB is configured in a master-multiple slave mode, the APB is suspended under the AHB bus system, and transactions are converted between the AHB bus systems by the AHB-APB Bridge, where Bridge is the master of the APB, and other peripheral devices are slave. The data request can only be sent to slave by Master, and the slave returns corresponding response data to Master after receiving the request, and the process can realize one-to-many access, and the access does not involve arbitration and Decoder parsing operation in AHB bus.
The embedded system may include at least two operating systems, the at least two operating systems being based on the processor running, and processing resources of the processor being dynamically allocated to the at least two operating systems, the processing resources of the processor including a processor core, the at least two operating systems communicating over a first bus, the at least two operating systems implementing control of the hardware controller over a second bus.
The first operating system may be an operating system with a well-defined fixed time constraint, where all processing (task scheduling) needs to be done within the fixed time constraint, otherwise the system may be in error, which may be a real-time operating system (Real Time Operating System, RTOS for short, refers to an operating system that can accept and process with a sufficiently fast speed when external events or data are generated, and whose processing results can control the production process or make a fast response to the processing system within a specified time, schedule all available resources to complete real-time tasks, and control all real-time tasks to run in coordination. The second operating system does not have the feature, and the second operating system generally adopts a fair task scheduling algorithm, when the number of threads/processes increases, the CPU time needs to be shared, task debugging has uncertainty, and can be called as a non-real-time operating system, for example, contiki, heliOS, linux (collectively called GNU/Linux, a set of freely-transmissible Unix-like operating systems) or the like, and can also be a non-real-time operating system in other embedded systems, wherein the Linux system is a multi-user, multi-task and multi-CPU supporting operating system based on POSIX (Portable Operating System Interface ).
In one exemplary embodiment, the hardware controller may include one or more of a corresponding controller of a chip peripheral device that may include, but is not limited to, at least one of: I2C (Inter-Integrated Circuit, a simple, bi-directional two-wire synchronous serial bus, requiring only two wires to transfer information between devices connected to the bus), USB (Universal Serial Bus ), UART (Universal Asynchronous Receiver/transceiver, universal asynchronous transceiver), ADC (Analog to Digital Converter, analog-to-digital converter), JTAG (Joint Test Action Group, joint test working group), RTC (Real Time Clock), GPIO (General Purpose Input/Output, universal input/Output), WDT (Watch Dog) virtual UART (Virtual UART), super I/O (Super I/O), SGPIO (Serial General Purpose Input/Output, serial universal input/Output), PWM (Pulse Width Modulation ), fantab (fan speed), timer (Clock), PECI (Platform Environment Control Interface ), mailBox (MailBox), and other types of controllers may also be included. The external interface may include one or more, and may include, but is not limited to, an external interface corresponding to any of the controllers described above.
Through the embedded system, the first operating system and the second operating system run based on the processor, and communication among the operating systems and control of the hardware controller are realized through buses with different functions. Because the first operating system and the second operating system are operated based on the same processor, the increase and the deployment of hardware devices are avoided, the system cost is reduced, and the operation between the processor resource support systems is reasonably utilized, so that the technical problem of lower operation efficiency of the operating systems can be solved, and the technical effect of improving the operation efficiency of the operating systems is achieved.
According to another aspect of the embodiments of the present application, there is further provided an embedded system, where the embedded system may be running on the BMC chip, and fig. 3 is a schematic diagram of an alternative embedded system according to the embodiment of the present application, as shown in fig. 3, where the embedded system may include:
the real-time operating system and the non-real-time operating system are operated on the processor, and the response speed of the real-time operating system is higher than that of the non-real-time operating system; the real-time operating system and the non-real-time operating system may be similar to those in the foregoing embodiments, and it should be noted that, in the running process of the embedded system, the operating system may be started first, and then, the different operating systems perform interaction of service data.
In an exemplary embodiment, the real-time operating system and the non-real-time operating system may be started sequentially, the real-time operating system may be started faster than the non-real-time operating system, the real-time operating system may be started simpler than the non-real-time operating system, the non-real-time operating system may be started first and then the non-real-time operating system may be operated to meet the condition required by the non-real-time operating system, or the service started by the non-real-time operating system may be accelerated, so that the multi-system may start and operate the service more efficiently and rapidly.
Alternatively, in this embodiment, the real-time operating system may be, but is not limited to being, booted by a boot program of the real-time operating system, and the non-real-time operating system may be, but is not limited to being, booted by a boot program of the non-real-time operating system. Alternatively, both may be booted by the same boot program.
In one exemplary embodiment, the real-time operating system boot may be, but is not limited to, directed in the following manner: the chip is started to be electrified, and a first processor core distributed for the real-time operating system in the processor is awakened by the processor; and executing a bootstrap program of the real-time operating system through the first processor core to guide the real-time operating system to start.
In one exemplary embodiment, the interaction process may be implemented by, but is not limited to, adopting a mode of combining a storage space and an interrupt request to transmit, transmitting data between operating systems through the storage space, and notifying instructions between each other through the interrupt request. Alternatively, in this embodiment, the service data interacted between the operating systems may be, but is not limited to, any data that needs to be transmitted between the systems during the operation of the operating system to run the operation service. Such as: process data for the business, result data for the business, etc.
In a component monitoring scenario of a server system, component monitoring of the server may be achieved through interaction between a real-time operating system and a non-real-time operating system, as shown in fig. 4, fig. 4 is a schematic diagram of an optional embedded system of the embodiment of the present application, after the real-time operating system is started, monitoring information of a component of the server may be obtained by the real-time operating system and stored in a storage space, the monitoring information may include temperature information collected by a temperature sensor, voltage information collected by a voltage sensor, a rotational speed of a fan, data of a disk array card, management engine data, power data, and the like, after the non-real-time operating system is started, the monitoring information is obtained from the storage space, and component monitoring service is performed based on the monitoring information, so that component monitoring efficiency is improved, and the component monitoring service may include interface presentation of the monitoring information, fan speed regulation, information reporting, log management, fault diagnosis, and the like.
Alternatively, in this embodiment, a storage space on the processor may be, but is not limited to, a storage location dedicated to the interaction process between the operating systems, which may be referred to as a shared memory. The information (such as a storage address) of the shared memory corresponding to the real-time operating system may be carried in an interrupt request for requesting the non-real-time operating system to read the service data from the storage space, where the non-real-time operating system responds to the interrupt request and reads the service data from the shared memory indicated by the interrupt request.
Optionally, in this embodiment, after the real-time operating system stores the monitoring information in the shared memory, if it is detected that the non-real-time operating system is started, a first interrupt notification message is sent to the non-real-time operating system, where the first interrupt notification message is used to indicate that the monitoring information is stored in the shared memory; after receiving the first interrupt notification message, the non-real-time operating system determines a target component monitoring service to be executed and determines target monitoring information required by executing the target component monitoring service; the non-real-time operating system acquires target monitoring information from the shared memory and executes component monitoring business based on the target monitoring information.
In this embodiment, the interrupt requests may be transmitted between systems by means of a software protocol, or may be transferred through a hardware module. Taking a hardware module mailbox form as an example to transmit an interrupt request, a mailbox channel can be established between the real-time operating system and the non-real-time operating system, service data is read and written through a storage space, and the interrupt request is transmitted through the mailbox channel.
According to the embodiment, under the condition that the power-on of the server is detected in the component monitoring scene of the server system, the baseboard management controller executes starting operation, the starting operation comprises starting the real-time operating system first and then starting the non-real-time operating system, and under the condition that the starting of the real-time operating system is finished, monitoring information of the component of the server is obtained and stored into the shared memory; and after the non-real-time operating system is started, acquiring monitoring information from the shared memory, and executing part monitoring service based on the monitoring information. The method solves the problems that the components of the server are monitored through a non-real-time operating system in the baseboard management controller, the requirement on hardware configuration performance is high, and the components are difficult to monitor in the initial stage of service power-on.
In this embodiment, a substrate controller is provided, on which a real-time operating system and a non-real-time operating system are running, where the real-time operating system and the non-real-time operating system implement a server monitoring method of any one of the above.
After the non-real-time operation system is started, the monitoring information is obtained from the storage space, and the component monitoring service is executed based on the monitoring information, so that the component monitoring efficiency is improved.
In an exemplary embodiment, a plurality of first bus controllers are arranged in the baseboard management controller, different first bus controllers are connected with second bus controllers of different server components through communication lines, bus communication protocols used by the connected first bus controllers and the second bus controllers are the same, and monitoring information of the components required by server monitoring is obtained by controlling the first bus controllers and the second bus controllers to read and write hardware registers of the components of the server.
The device comprises a substrate management controller, a hardware register and a hardware register, wherein the substrate management controller is provided with a plurality of first bus controllers, such as a PCIE controller, an I2C/I3C controller and an ADC controller, the monitored component is also provided with a corresponding second bus controller, such as the PCIE controller, the I2C/I3C controller and the ADC controller, the controllers on two sides communicate through the same bus protocol, when the server monitoring is carried out, a real-time operating system sends a data acquisition instruction to the first bus controller, the first bus controller transmits the data acquisition instruction to the connected second bus controller through the bus communication protocol, the second bus controller reads and writes the hardware register of the component through the data acquisition instruction, so that the monitoring information of the component is obtained, and the monitoring information is returned through the bus communication protocol.
In this embodiment, a monitoring method running on a server is provided, and the monitoring method is applied to a baseboard management controller, where a real-time operating system and a non-real-time operating system run on the baseboard management controller, and fig. 5 is a flowchart of the monitoring method of the server according to the embodiment of the present application, as shown in fig. 5, and the flowchart includes the following steps:
in step S502, when power-up of the server is detected, the baseboard management controller performs a start operation.
After the server is powered on, the boot loader is started first, for example, the boot loader may be uboot, where uboot is stored on a flash, and after the server is powered on, the kernel is booted from the flash to the memory, and the kernel is started. In the starting process of uboot, the real-time operating system is started first and then the non-real-time operating system is started, so that the real-time operating system is started quickly and can enter the stage of normal operation quickly.
In step S504, when the real-time operating system in the baseboard management controller is started, the real-time operating system acquires the monitoring information of the components of the server, and stores the monitoring information into the shared memory.
It should be noted that, the real-time operating system may directly access the register of the component of the server, so as to read the monitoring information of the component, and compared with the monitoring information of the component obtained by the non-real-time operating system in the related art, the performance loss generated when the non-real-time operating system performs the switching between the kernel mode and the user mode can be avoided, and meanwhile, the obtaining efficiency of the monitoring information of the component is improved.
In one exemplary embodiment, the real-time operating system obtaining monitoring information of the components of the server and storing the monitoring information to the shared memory includes: the real-time operation system acquires monitoring information of the components of the server according to a first preset period, and writes the acquired monitoring information into the shared memory according to the first preset period, wherein the length of the first preset period is smaller than the starting time of the non-real-time operation system.
For example, the starting duration of the non-real-time operating system may be 5s, the first preset period may be 200ms, and since the length of the first preset period is far smaller than the starting duration of the non-real-time operating system, the real-time operating system may acquire the monitoring information of the component at a higher frequency in the starting stage of the non-real-time operating system, and store the acquired monitoring information in the shared memory.
In step S506, after the non-real-time operating system in the baseboard management controller is started, the non-real-time operating system acquires the monitoring information from the shared memory, and executes the component monitoring service based on the monitoring information.
In one exemplary embodiment, after storing the monitoring information to the shared memory, the method further comprises: and under the condition that the real-time operating system detects that the non-real-time operating system is started, sending a first interrupt notification message to the non-real-time operating system, wherein the first interrupt notification message is used for indicating that the monitoring information is stored in the shared memory.
That is, the real-time operating system saves the acquired monitoring information into the shared memory. After waiting for the non-real-time operation to be completely started, notifying the non-real-time operation system by sending a first interrupt notification message, and after receiving the first interrupt notification message, the non-real-time operation system acquires monitoring information from the shared memory when the monitoring information of the component is needed in the operation business process. Compared with the prior art that the monitoring information of the component is obtained through the non-real-time operating system, the hardware register is accessed by the real-time operating system in the initial power-on stage of the server, the monitoring information of the component is obtained and written into the shared memory, and the non-real-time operating system can directly obtain the monitoring information from the shared memory and operate the actual service, so that the problem that the component is in a non-monitoring state in the starting stage due to slow starting of the non-real-time operating system can be avoided, and the overall operation efficiency of the server system is improved through a processing mode of separating the bottom layer operation from the upper layer application.
In an exemplary embodiment, a plurality of first bus controllers are disposed in the baseboard management controller, different first bus controllers are connected with second bus controllers of different components through communication lines, bus communication protocols used by the connected first bus controllers and the second bus controllers are the same, and the real-time operating system obtaining monitoring information of the components of the server includes: the real-time operating system reads and writes the hardware registers of the components through the first bus controller and the second bus controller, and acquires the monitoring information of the components.
In this embodiment, different controllers are set in the baseboard management controller, for example, a high-speed serial computer expansion bus controller, a two-wire synchronous serial bus controller, a digital-to-analog conversion controller, and a platform environment type control interface controller, where the controllers are connected to specific components, and the controllers are also at opposite ends, and the controllers at both sides communicate via a bus protocol, and the real-time operating system instructs the controllers to send and receive messages to drive the buses to communicate, and reads and writes the registers, so as to obtain the monitoring information of the components.
In one exemplary embodiment, the real-time operating system reads and writes hardware registers of the component through the first bus controller and the second bus controller, and acquiring monitoring information of the component includes: the real-time operation system sends a data acquisition instruction to a first bus controller, the first bus controller transmits the data acquisition instruction to a second bus controller connected with the first bus controller through a bus communication protocol, the second bus controller reads and writes a hardware register of the component through the data acquisition instruction to obtain monitoring information of the component, and the monitoring information is returned through the bus communication protocol.
The hardware registers refer to registers of components of the server, and may be registers of hardware devices such as a temperature sensor, a voltage sensor, a fan, and a disk array, for example. After the server is powered on, the hardware register is initialized, monitoring information of the component is stored in the hardware register in the running process of the server, and the real-time operating system can acquire the monitoring information of the component from the hardware register.
The real-time operating system sends a data acquisition instruction to the first bus controller, wherein the data acquisition instruction comprises data to be read, for example, temperature, voltage and current of the GPU network card need to be read, the first bus controller transmits the data acquisition instruction to the connected second bus controller through a bus communication protocol, and the second bus controller reads and writes a hardware register of the GPU network card through the data acquisition instruction to acquire current and voltage information.
It should be noted that, the characteristics of the components of the server are different, the requirements on the speed required for information interaction are different, different bus protocols are applicable to different components, and in an exemplary embodiment, the real-time operating system reads and writes the hardware registers of the components through the first bus controller and the second bus controller, and acquiring the monitoring information of the components at least includes one of the following: the real-time operation system reads and writes the hardware registers of the network card and the disk array card through a first high-speed serial computer expansion bus controller on the baseboard management controller and a second high-speed serial computer expansion bus controller on the component, and acquires monitoring information of the network card and the disk array card; the real-time operation system acquires sensor data and monitoring information of the graphic processor through a first two-wire synchronous serial bus controller on the baseboard management controller and a hardware register of a sensor of a read-write component of the second two-wire synchronous serial bus controller on the component and a hardware register of the graphic processor; the real-time operation system reads and writes the hardware register of the voltage stabilizer chip through a first digital-to-analog conversion controller on the baseboard management controller and a second digital-to-analog conversion controller on the component to acquire monitoring information of the voltage stabilizer chip; the real-time operating system reads the hardware register of the central processing unit through the first platform environment type control interface controller on the substrate management controller and the second platform environment type control interface controller on the component to acquire the monitoring information of the central processing unit.
Fig. 6 is a schematic diagram of an alternative method for monitoring a server according to an embodiment of the present application, as shown in fig. 6, a real-time operating system may communicate with devices such as a network card, a RAID (Redundant Arrays of Independent Disks, disk array) card, etc. on a PCIE bus through a PCIE (peripheral component interconnect express, a high-speed serial computer expansion bus standard) controller, and obtain monitoring information such as temperature, power consumption, failure, etc. of the devices from a hardware register. The real-time operating system can also communicate with the sensor equipment on the I2C/I3C bus by operating the I2C/I3C controller to acquire monitoring information such as temperature, voltage, current and the like of the equipment. The real-time operating system may also obtain monitoring information of the VR chip (Voltage Regulator, voltage regulator chip) through an ADC (Analog to Digital Converter, analog-to-digital converter) controller. The real-time operating system can also acquire monitoring information such as the temperature, faults and the like of the CPU through the PECI controller.
Through the embodiment, the real-time operating system directly operates the bus controllers such as PCIE, I2C, I3C, ADC, PECI and the like, and the monitoring information is acquired from the hardware register of the component through the communication of the bus controllers and the component, so that the acquisition efficiency of the monitoring information is improved, and the server system can be more rapidly solved when faults occur.
In one exemplary embodiment, before the non-real-time operating system obtains the monitoring information from the shared memory, the method further comprises: starting an inter-core communication process and starting a part monitoring service process; performing component monitoring traffic based on the monitoring information includes: the non-real-time operating system communicates with the real-time operating system based on the inter-core communication process and performs the component monitoring service based on the component monitoring service process.
It should be noted that, the non-real-time operating system running synchronously with the real-time operating system needs to be started in a few minutes, and after the kernel startup is completed, the inter-core communication process, the component monitoring process and the like are completed, the non-real-time operating system can directly obtain the monitoring information of the required component from the shared memory, and run the specific service based on the monitoring information.
In one exemplary embodiment, a non-real time operating system obtains monitoring information from a shared memory and performs component monitoring services based on the monitoring information comprising: after receiving the first interrupt notification message, the non-real-time operating system determines a target component monitoring service to be executed and determines target monitoring information required by executing the target component monitoring service; the non-real-time operating system acquires target monitoring information from the shared memory and executes component monitoring business based on the target monitoring information.
The first interrupt notification message is used for indicating that the monitoring information is stored in the shared memory, and the non-real-time operating system can acquire the monitoring information of the component from the shared memory after receiving the first interrupt notification message, so as to perform specific service.
In one exemplary embodiment, performing component monitoring traffic based on the target monitoring information includes at least one of: displaying target monitoring information on a monitoring interface; performing component fault diagnosis based on the target monitoring information; under the condition that the abnormal monitoring information exists in the target monitoring information, sending out alarm information and/or executing reporting operation on the abnormal monitoring information; and recording server log information associated with the target monitoring information.
For example, the target component monitoring service is to display monitoring information on the monitoring interface, and the required target monitoring information may be monitoring information of all components, where the non-real-time operating system obtains monitoring information of all components from the shared memory, and displays the monitoring information on the monitoring interface.
For another example, the target component monitoring service alarms or reports the abnormal monitoring information, and the required target monitoring information can be the abnormal monitoring information and related component information thereof, and the abnormal monitoring information and related component information thereof can be acquired in the shared memory to alarm or report.
For another example, if the target component monitoring service is to record the server log information associated with the monitoring information, the required target monitoring information may be the monitoring information of all components, and the non-real-time operating system acquires the monitoring information of all components from the shared memory and records the server log information associated with the monitoring information.
In the related art, monitoring information of components is acquired through a non-real-time operating system, because the starting process of the non-real-time operating system is time-consuming, the server needs to be electrified to acquire the monitoring information of various components for a period of minutes, the whole server is in a non-monitoring state in the first few minutes of the electrification of the server, and temperature data acquired by a temperature sensor cannot be acquired, so that the rotating speed of a fan cannot be controlled through a regulation algorithm based on the temperature data, the server is easy to overheat, and the components in the server are damaged. In one exemplary embodiment, after the real-time operating system obtains the monitoring information of the components of the server, the method further comprises: the real-time operating system calculates a first rotating speed of a fan of the server according to the temperature information in the monitoring information, and controls the fan to operate according to the first rotating speed.
Because the server can be controlled within 5 seconds from power-on to normal operation of the real-time operating system, in the embodiment, the characteristic that the non-real-time operating system is started quickly is utilized, the real-time operating system is controlled to obtain key information such as temperature, voltage, current and fan of the server at high frequency after normal operation, the regulation and control of the fan rotating speed of the server mainly depend on the temperature information, after the real-time operating system obtains effective temperature information, the first rotating speed of the fan is calculated through a fan regulation and control algorithm, the fan is controlled to work according to the first rotating speed, and the fact that the whole server is in a state that the fan rotating speed is controllable within a few seconds after power-on is ensured. Compared with the prior art that the rotating speed of the fan is controlled only through the non-real-time operating system, the situation that the non-real-time operating system cannot realize fan control in the self-starting stage and the server is over-heated is avoided, and therefore the operation safety of the server in the starting stage is ensured.
In one exemplary embodiment, after the non-real-time operating system obtains the monitoring information from the shared memory, the method further comprises: the non-real-time operation system calculates a second rotating speed of the fan of the server according to the temperature information in the monitoring information, and adjusts the rotating speed of the fan controlled by the second rotating speed from the first rotating speed to the second rotating speed.
In the initial stage of power-on of the server, under the condition that a non-real-time operating system is not started, the real-time operating system started first can acquire temperature information of the server, fan control is realized based on the temperature information, after the real-time operating system is started, temperature data stored in a shared memory by the real-time operating system are read, a second rotating speed of the fan is calculated through a fan regulation algorithm, the fan is controlled to work according to the second rotating speed, and therefore the running stage of the server after power-on is in a state with controllable fan rotating speed, the situation that the server is overtemperature is avoided, and running safety of the server in the running stage is guaranteed.
In order to improve the processing efficiency of the anomaly monitoring information, in an exemplary embodiment, after the real-time operating system acquires the monitoring information of the component of the server, the method further includes: the real-time operating system judges whether abnormal monitoring information exists in the monitoring information; and under the condition that the abnormal monitoring information exists in the monitoring information, the real-time operating system sends a second interrupt notification message to the non-real-time operating system, wherein the second interrupt notification message carries the abnormal monitoring information.
It should be noted that, the main function of the component monitoring is to monitor and process the abnormal situation, because the real-time operating system has low cost and high information acquisition frequency, besides saving the acquired monitoring information in the shared memory, waiting for the non-real-time operating system to acquire the monitoring information of the component from the shared memory, the real-time operating system can also identify the abnormal monitoring information and notify the non-real-time operating system to process the abnormal monitoring information in time in an interrupt mode.
In one exemplary embodiment, the real-time operating system determining whether the anomaly monitoring information exists in the monitoring information includes: judging whether component information exceeding a preset threshold value exists in the monitoring information, wherein the threshold values of different components are different; and determining that abnormal monitoring information exists in the monitoring information under the condition that the component information exceeding the preset threshold value exists.
The preset threshold value may be an upper limit value or a lower limit value, and the different component monitoring information may be provided with threshold values, for example, the monitoring information may be a temperature, the corresponding threshold value may be a temperature upper limit value, the monitoring information may be a voltage value, the corresponding threshold value may be a voltage upper limit value and a voltage lower limit value, the monitoring information may be a wind speed of the fan, and the corresponding threshold value may be a wind speed upper limit value.
In one exemplary embodiment, a non-real time operating system obtains monitoring information from a shared memory and performs component monitoring services based on the monitoring information comprising: after receiving the second interrupt notification message, the non-real-time operating system analyzes the abnormal event indicated by the abnormal monitoring information and executes a coping strategy for the abnormal event.
For example, the abnormal monitoring information is temperature abnormal monitoring information, after receiving an interrupt notification message sent by the real-time operating system, the non-real-time operating system analyzes an overtemperature event indicated by the temperature abnormal monitoring information, and executes a coping strategy for increasing the rotating speed of the fan, so that the temperature inside the server is reduced rapidly, damage to the components due to overhigh temperature is avoided, and a coping strategy for reporting an alarm can be executed, so that an upper layer application can learn the overtemperature event in time.
According to the embodiment, the real-time operating system timely informs the non-real-time operating system after the abnormal monitoring information exceeding the threshold is identified, and the non-real-time operating system can timely perform the processing of regulation and control processing, alarm reporting and the like based on the abnormal monitoring information, so that the problem that the non-real-time operating system obtains the monitoring information from the shared memory and performs abnormal condition analysis and the processing is not timely is solved, and the reliability and the stability of the server system are effectively improved.
In an exemplary embodiment, the method further comprises: sending a heartbeat message to the non-real-time operation according to a second preset period under the condition that the real-time operation system in the baseboard management controller is started, and detecting whether a progress state fed back by the non-real-time operation system is received or not; and under the condition that the process state fed back by the non-real-time operating system is received, determining the running condition of the non-real-time operating system based on the process state.
In an exemplary embodiment, the method further comprises: under the condition that the real-time operating system in the baseboard management controller is started, if the real-time operating system detects that the real-time operating system and/or the non-real-time operating system generates an abnormal running event, the baseboard management controller executes restarting operation.
The real-time operating system can identify abnormal monitoring information, can detect operation abnormal events of the real-time operating system and the non-real-time operating system, and can control the whole baseboard management controller to restart under the condition of finding serious operation abnormal events, so that the problem that the real-time operating system and the non-real-time operating system cannot normally operate and the component monitoring service cannot normally and abnormally execute is avoided.
For example, in the normal running stage of the real-time operating system and the non-real-time operating system, the real-time operating system may periodically send heartbeat messages to the non-real-time operating system, detect whether the process state fed back by the non-real-time operating system is received, and indicate that the non-real-time operating system is running abnormally under the condition that the process state is not received.
Fig. 7 is a flowchart of an optional method for monitoring a server according to an embodiment of the present application, as shown in fig. 7, where the method includes:
after the server is electrified, the boot loader is started first, and in the starting process of the boot loader, the real-time operating system is started first and then the non-real-time operating system is started. After the real-time operation and normal operation, initializing a hardware register of the component, periodically acquiring key information such as the temperature, the voltage, the current and the fan of the server component from the hardware register at high frequency, writing the acquired data into a shared memory, calculating the rotating speed of the fan based on the temperature data and a fan regulation algorithm, and controlling the rotating speed of the fan. In addition, in the normal running stage of the real-time operation and the non-real-time operation, the real-time operation system also periodically sends heartbeat messages to the non-real-time operation system, and the real-time operation system controls the whole system to restart under the condition that the process state replied by the non-real-time operation system is not received or other serious abnormal events are detected.
The non-real-time system running synchronously with the real-time operating system needs to be started for a few minutes, and after the kernel is started, the inter-core communication process, the component monitoring process and the like are started, the non-real-time operating system acquires the required component monitoring information from the shared memory, and runs specific component monitoring services, such as interface presentation, alarm reporting, key log recording and the like.
Fig. 8 is a timing chart of monitoring of a server in the related art, as shown in fig. 8, in the conventional monitoring method of a server, component monitoring is performed through a non-real-time operating system single system, because the starting process of the whole non-real-time operating system is time consuming, it takes several minutes from the time of powering up the server to the time of being able to acquire various monitoring information, and the whole server is in an unsupervised controlled state during the first several minutes of the power-up start stage.
Fig. 9 is a timing chart of monitoring of a server according to an embodiment of the present application, where, as shown in fig. 9, a real-time operating system and a non-real-time operating system run simultaneously, when a power-up of the server is detected, a baseboard management controller performs a start operation, and when the real-time operating system in the baseboard management controller is started, the real-time operating system obtains a read-write permission to a hardware bus, and uses features of rapidness, lightweight, timely response, and the like of the start of the real-time operating system to obtain monitoring information of a component of the server, and store the monitoring information to a shared memory, and after the start of the non-real-time operating system in the baseboard management controller is completed, the non-real-time operating system obtains the monitoring information from the shared memory, and performs a component monitoring service based on the monitoring information. Therefore, the problem that the components of the server are difficult to monitor in the initial stage of service power-on due to high requirements on hardware configuration performance by the non-real-time operating system in the baseboard management controller can be solved, the non-real-time operating system focuses on the control of a hardware bus to process specific business, the isolation of a software layer is realized, the frequent switching of kernel states and user states of the non-real-time operating system is avoided, the hardware performance requirements on the non-real-time operating system are reduced in the process of component monitoring, the monitoring state of the whole time domain of the server is realized, the problem that the single system of the traditional server is in the whole non-monitoring state in the initial stage of power-on of the server is solved, the components of the server are monitored in the initial stage of power-on of the server, and the overall operation efficiency of the baseboard management controller is improved.
From the description of the above embodiments, it will be clear to a person skilled in the art that the method according to the above embodiments may be implemented by means of software plus the necessary general hardware platform, but of course also by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk), comprising several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method described in the embodiments of the present application.
The embodiment also provides a monitoring device for a server, which is used for implementing the foregoing embodiments and preferred embodiments, and is not described in detail. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
Fig. 10 is a schematic structural diagram of a monitoring device of a server according to an embodiment of the present application, which is applied to a baseboard management controller, and the baseboard management controller is provided with a real-time operating system and a non-real-time operating system, as shown in fig. 10, and the device includes:
a startup unit 1002, configured to control the baseboard management controller to perform a startup operation when power-up of the server is detected;
a first obtaining unit 1004, configured to obtain, by using the real-time operating system, monitoring information of a component of the server and store the monitoring information to the shared memory when the real-time operating system in the baseboard management controller is started;
the second obtaining unit 1006 is configured to obtain, after the non-real-time operating system in the baseboard management controller is started, monitoring information from the shared memory through the non-real-time operating system, and execute the component monitoring service based on the monitoring information.
In an exemplary embodiment, the first obtaining unit 1004 includes a first obtaining module, where the first obtaining module is configured to control the real-time operating system to obtain monitoring information of a component of the server according to a first preset period, and write the obtained monitoring information into the shared memory according to the first preset period, where a length of the first preset period is less than a start duration of the non-real-time operating system.
In an exemplary embodiment, a plurality of first bus controllers are disposed in the baseboard management controller, different first bus controllers are connected to second bus controllers of different components through communication lines, bus communication protocols used by the connected first bus controllers and second bus controllers are the same, and the first acquiring unit 1004 includes: the second acquisition module is used for controlling the real-time operating system to read and write the hardware registers of the components through the first bus controller and the second bus controller and acquiring the monitoring information of the components.
In an exemplary embodiment, the second obtaining module is configured to control the real-time operating system to send a data obtaining instruction to the first bus controller, control the first bus controller to transmit the data obtaining instruction to the connected second bus controller through a bus communication protocol, control the second bus controller to read and write the hardware register of the component through the data obtaining instruction, obtain monitoring information of the component, and return the monitoring information through the bus communication protocol.
In one exemplary embodiment, the second acquisition module includes at least one of: the first acquisition submodule is used for controlling the real-time operating system to read and write the hardware registers of the network card and the disk array card through the first high-speed serial computer expansion bus controller on the baseboard management controller and the second high-speed serial computer expansion bus controller on the component, and acquiring monitoring information of the network card and the disk array card; the second acquisition submodule is used for controlling the real-time operating system to acquire sensor data and monitoring information of the graphic processor through a hardware register of a sensor of the first two-wire synchronous serial bus controller on the baseboard management controller and a hardware register of the graphic processor of the second two-wire synchronous serial bus controller read-write component on the component; the third acquisition sub-module is used for controlling the real-time operating system to read and write the hardware register of the voltage stabilizer chip through the first digital-to-analog conversion controller on the baseboard management controller and the second digital-to-analog conversion controller on the component, so as to acquire the monitoring information of the voltage stabilizer chip; and the fourth acquisition sub-module is used for controlling the real-time operating system to read the hardware register of the central processor through the first platform environment type control interface controller on the substrate management controller and the second platform environment type control interface controller on the component to acquire the monitoring information of the central processor.
In an exemplary embodiment, the apparatus further comprises: the judging unit is used for controlling the real-time operating system to judge whether abnormal monitoring information exists in the monitoring information after the real-time operating system acquires the monitoring information of the components of the server; the first sending unit is used for controlling to send a second interrupt notification message to the non-real-time operating system under the condition that the abnormal monitoring information exists in the monitoring information, wherein the second interrupt notification message carries the abnormal monitoring information.
In one exemplary embodiment, the judging unit includes: the judging module is used for judging whether component information exceeding a preset threshold value exists in the monitoring information or not, wherein the threshold values of different components are different; the first determining module is used for determining that abnormal monitoring information exists in the monitoring information under the condition that the component information exceeding the preset threshold value exists.
In one exemplary embodiment, the second acquisition unit 1006 includes: the analysis module is used for controlling the non-real-time operating system to analyze the abnormal event indicated by the abnormal monitoring information after receiving the second interrupt notification message and executing the coping strategy for the abnormal event.
In an exemplary embodiment, the apparatus further comprises: the second sending unit is used for sending a first interrupt notification message to the non-real-time operating system when the real-time operating system detects that the non-real-time operating system is started after the monitoring information is stored in the shared memory, wherein the first interrupt notification message is used for indicating that the monitoring information is stored in the shared memory.
In one exemplary embodiment, the second acquisition unit 1006 includes: the second determining module is used for controlling the non-real-time operating system to determine target component monitoring service to be executed after receiving the first interrupt notification message and determining target monitoring information required by executing the target component monitoring service; and the execution module is used for controlling the non-real-time operating system to acquire target monitoring information from the shared memory and executing the component monitoring service based on the target monitoring information.
In one exemplary embodiment, performing component monitoring traffic based on the target monitoring information includes at least one of: displaying target monitoring information on a monitoring interface; performing component fault diagnosis based on the target monitoring information; under the condition that the abnormal monitoring information exists in the target monitoring information, sending out alarm information and/or executing reporting operation on the abnormal monitoring information; and recording server log information associated with the target monitoring information.
In an exemplary embodiment, the apparatus further comprises: the first fan control unit is used for controlling the real-time operating system to calculate the first rotating speed of the fan of the server according to the temperature information in the monitoring information after the real-time operating system acquires the monitoring information of the components of the server, and controlling the fan to operate according to the first rotating speed; the second fan control unit is used for controlling the non-real-time operating system to calculate the second rotating speed of the fan of the server according to the temperature information in the monitoring information after the non-real-time operating system acquires the monitoring information from the shared memory, and adjusting the rotating speed of the fan controlled by the second rotating speed from the first rotating speed to the second rotating speed.
In an exemplary embodiment, the apparatus further comprises: the starting unit is used for starting the inter-core communication process and starting the part monitoring service process before the non-real-time operating system acquires the monitoring information from the shared memory; the second acquisition unit 1006 includes: and the communication module is used for controlling the non-real-time operating system to communicate with the real-time operating system based on the inter-core communication process and executing the component monitoring service based on the component monitoring service process.
In an exemplary embodiment, the apparatus further comprises: the detection unit is used for sending a heartbeat message to the non-real-time operation according to a second preset period under the condition that the real-time operation system in the baseboard management controller is started, and detecting whether a progress state fed back by the non-real-time operation system is received or not; and the running condition determining unit is used for determining the running condition of the non-real-time operating system based on the process state under the condition that the process state fed back by the non-real-time operating system is received.
In an exemplary embodiment, the apparatus further comprises: and the restarting unit is used for controlling the baseboard management controller to execute restarting operation under the condition that the real-time operating system in the baseboard management controller is started up, and if the real-time operating system detects that the real-time operating system and/or the non-real-time operating system generates an abnormal operation event.
It should be noted that each of the above modules may be implemented by software or hardware, and for the latter, it may be implemented by, but not limited to: the modules are all located in the same processor; alternatively, the above modules may be located in different processors in any combination.
Embodiments of the present application also provide a computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
In one exemplary embodiment, the computer readable storage medium may include, but is not limited to: a usb disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing a computer program.
Embodiments of the present application also provide an electronic device, and fig. 11 is a schematic diagram of an electronic device according to an embodiment of the present application, as shown in fig. 11, including a memory and a processor, where the memory stores a computer program, and the processor is configured to execute the computer program to perform steps in any of the method embodiments described above.
In an exemplary embodiment, the electronic device may further include a transmission device connected to the processor, and an input/output device connected to the processor.
Specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the exemplary implementation, and this embodiment is not described herein.
It will be appreciated by those skilled in the art that the modules or steps of the application described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may be implemented in program code executable by computing devices, so that they may be stored in a storage device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than that shown or described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps of them may be fabricated into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
The foregoing description is only of the preferred embodiments of the present application and is not intended to limit the same, but rather, various modifications and variations may be made by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application should be included in the protection scope of the present application.

Claims (18)

1. A server monitoring method, applied to a baseboard management controller, where a real-time operating system and a non-real-time operating system run on the baseboard management controller, the method comprising:
under the condition that the power-on of the server is detected, the baseboard management controller executes starting operation, wherein the real-time operating system is started first, and then the non-real-time operating system is started;
under the condition that the real-time operating system in the baseboard management controller is started, the real-time operating system acquires monitoring information of components of the server and stores the monitoring information into a shared memory;
after the non-real-time operation system in the baseboard management controller is started, the non-real-time operation system acquires the monitoring information from the shared memory and executes part monitoring service based on the monitoring information;
The base plate management controller is provided with a plurality of first bus controllers, different first bus controllers are connected with second bus controllers of different components through communication lines, bus communication protocols used by the connected first bus controllers and the second bus controllers are the same, and the real-time operating system obtaining the monitoring information of the components of the server comprises the following steps: the real-time operating system reads and writes the hardware registers of the components through the first bus controller and the second bus controller to acquire the monitoring information of the components, wherein the monitoring information at least comprises one of the following components:
the real-time operation system reads and writes a network card and a hardware register of a disk array card through a first high-speed serial computer expansion bus controller on the baseboard management controller and a second high-speed serial computer expansion bus controller on the component, and acquires monitoring information of the network card and the disk array card;
the real-time operating system acquires sensor data and monitoring information of the graphic processor through a hardware register of a sensor of a read-write component of a first two-wire synchronous serial bus controller on the baseboard management controller and a hardware register of the graphic processor of the second two-wire synchronous serial bus controller on the component;
The real-time operating system reads and writes a hardware register of a voltage stabilizer chip through a first digital-to-analog conversion controller on the baseboard management controller and a second digital-to-analog conversion controller on the component to acquire monitoring information of the voltage stabilizer chip;
the real-time operating system reads a hardware register of a central processing unit through a first platform environment type control interface controller on the baseboard management controller and a second platform environment type control interface controller on the component to acquire monitoring information of the central processing unit;
after the real-time operating system obtains the monitoring information of the components of the server, the method further comprises: the real-time operating system judges whether abnormal monitoring information exists in the monitoring information or not; and under the condition that the abnormal monitoring information exists in the monitoring information, the real-time operating system sends a second interrupt notification message to the non-real-time operating system, wherein the second interrupt notification message carries the abnormal monitoring information.
2. The method of claim 1, wherein the real-time operating system obtaining monitoring information of the components of the server and storing the monitoring information to a shared memory comprises:
The real-time operating system acquires monitoring information of the components of the server according to a first preset period, and writes the acquired monitoring information into the shared memory according to the first preset period, wherein the length of the first preset period is smaller than the starting duration of the non-real-time operating system.
3. The method of claim 1, wherein the real-time operating system reads and writes hardware registers of the components through the first bus controller and the second bus controller, and wherein obtaining monitoring information of the components comprises:
the real-time operation system sends a data acquisition instruction to the first bus controller, the first bus controller transmits the data acquisition instruction to a connected second bus controller through a bus communication protocol, the second bus controller reads and writes a hardware register of a component through the data acquisition instruction to obtain monitoring information of the component, and the monitoring information is returned through the bus communication protocol.
4. The method of claim 1, wherein the real-time operating system determining whether abnormal monitoring information exists in the monitoring information comprises:
judging whether component information exceeding a preset threshold value exists in the monitoring information, wherein the threshold values of different components are different;
And under the condition that the component information exceeding a preset threshold value exists, determining that the abnormal monitoring information exists in the monitoring information.
5. The method of claim 1, wherein the non-real time operating system obtaining the monitoring information from the shared memory and performing component monitoring services based on the monitoring information comprises:
and after receiving the second interrupt notification message, the non-real-time operating system analyzes the abnormal event indicated by the abnormal monitoring information and executes a coping strategy for the abnormal event.
6. The method of claim 1, wherein after storing the monitoring information to the shared memory, the method further comprises:
and under the condition that the real-time operating system detects that the non-real-time operating system is started, sending a first interrupt notification message to the non-real-time operating system, wherein the first interrupt notification message is used for indicating that the monitoring information is stored in the shared memory.
7. The method of claim 6, wherein the non-real-time operating system obtaining the monitoring information from the shared memory and performing component monitoring services based on the monitoring information comprises:
After receiving the first interrupt notification message, the non-real-time operating system determines a target component monitoring service to be executed and determines target monitoring information required by executing the target component monitoring service;
and the non-real-time operating system acquires the target monitoring information from the shared memory and executes component monitoring service based on the target monitoring information.
8. The method of claim 7, wherein performing component monitoring traffic based on the target monitoring information comprises at least one of:
displaying the target monitoring information on a monitoring interface;
performing component fault diagnosis based on the target monitoring information;
under the condition that the abnormal monitoring information exists in the target monitoring information, sending out alarm information and/or executing reporting operation on the abnormal monitoring information;
and recording server log information associated with the target monitoring information.
9. The method of claim 1, wherein after the real-time operating system obtains the monitoring information of the components of the server, the method further comprises:
the real-time operating system calculates a first rotating speed of a fan of the server according to the temperature information in the monitoring information, and controls the fan to operate according to the first rotating speed;
After the non-real-time operating system obtains the monitoring information from the shared memory, the method further comprises:
and the non-real-time operation system calculates a second rotating speed of a fan of the server according to the temperature information in the monitoring information, and adjusts the rotating speed of the fan from the first rotating speed to the second rotating speed.
10. The method of claim 1, wherein prior to the non-real-time operating system obtaining the monitoring information from the shared memory, the method further comprises: starting an inter-core communication process and starting a part monitoring service process;
executing the component monitoring service based on the monitoring information includes: the non-real-time operating system communicates with the real-time operating system based on the inter-core communication process and executes the component monitoring service based on the component monitoring service process.
11. The method according to claim 1, wherein the method further comprises:
sending a heartbeat message to the non-real-time operation according to a second preset period under the condition that the real-time operation system in the baseboard management controller is started, and detecting whether a process state fed back by the non-real-time operation system is received or not;
And under the condition that the process state fed back by the non-real-time operating system is received, determining the running condition of the non-real-time operating system based on the process state.
12. The method according to claim 1, wherein the method further comprises:
and under the condition that the real-time operating system in the baseboard management controller is started, if the real-time operating system detects that the real-time operating system and/or the non-real-time operating system generate an abnormal operation event, the baseboard management controller executes restarting operation.
13. A baseboard controller, wherein a real-time operating system and a non-real-time operating system are running on the baseboard management controller, and the real-time operating system and the non-real-time operating system implement the server monitoring method according to any one of claims 1 to 12.
14. An embedded system, comprising: the system comprises a chip, a real-time operating system and a non-real-time operating system, wherein the chip comprises a processor;
the real-time operating system and the non-real-time operating system are run based on the processor, the real-time operating system and the non-real-time operating system implementing the server monitoring method according to any one of claims 1 to 12.
15. A server monitoring device, applied to a baseboard management controller, on which a real-time operating system and a non-real-time operating system are running, the device comprising:
the starting unit is used for controlling the baseboard management controller to execute starting operation under the condition that the power-on of the server is detected, wherein the real-time operating system is started first, and then the non-real-time operating system is started;
the first acquisition unit is used for acquiring monitoring information of the components of the server through the real-time operating system and storing the monitoring information into a shared memory under the condition that the real-time operating system in the baseboard management controller is started;
the second acquisition unit is used for acquiring the monitoring information from the shared memory through the non-real-time operating system after the non-real-time operating system in the baseboard management controller is started, and executing part monitoring service based on the monitoring information;
the substrate management controller is provided with a plurality of first bus controllers, different first bus controllers are connected with second bus controllers of different components through communication lines, bus communication protocols used by the connected first bus controllers and the second bus controllers are the same, and the first acquisition unit comprises: the second acquisition module is used for controlling the real-time operating system to read and write the hardware registers of the component through the first bus controller and the second bus controller, acquiring the monitoring information of the component, and the second acquisition module at least comprises one of the following components:
The first acquisition submodule is used for controlling the real-time operating system to read and write a network card and a hardware register of a disk array card through a first high-speed serial computer expansion bus controller on the baseboard management controller and a second high-speed serial computer expansion bus controller on the component, and acquiring monitoring information of the network card and the disk array card;
the second acquisition submodule is used for controlling the real-time operating system to acquire sensor data and monitoring information of the graphic processor through a hardware register of a sensor of a first two-wire synchronous serial bus controller on the baseboard management controller and a second two-wire synchronous serial bus controller on the component and a hardware register of the graphic processor;
the third acquisition sub-module is used for controlling the real-time operating system to read and write a hardware register of the voltage stabilizer chip through a first digital-to-analog conversion controller on the baseboard management controller and a second digital-to-analog conversion controller on the component, so as to acquire monitoring information of the voltage stabilizer chip;
a fourth obtaining sub-module, configured to control the real-time operating system to read a hardware register of a central processor through a first platform environment type control interface controller on the baseboard management controller and a second platform environment type control interface controller on the component, and obtain monitoring information of the central processor;
The judging unit is used for controlling the real-time operating system to judge whether abnormal monitoring information exists in the monitoring information after the real-time operating system acquires the monitoring information of the components of the server; the first sending unit is used for controlling the real-time operating system to send a second interrupt notification message to the non-real-time operating system under the condition that the monitoring information contains the abnormal monitoring information, wherein the second interrupt notification message carries the abnormal monitoring information.
16. A computer readable storage medium, characterized in that a computer program is stored in the computer readable storage medium, wherein the computer program, when executed by a processor, implements the server monitoring method according to any one of claims 1 to 12.
17. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the server monitoring method as claimed in any one of claims 1 to 12 when executing the computer program.
18. A chip comprising at least one of programmable logic circuitry and executable instructions, the chip operating in an electronic device for implementing the server monitoring method of any one of claims 1 to 12.
CN202311854756.8A 2023-12-29 2023-12-29 Server monitoring method and device, substrate controller and embedded system Active CN117555760B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311854756.8A CN117555760B (en) 2023-12-29 2023-12-29 Server monitoring method and device, substrate controller and embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311854756.8A CN117555760B (en) 2023-12-29 2023-12-29 Server monitoring method and device, substrate controller and embedded system

Publications (2)

Publication Number Publication Date
CN117555760A CN117555760A (en) 2024-02-13
CN117555760B true CN117555760B (en) 2024-04-12

Family

ID=89813031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311854756.8A Active CN117555760B (en) 2023-12-29 2023-12-29 Server monitoring method and device, substrate controller and embedded system

Country Status (1)

Country Link
CN (1) CN117555760B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115686877A (en) * 2021-07-27 2023-02-03 腾讯科技(深圳)有限公司 Data interaction method and device, storage medium and computing equipment
CN116521378A (en) * 2023-07-03 2023-08-01 苏州浪潮智能科技有限公司 Sensor access method and device of server and baseboard management controller
CN116541227A (en) * 2023-07-05 2023-08-04 苏州浪潮智能科技有限公司 Fault diagnosis method and device, storage medium, electronic device and BMC chip
CN116830082A (en) * 2023-04-28 2023-09-29 苏州浪潮智能科技有限公司 Startup control method and device of embedded system, storage medium and electronic equipment
CN116868167A (en) * 2023-04-28 2023-10-10 苏州浪潮智能科技有限公司 Operation control method and device of operating system, embedded system and chip
CN116881929A (en) * 2023-09-06 2023-10-13 苏州浪潮智能科技有限公司 Safety protection method and device, electronic equipment and substrate controller chip

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115686877A (en) * 2021-07-27 2023-02-03 腾讯科技(深圳)有限公司 Data interaction method and device, storage medium and computing equipment
CN116830082A (en) * 2023-04-28 2023-09-29 苏州浪潮智能科技有限公司 Startup control method and device of embedded system, storage medium and electronic equipment
CN116868167A (en) * 2023-04-28 2023-10-10 苏州浪潮智能科技有限公司 Operation control method and device of operating system, embedded system and chip
CN116521378A (en) * 2023-07-03 2023-08-01 苏州浪潮智能科技有限公司 Sensor access method and device of server and baseboard management controller
CN116541227A (en) * 2023-07-05 2023-08-04 苏州浪潮智能科技有限公司 Fault diagnosis method and device, storage medium, electronic device and BMC chip
CN116881929A (en) * 2023-09-06 2023-10-13 苏州浪潮智能科技有限公司 Safety protection method and device, electronic equipment and substrate controller chip

Also Published As

Publication number Publication date
CN117555760A (en) 2024-02-13

Similar Documents

Publication Publication Date Title
JP6530774B2 (en) Hardware failure recovery system
US8898517B2 (en) Handling a failed processor of a multiprocessor information handling system
US10102170B2 (en) System and method for providing input/output functionality by an I/O complex switch
US6282596B1 (en) Method and system for hot-plugging a processor into a data processing system
US7398401B2 (en) Method and apparatus for communicating information from an operating system based environment of a server blade to the chassis management module
US10049010B2 (en) Method, computer, and apparatus for migrating memory data
CN116541227B (en) Fault diagnosis method and device, storage medium, electronic device and BMC chip
US8661290B2 (en) Saving power in computing systems with redundant service processors
US7318171B2 (en) Policy-based response to system errors occurring during OS runtime
CN105302248A (en) Chip set and server system
US11366679B2 (en) Guest operating system wake-up method, device, electronic apparatus, and readable medium
US20030065861A1 (en) Dual system masters
CN116881929B (en) Safety protection method and device, electronic equipment and substrate controller chip
CN116302141B (en) Serial port switching method, chip and serial port switching system
CN116521209B (en) Upgrading method and device of operating system, storage medium and electronic equipment
CN117555760B (en) Server monitoring method and device, substrate controller and embedded system
CN115599617B (en) Bus detection method and device, server and electronic equipment
CN116701285A (en) Remote access control apparatus, remote access control method, remote access control device, and computer readable medium
CN116848519A (en) Method and device for generating hardware interface signal and electronic equipment
CN116868170A (en) Operation method and device of embedded system, embedded system and chip
CN112631872B (en) Exception handling method and device for multi-core system
US8312126B2 (en) Managing at least one computer node
US10782764B2 (en) Techniques of emulating an ACPI controller on a service processor
CN117472596B (en) Distributed resource management method, device, system, equipment and storage medium
CN115237849B (en) Dynamically reconfigurable and heterogeneous computing module and computing device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant