[go: up one dir, main page]

CN116466973B - Multi-concurrency firmware upgrading method, system, computer equipment and storage medium - Google Patents

Multi-concurrency firmware upgrading method, system, computer equipment and storage medium Download PDF

Info

Publication number
CN116466973B
CN116466973B CN202310453466.6A CN202310453466A CN116466973B CN 116466973 B CN116466973 B CN 116466973B CN 202310453466 A CN202310453466 A CN 202310453466A CN 116466973 B CN116466973 B CN 116466973B
Authority
CN
China
Prior art keywords
firmware
upgrade
upgrading
file
version
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
CN202310453466.6A
Other languages
Chinese (zh)
Other versions
CN116466973A (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.)
Shanghai Hexin Digital Technology Co ltd
Hexin Technology Co ltd
Original Assignee
Shanghai Hexin Digital Technology Co ltd
Hexin 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 Shanghai Hexin Digital Technology Co ltd, Hexin Technology Co ltd filed Critical Shanghai Hexin Digital Technology Co ltd
Priority to CN202310453466.6A priority Critical patent/CN116466973B/en
Publication of CN116466973A publication Critical patent/CN116466973A/en
Application granted granted Critical
Publication of CN116466973B publication Critical patent/CN116466973B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

The invention provides a multi-concurrency firmware upgrading method, a system, computer equipment and a storage medium, wherein the method comprises the following steps: responding to a multi-concurrency firmware upgrading request of a user side, and acquiring a corresponding multi-concurrency firmware upgrading packet according to a preset file transmission protocol; decompressing the multi-concurrency firmware upgrade package and generating a firmware version object shared by a plurality of processes; broadcasting a firmware version object generation signal to each preset firmware upgrading class object through interprocess communication so that each firmware upgrading class object executes multiple concurrent upgrading tasks and sends a corresponding firmware upgrading execution result signal; and responding to each firmware upgrade execution result signal, and carrying out corresponding upgrade prompt according to the firmware upgrade execution result. The invention supports concurrent upgrade of different firmware through the unified user interface, manages different firmware upgrade flows based on the object-oriented design idea while improving upgrade efficiency, effectively reduces the coupling between modules, and ensures stronger expansibility and easy maintenance.

Description

Multi-concurrency firmware upgrading method, system, computer equipment and storage medium
Technical Field
The present invention relates to the field of firmware upgrade technologies, and in particular, to a method, a system, a computer device, and a storage medium for upgrading multiple concurrent firmware.
Background
With the iterative upgrade of the embedded product, the corresponding firmware device also needs to be continuously upgraded and updated. The existing firmware upgrading method mainly comprises the steps of firstly selecting firmware to be upgraded, uploading a corresponding firmware upgrading packet to a certain upgrading system, and then upgrading the firmware of the type of equipment. However, this firmware upgrade method has the following problems, and it is difficult to effectively cope with the actual application demands: 1) For upgrading scenes of updating different firmware versions in batches, the application is extremely troublesome, the upgrading is required to be carried out manually one by one, the upgrading cannot be carried out concurrently, and the efficiency is low; 2) For the upgrade scene of the newly added different types of firmware, the development work of the new types of firmware upgrade is needed to be simultaneously added by a user end (such as a web front end or other user interfaces) and a back end upgrade system, so that a great deal of labor cost is consumed, the expandability is poor, and the maintenance is not easy.
Disclosure of Invention
The invention aims to provide a multi-concurrency firmware upgrading method, which supports concurrency upgrading of different types of firmware equipment through a unified user interface, manages different types of firmware upgrading processes based on an object-oriented design idea, solves the application defect of the existing firmware upgrading, improves the concurrency upgrading efficiency of different types of firmware, effectively reduces the coupling between modules, and ensures stronger expansibility and maintainability.
In order to achieve the above objective, it is necessary to provide a method, a system, a device and a medium for upgrading multiple concurrent firmware according to the above technical problems.
In a first aspect, an embodiment of the present invention provides a method for upgrading multiple concurrent firmware, where the method includes the following steps:
responding to a multi-concurrency firmware upgrading request of a user side, and acquiring a corresponding multi-concurrency firmware upgrading packet according to a preset file transmission protocol; the multi-concurrent firmware upgrade package comprises a plurality of firmware upgrade file packages and corresponding upgrade configuration files;
decompressing the multi-concurrency firmware upgrade package, and generating firmware version objects shared by a plurality of processes according to each firmware upgrade file package and corresponding upgrade configuration files;
broadcasting a firmware version object generation signal to each preset firmware upgrading class object through interprocess communication, so that each firmware upgrading class object executes multiple concurrent upgrading tasks according to the firmware version object generation signal and sends a corresponding firmware upgrading execution result signal;
responding to each firmware upgrade execution result signal, obtaining a corresponding firmware upgrade execution result, and carrying out corresponding upgrade prompt according to the firmware upgrade execution result.
Further, the preset file transfer protocol includes https protocol, ftp protocol or scp protocol.
Further, the generating step of the multi-concurrency firmware upgrade package includes:
determining firmware to be upgraded according to firmware upgrading requirements, and acquiring upgrading types of the firmware to be upgraded;
according to the upgrading type of each firmware to be upgraded, obtaining a firmware upgrading file packet required by a corresponding upgrading process, and setting a corresponding upgrading configuration file;
and packing and compressing each firmware upgrade file packet and the corresponding upgrade configuration file to obtain the multi-concurrency firmware upgrade packet.
Further, the upgrade type includes a firmware class upgrade or a command upgrade.
Further, the step of obtaining the firmware upgrade file packet required by the corresponding upgrade process according to the upgrade type of each firmware to be upgraded includes:
when the upgrade type is firmware upgrade, obtaining a firmware upgrade file required by a corresponding upgrade flow, and packaging to generate a firmware upgrade file packet;
when the upgrade type is command upgrade, a corresponding firmware upgrade file and a firmware upgrade tool are obtained, and a firmware upgrade file packet is generated by packaging.
Further, the firmware version object comprises a firmware version number, a firmware type, a firmware upgrade type, upgrade verification information and a firmware upgrade file packet path;
the step of generating firmware version objects shared by a plurality of processes according to the firmware upgrade file packages and the corresponding upgrade configuration files comprises the following steps:
according to each upgrade configuration file, obtaining a firmware version number, a firmware upgrade type and upgrade verification information of the corresponding firmware to be upgraded;
storing the firmware upgrading file packages of the firmware to be upgraded in a preset firmware upgrading file package path, and generating corresponding firmware version objects in a process sharing mode.
Further, the inter-process communication includes message queue based inter-process communication, DBus signal based inter-process communication, or Socket based inter-process communication.
Further, the step of executing multiple concurrent upgrade tasks by each firmware upgrade class object according to the firmware version object generation signal and sending a corresponding firmware upgrade execution result signal includes:
responding to the firmware version object generation signal, traversing each firmware version object by each firmware upgrading class object, and judging whether the firmware upgrading of the firmware upgrading class object needs to be executed according to the corresponding firmware type;
if yes, carrying out security upgrade verification according to the firmware version number, upgrade verification information and firmware upgrade type of the corresponding firmware version object, acquiring a firmware upgrade file packet according to a corresponding firmware upgrade file packet path after verification is passed, executing an upgrade task, and sending a corresponding firmware upgrade execution result signal when success or failure of upgrade is determined;
if not, the signal is directly abandoned, and the sleep is continued to wait for the new firmware version object to generate the signal.
Further, the step of broadcasting the firmware version object generation signal to each preset firmware upgrade class object through inter-process communication includes:
broadcasting the firmware version object generation signal to each firmware upgrading class object, starting a timing task waiting for a firmware upgrading execution result, and deleting all the firmware version objects and corresponding temporary files when the preset waiting time is exceeded.
Further, the step of performing a corresponding upgrade prompt according to the firmware upgrade execution result includes:
judging whether the firmware upgrading execution result is successful, if so, prompting that the corresponding firmware version is successfully upgraded, deleting the corresponding firmware version object and the temporary file, otherwise, prompting that the corresponding firmware version is failed to be upgraded.
In a second aspect, an embodiment of the present invention provides a multiple concurrent firmware upgrade system, the system including:
the user interface module is used for responding to a multi-concurrency firmware upgrading request of a user side, acquiring a corresponding multi-concurrency firmware upgrading packet according to a preset file transmission protocol, decompressing the multi-concurrency firmware upgrading packet, and generating a plurality of firmware version objects shared by processes according to each firmware upgrading file packet and a corresponding upgrading configuration file; the multi-concurrent firmware upgrade package comprises a plurality of firmware upgrade file packages and corresponding upgrade configuration files;
the user interface module is further used for broadcasting a firmware version object generation signal to each preset firmware upgrading class object through interprocess communication, acquiring a corresponding firmware upgrading execution result according to a firmware upgrading execution result signal returned by each firmware upgrading class object, and carrying out corresponding upgrading prompt according to the firmware upgrading execution result;
the firmware upgrading module is used for managing each preset firmware upgrading class object, enabling each firmware upgrading class object to execute multiple concurrent upgrading tasks according to received firmware version object generating signals, and returning corresponding firmware upgrading executing result signals.
In a third aspect, embodiments of the present invention further provide a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the above method when executing the computer program.
In a fourth aspect, embodiments of the present invention also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the above method.
The method comprises the steps of responding to a multi-concurrency firmware upgrading request of a user side, acquiring a corresponding multi-concurrency firmware upgrading package comprising a plurality of firmware upgrading file packages and corresponding upgrading configuration files according to a preset file transmission protocol, decompressing the multi-concurrency firmware upgrading package, generating firmware version objects shared by a plurality of processes according to each firmware upgrading file package and the corresponding upgrading configuration files, broadcasting a firmware version object generating signal to each preset firmware upgrading object through inter-process communication, enabling each firmware upgrading object to execute the multi-concurrency upgrading task according to the firmware version object generating signal, transmitting a corresponding firmware upgrading executing result signal, responding to each firmware upgrading executing result signal, acquiring a corresponding firmware upgrading executing result, and carrying out a corresponding upgrading prompt according to the firmware upgrading executing result. Compared with the prior art, the multi-concurrency firmware upgrading method supports concurrency upgrading of different types of firmware equipment through the unified user interface, improves the concurrency upgrading efficiency of different types of firmware, manages different types of firmware upgrading processes based on the object-oriented design thought, effectively reduces the coupling between modules, and ensures stronger expansibility and maintainability.
Drawings
FIG. 1 is a flow chart of a method for upgrading multiple concurrent firmware according to an embodiment of the present invention;
FIG. 2 is a flow chart of a concurrent firmware upgrade method based on BMC in an embodiment of the invention;
FIG. 3 is a schematic diagram of a multi-concurrent firmware upgrade system according to an embodiment of the present invention;
fig. 4 is an internal structural view of a computer device in an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantageous effects of the present application more apparent, the present invention will be further described in detail with reference to the accompanying drawings and examples, and it should be understood that the examples described below are only illustrative of the present invention and are not intended to limit the scope of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The multi-concurrency firmware upgrading method provided by the invention is a firmware upgrading scheme which supports batch concurrency upgrading of various different types of firmware and is easy to expand and maintain, and can be applied to firmware equipment upgrading management of a baseboard management controller BMC (Baseboard Management Controller) or other embedded products. The following embodiments will describe the multi-concurrency firmware upgrade method of the present invention in detail taking a multi-concurrency firmware upgrade scenario based on BMC as an example.
In one embodiment, as shown in fig. 1, a multi-concurrency firmware upgrade method is provided, including the steps of:
s11, responding to a multi-concurrency firmware upgrading request of a user side, and acquiring a corresponding multi-concurrency firmware upgrading packet according to a preset file transmission protocol; the multi-concurrent firmware upgrade package comprises a plurality of firmware upgrade file packages and corresponding upgrade configuration files;
the upgrade configuration file config is internally provided with version, type, upgrade security-related verification information and the like for identifying a firmware upgrade file package; correspondingly, the multi-concurrency firmware upgrade package is a firmware file, and the specific content is determined according to actual upgrade requirements. For example, if only a single firmware of the BMC needs to be upgraded, the multiple concurrent firmware upgrade package only includes a firmware upgrade file package and an upgrade configuration file (the firmware type is BMC) of the BMC firmware; for another example, if multiple firmware such as BMC, PNOR (Process NOR)), PSU (Power supply), CPLD (Complex Programmable Logic Device) are to be upgraded at the same time, the multiple concurrent firmware upgrade package may include a firmware upgrade file package and upgrade configuration file (firmware types are respectively corresponding BMC, PNOR, PSU) of multiple firmware such as BMC, PNOR, PSU, CPLD, etc.; it should be noted that version and upgrade security related verification information in the upgrade configuration file are configuration information used for conventional firmware upgrade, and will not be described in detail herein.
In practical applications, the preferred upgrade modes for different firmware may be different in view of cost savings or operational constraints. Based on the above, in order to support the concurrent upgrade function of a plurality of different firmware and simultaneously meet the requirement that different firmware selects different upgrade modes, the embodiment preferably supports the concurrent upgrade of different types of firmware using different upgrade modes, and only needs to complete the packaging of the concurrent firmware upgrade package according to the upgrade file requirement of different upgrade types; specifically, the step of generating the multi-concurrency firmware upgrade package includes:
determining firmware to be upgraded according to firmware upgrading requirements, and acquiring upgrading types of the firmware to be upgraded;
according to the upgrading type of each firmware to be upgraded, obtaining a firmware upgrading file packet required by a corresponding upgrading process, and setting a corresponding upgrading configuration file; the upgrade type may be set uniformly in principle to a firmware upgrade mode for executing corresponding upgrade through a preset firmware upgrade type object, but in order to provide more friendly upgrade support for the user side, in this embodiment, the upgrade type is preferably set to include at least one of firmware upgrade and command upgrade, when only a single firmware upgrade exists, the upgrade type may select firmware upgrade or command upgrade, and when multiple different types of firmware upgrade concurrently, different types of firmware may select a suitable upgrade mode according to actual requirements, so that a situation that firmware upgrade and command upgrade coexist simultaneously exists; it should be noted that, the upgrade configuration file may further write the corresponding upgrade type into the upgrade configuration file for subsequent generation of firmware version objects, in addition to the version, type, and upgrade security related verification information;
firmware upgrading can be understood as a mode of sequentially executing firmware upgrading steps based on corresponding firmware upgrading file packages through firmware upgrading class objects developed according to different types of firmware upgrading processes, and command upgrading can be understood as a mode of completing firmware upgrading through certain fixed upgrading commands in combination with corresponding upgrading tools; correspondingly, firmware upgrading uses different upgrading types to provide firmware upgrading file packages with different contents, specifically, the step of obtaining the firmware upgrading file packages required by corresponding upgrading processes according to the upgrading types of the firmware to be upgraded includes:
when the upgrade type is firmware upgrade, obtaining a firmware upgrade file required by a corresponding upgrade flow, and packaging to generate a firmware upgrade file packet; when the upgrade type is command upgrade, a corresponding firmware upgrade file and a firmware upgrade tool are obtained, and a firmware upgrade file packet is generated by packing, for example, if the pnor upgrade type of a host is command upgrade, the corresponding pflash tool is required to be packed; the psu upgrade type is command upgrade, and upgrade tools psutills provided by different manufacturers are required to be packaged;
and packing and compressing each firmware upgrade file packet and the corresponding upgrade configuration file to obtain the multi-concurrency firmware upgrade packet.
According to the embodiment, the concurrent upgrading of different types of firmware is realized by supporting the upgrading of the firmware class, the command upgrading is also supported on the basis of improving the upgrading efficiency, and the mode that different upgrading types are provided for the user side to select is provided, so that the user side can operate and use conveniently, and meanwhile, the extra development manpower investment can be avoided to the greatest extent, and the manpower cost is effectively saved.
After the user side generates the multiple concurrent firmware upgrade package through the steps of the method, the user side can send a corresponding multiple concurrent firmware upgrade request, and the multiple concurrent firmware upgrade package is transmitted to a system needing to execute firmware upgrade, such as a BMC or other embedded products, through a preset file transfer protocol. That is, the preset file transfer protocol may be understood as an interface protocol that a system that needs to execute firmware upgrade communicates with a user side to obtain multiple concurrent firmware upgrade packages, including any protocol that may implement a file transfer function, such as https protocol, ftp protocol, scp protocol, etc., and may be selected according to application requirements in practical application, so that the method has better development convenience, and can effectively ensure reliable transfer of multiple concurrent firmware upgrade packages, which is not particularly limited herein.
S12, decompressing the multi-concurrency firmware upgrade package, and generating firmware version objects shared by a plurality of processes according to each firmware upgrade file package and corresponding upgrade configuration files; the firmware version object corresponds to different types of firmware upgrading file packages packaged in the multiple concurrent firmware upgrading packages, namely, for a scene of concurrent upgrading of multiple different types of firmware devices, multiple corresponding firmware version objects are generated based on different firmware upgrading file packages and upgrading configuration files obtained by decompressing the multiple concurrent firmware upgrading packages.
In order to ensure the reliability and effectiveness of different types of firmware upgrades on the basis of satisfying the management of different types of firmware upgrades by adopting an object-oriented concept, in this embodiment, preferably, a firmware version object is set to include a firmware version number, a firmware type, a firmware upgrade type, upgrade verification information and a firmware upgrade file packet path, where the firmware type is used for each firmware upgrade type object to determine whether the firmware upgrade needs to be executed by itself, the firmware version number, the firmware upgrade type and the upgrade verification information are used for performing security upgrade verification on the firmware upgrade to be executed, and the firmware upgrade file packet path is used for providing an acquisition path of a firmware upgrade file packet required by the firmware upgrade. Specifically, the step of generating the firmware version object shared by the processes according to the firmware upgrade file packages and the corresponding upgrade configuration files includes:
according to each upgrade configuration file, obtaining a firmware version number, a firmware upgrade type and upgrade verification information of the corresponding firmware to be upgraded;
storing each firmware upgrading file packet of the firmware to be upgraded in a preset firmware upgrading file packet path, and generating a corresponding firmware version object in a process sharing mode; wherein, the process sharing can be realized by using DBus objects or other shared memory modes; DBus is an advanced inter-process communication mechanism, and DBus objects are matchers or callback functions packaged when the DBus communication mechanism is used, so that inter-process data sharing can be realized; the shared memory is a most efficient communication mode among processes, a memory area for a plurality of processes to exchange information is arranged in the kernel, and the memory area is mapped to a private address space by the processes needing to access, so that the memory area of the kernel can be directly read and written by the processes based on a mutual exclusion lock or a semaphore equivalent synchronous mechanism, and the effect of data copying is not needed; that is, the DBus object or the shared memory can realize multi-process sharing of the firmware version object, so that each firmware upgrading class object can acquire the required firmware upgrading file packet to execute the corresponding firmware upgrading task; detailed methods of how to use DBus objects or shared memory technology are implemented with reference to the prior art are not described here again.
According to the embodiment, through a process sharing mode, each firmware upgrading file package and the corresponding upgrading configuration file are converted into the corresponding process sharing firmware version object, different hardware links are distinguished by managing each different type of firmware upgrading class object by adopting an object-oriented thought, decoupling of codes is achieved, expansibility is higher, the level is clearer, maintenance and new addition are easier, and reliable technical support is provided for executing corresponding upgrading tasks by the firmware upgrading class object.
S13, broadcasting a firmware version object generation signal to each preset firmware upgrading class object through interprocess communication, so that each firmware upgrading class object executes multiple concurrent upgrading tasks according to the firmware version object generation signal and sends a corresponding firmware upgrading execution result signal; the inter-process communication mechanism can be determined according to the actual application requirement, and the embodiment preferably adopts a notification mechanism for realizing the firmware version object generation signal by inter-process communication based on a message queue, inter-process communication based on a DBus signal or inter-process communication based on a Socket.
Inter-process communication based on a message queue can be understood as an inter-process communication mechanism implemented by adopting a linked list to realize a message queue maintained by a system kernel, adding a message to the tail end of the message queue through one process, and reading the message from the message queue by another process; inter-process communication based on a DBus signal can be understood as an inter-process communication mechanism that registers a message type of interest to a bus in advance by a receiver process, and when the DBus bus receives a message corresponding to the signal message type, forwards the message to the receiver process; inter-process communication based on Socket can be understood as a programming interface implementation based on local Socket, supporting an inter-process communication mechanism on the same host of two protocols of byte stream and datagram; it should be noted that, the above various interprocess communication mechanisms can all realize the signal broadcasting effect generated by the firmware version object required by the scheme, and can be realized by selecting any mode in combination with the actual application requirement and referring to the prior art; based on the mature interprocess communication mechanism, development efficiency can be improved, reliability of transmission of firmware version object generation signals to each preset firmware upgrading class object can be effectively guaranteed, and reliable guarantee is provided for successful execution of firmware upgrading tasks based on the firmware upgrading class objects.
In principle, the firmware version object generating signals are broadcast to the preset firmware upgrading class objects by the method, and only the firmware upgrading execution result signals returned by the firmware upgrading class objects are required to be waited. However, considering that in practical application, a firmware version object generation signal or a firmware upgrading execution result signal fails to be sent or a firmware upgrading fails to be sent due to unsmooth communication between processes, so that a firmware upgrading related file always occupies a disk, and unnecessary resource waste is caused; specifically, the step of broadcasting the firmware version object generation signal to each preset firmware upgrading class object through inter-process communication includes:
broadcasting the firmware version object generation signal to each firmware upgrading class object, starting a timing task waiting for a firmware upgrading execution result, and deleting all the firmware version objects and corresponding temporary files when the preset waiting time is exceeded; the preset waiting time period can be set according to actual requirements or experience values, and is not particularly limited herein; correspondingly, after the timing task waiting for the firmware upgrading execution result is overtime in the preset waiting time, the temporary file to be deleted is understood to be each firmware upgrading file packet and the corresponding upgrading configuration file obtained by decompressing the multiple concurrent firmware upgrading packets.
The firmware upgrading object is developed in advance according to upgrading modes of different types of firmware related to the embedded product, so that objects corresponding to upgrading tasks can be executed correctly according to received firmware version object generating signals, and the objects comprise a firmware upgrading object ItemUpdate corresponding to the upgrading modes and a command upgrading object Command Updater, and can be developed and set in a targeted mode according to application requirements of actual products. When a system signal generated by a new firmware version object is received, determining whether the firmware upgrading requirement is met according to the type attribute (firmware type) of the firmware version object, and further determining whether an upgrading task needs to be executed; specifically, the step of executing multiple concurrent upgrade tasks by each firmware upgrade class object according to the firmware version object generation signal and sending a corresponding firmware upgrade execution result signal includes:
responding to the firmware version object generation signal, traversing each firmware version object by each firmware upgrading class object, and judging whether the firmware upgrading of the firmware upgrading class object needs to be executed according to the corresponding firmware type;
if yes, carrying out security upgrade verification according to the firmware version number, upgrade verification information and firmware upgrade type of the corresponding firmware version object, acquiring a firmware upgrade file packet according to a corresponding firmware upgrade file packet path after verification is passed, executing an upgrade task, and sending a corresponding firmware upgrade execution result signal when success or failure of upgrade is determined; it should be noted that, for the command class upgrade object processing flow, the firmware upgrade file and the corresponding firmware upgrade tool need to be obtained simultaneously according to the firmware upgrade file packet path to execute the corresponding upgrade command;
if not, the signal is directly abandoned, and the sleep is continued to wait for the new firmware version object to generate the signal.
In this embodiment, each firmware upgrade class object is based on an object-oriented management idea and a firmware version object notification mechanism, so that different hardware links are effectively distinguished, code logic decoupling is realized, maintenance and expansion are facilitated, synchronous upgrade operations of a plurality of different types of firmware devices can be realized, firmware upgrade efficiency is greatly improved, application requirements of wholesale upgrade of different device firmware are effectively met, and for a new type of firmware upgrade task, manpower is only required to be input when the corresponding firmware upgrade class object is designed and developed at the rear end (if command upgrade is supported, even manpower input is not required), so that manpower cost can be effectively saved.
S14, responding to each firmware upgrading execution result signal, obtaining a corresponding firmware upgrading execution result, and carrying out corresponding upgrading prompt according to the firmware upgrading execution result; the firmware upgrading execution results comprise upgrading failure and upgrading success, and the processing modes of users required by the two different upgrading results are different; in order to further improve user experience on the basis of ensuring normal execution of firmware upgrade, so that a user can know upgrade results of different firmware in time to perform targeted maintenance, in the embodiment, after the firmware upgrade execution results are identified, a targeted prompt is preferably made; specifically, the step of performing the corresponding upgrade prompt according to the firmware upgrade execution result includes:
judging whether the firmware upgrading execution result is successful in upgrading, if so, prompting that the corresponding firmware version is successful in upgrading, deleting the corresponding firmware version object and the temporary file, otherwise prompting that the corresponding firmware version is failed in upgrading; it should be noted that, the prompt herein may be displayed on a screen of the management upgrade system, or may be fed back to the user side through a corresponding communication mechanism, which is not limited herein;
the embodiment adopts a firmware upgrading type object feedback corresponding upgrading execution result signal mechanism, can ensure that corresponding temporary tar and firmware version object firmware_version are cleared in time after the upgrading of all modules is completed, and can avoid the accumulated occupation of upgrading firmware to disk space caused by subsequent repeated upgrading.
In order to facilitate understanding of the system implementing the process of the above scheme, the method includes the steps that if a multi-concurrent firmware upgrading task including a BMC, a PNOR and a firmware Command is required to be received by the BMC and sent by a user side, after the user side prepares a required multi-concurrent firmware upgrading packet firmware, tar according to corresponding upgrading requirements, a firmware upgrading request is sent, after a user unified interface user_firmware_updater of the BMC baseboard management controller receives the multi-concurrent firmware upgrading request, one or more firmware version (firmware version) objects are generated by decompressing the firmware, and broadcast to different firmware upgrading objects including the BMC firmware upgrading object, the PNOR firmware upgrading object and the Command firmware upgrading object, and a waiting timeout task is started, and if the firmware upgrading is required to be executed according to the type of the version object, a firmware upgrading signal is finished after the user unified interface user_firmware_firmware_updater of the BMC baseboard management controller receives the multi-concurrent firmware upgrading request, and if the firmware upgrading task is executed according to the corresponding type of the version object, a single firmware upgrading signal is finished; after receiving the execution result signals of each firmware upgrade, the user unified interface deletes the corresponding firmware version object and the corresponding firmware upgrade file until all the firmware version objects and the corresponding firmware upgrade files are deleted after receiving the execution result signals of all the firmware upgrades or waiting for the timing task to be overtime, and the current multiple concurrent firmware upgrade task is ended, and the specific process flow diagram is shown in fig. 2.
According to the embodiment of the application, when the firmware requirements of different types are newly increased through the unified user interface and the mode of supporting different upgrading types, the firmware upgrading of the equipment can be supported only by newly increasing the firmware upgrading type object, the development investment of a user side is reduced, the labor cost is effectively saved, the concurrent upgrading of a plurality of different types of firmware equipment is realized through introducing the firmware version object notification mechanism, the firmware upgrading efficiency is greatly improved, and the object-oriented thought management upgrading object mechanism is adopted to distinguish different hardware links, so that the code logic decoupling is realized, the hierarchy is more distinct, the expansibility and the maintainability (the newly increased upgrading task are facilitated) are effectively enhanced, and the application value is higher.
Although the steps in the flowcharts described above are shown in order as indicated by arrows, these steps are not necessarily executed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders.
In one embodiment, as shown in FIG. 3, a multiple concurrent firmware upgrade system is provided, the system comprising:
the user interface module 1 is used for responding to a multi-concurrency firmware upgrading request of a user side, acquiring a corresponding multi-concurrency firmware upgrading packet according to a preset file transmission protocol, decompressing the multi-concurrency firmware upgrading packet, and generating a plurality of firmware version objects shared by processes according to each firmware upgrading file packet and a corresponding upgrading configuration file; the multi-concurrent firmware upgrade package comprises a plurality of firmware upgrade file packages and corresponding upgrade configuration files; the firmware version object comprises a firmware version number, a firmware type, a firmware upgrade type, upgrade verification information and a firmware upgrade file packet path;
the user interface module 1 is further configured to broadcast a firmware version object generation signal to each preset firmware upgrade class object through interprocess communication, obtain a corresponding firmware upgrade execution result according to a firmware upgrade execution result signal returned by each firmware upgrade class object, and perform a corresponding upgrade prompt according to the firmware upgrade execution result;
the firmware upgrading module 2 is used for managing each preset firmware upgrading class object, so that each firmware upgrading class object executes multiple concurrent upgrading tasks according to the received firmware version object generating signals, and returns corresponding firmware upgrading execution result signals.
For a specific limitation of a multi-concurrent firmware upgrade system, reference may be made to the limitation of a multi-concurrent firmware upgrade method, and corresponding technical effects may be equally obtained, which is not described herein. Each of the modules in the multiple concurrent firmware upgrade system described above may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
Fig. 4 shows an internal structural diagram of a computer device, which may be a terminal or a server in particular, in one embodiment. As shown in fig. 4, the computer device includes a processor, a memory, a network interface, a display, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program, when executed by a processor, implements a multi-concurrent firmware upgrade method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, can also be keys, a track ball or a touch pad arranged on the shell of the computer equipment, and can also be an external keyboard, a touch pad or a mouse and the like.
It will be appreciated by those of ordinary skill in the art that the architecture shown in fig. 4 is merely a block diagram of some of the architecture relevant to the present application and is not intended to limit the computer device on which the present application may be implemented, and that a particular computing device may include more or fewer components than shown, or may combine certain components, or have the same arrangement of components.
In one embodiment, a computer device is provided comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the above method when the computer program is executed.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, implements the steps of the above method.
In summary, the multi-concurrent firmware upgrading method, system, device and medium provided by the embodiment of the invention realize that in response to a multi-concurrent firmware upgrading request of a user terminal, according to a preset file transmission protocol, after obtaining a corresponding multi-concurrent firmware upgrading package comprising a plurality of firmware upgrading file packages and corresponding upgrading configuration files, the multi-concurrent firmware upgrading package is decompressed, and according to each firmware upgrading file package and corresponding upgrading configuration file, a plurality of process-shared firmware version objects are generated, and then a firmware version object generation signal is broadcast to each preset firmware upgrading object through inter-process communication, so that each firmware upgrading object generates a signal according to the firmware version object to execute multi-concurrent upgrading tasks, sends a corresponding firmware upgrading execution result signal, and responds to each firmware upgrading execution result signal to obtain a corresponding firmware upgrading execution result, and according to the technical scheme of the firmware upgrading execution result, the multi-concurrent firmware upgrading method supports concurrent upgrading firmware devices of different types through a unified user interface, improves the concurrent upgrading efficiency, and simultaneously, is based on the design management concept of different types, and effectively reduces the compatibility of firmware upgrading modules and maintains the compatibility.
In this specification, each embodiment is described in a progressive manner, and all the embodiments are directly the same or similar parts referring to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments. It should be noted that, any combination of the technical features of the foregoing embodiments may be used, and for brevity, all of the possible combinations of the technical features of the foregoing embodiments are not described, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples represent only a few preferred embodiments of the present application, which are described in more detail and are not thereby to be construed as limiting the scope of the invention. It should be noted that modifications and substitutions can be made by those skilled in the art without departing from the technical principles of the present invention, and such modifications and substitutions should also be considered to be within the scope of the present application. Therefore, the protection scope of the patent application is subject to the protection scope of the claims.

Claims (13)

1. A method of multiple concurrent firmware upgrades, the method comprising the steps of:
responding to a multi-concurrency firmware upgrading request of a user side, and acquiring a corresponding multi-concurrency firmware upgrading packet according to a preset file transmission protocol; the multi-concurrent firmware upgrade package comprises a plurality of firmware upgrade file packages and corresponding upgrade configuration files;
decompressing the multi-concurrency firmware upgrade package, and generating firmware version objects shared by a plurality of processes according to each firmware upgrade file package and corresponding upgrade configuration files; the firmware version object comprises a firmware version number, a firmware type, a firmware upgrade type, upgrade verification information and a firmware upgrade file packet path;
broadcasting a firmware version object generation signal to each preset firmware upgrading class object through interprocess communication, so that each firmware upgrading class object executes multiple concurrent upgrading tasks according to the firmware version object generation signal and sends a corresponding firmware upgrading execution result signal; the firmware upgrading class object comprises a firmware upgrading object and a command upgrading object which are managed based on an object-oriented design idea; the firmware upgrading class object is in a sleep state at ordinary times, and when a new firmware version object generation signal is received, whether the firmware upgrading requirement of the firmware upgrading class object is required is judged according to the firmware type in the firmware version object so as to determine whether an upgrading task needs to be executed; the command class upgrade object executes a corresponding upgrade command based on a firmware upgrade file and a firmware upgrade tool acquired according to the firmware upgrade file packet path;
responding to each firmware upgrade execution result signal, obtaining a corresponding firmware upgrade execution result, and carrying out corresponding upgrade prompt according to the firmware upgrade execution result.
2. The multi-concurrent firmware upgrade method of claim 1, wherein the preset file transfer protocol comprises https protocol, ftp protocol, or scp protocol.
3. The multi-concurrent firmware upgrade method as claimed in claim 1, wherein the generating of the multi-concurrent firmware upgrade package comprises:
determining firmware to be upgraded according to firmware upgrading requirements, and acquiring upgrading types of the firmware to be upgraded;
according to the upgrading type of each firmware to be upgraded, obtaining a firmware upgrading file packet required by a corresponding upgrading process, and setting a corresponding upgrading configuration file;
and packing and compressing each firmware upgrade file packet and the corresponding upgrade configuration file to obtain the multi-concurrency firmware upgrade packet.
4. A multi-concurrent firmware upgrade method as recited in claim 3 wherein said upgrade type comprises a firmware class upgrade or a command upgrade.
5. The multiple concurrent firmware upgrade method according to claim 4, wherein the step of obtaining the firmware upgrade file package required for the corresponding upgrade procedure according to the upgrade type of each firmware to be upgraded comprises:
when the upgrade type is firmware upgrade, obtaining a firmware upgrade file required by a corresponding upgrade flow, and packaging to generate a firmware upgrade file packet;
when the upgrade type is command upgrade, a corresponding firmware upgrade file and a firmware upgrade tool are obtained, and a firmware upgrade file packet is generated by packaging.
6. The multiple concurrent firmware upgrade method according to claim 1, wherein the step of generating firmware version objects shared by a plurality of processes according to the respective firmware upgrade file packages and the corresponding upgrade configuration files comprises:
according to each upgrade configuration file, obtaining a firmware version number, a firmware type, a firmware upgrade type and upgrade verification information corresponding to the firmware to be upgraded;
storing the firmware upgrading file packages of the firmware to be upgraded in a preset firmware upgrading file package path, and generating corresponding firmware version objects in a process sharing mode.
7. The multi-concurrency firmware upgrade method of claim 1, wherein the inter-process communication comprises message queue based inter-process communication, DBus signal based inter-process communication, or Socket based inter-process communication.
8. The multi-concurrent firmware upgrade method as claimed in claim 1, wherein the step of each firmware upgrade class object performing multi-concurrent upgrade tasks according to the firmware version object generation signal and transmitting corresponding firmware upgrade execution result signals comprises:
responding to the firmware version object generation signal, traversing each firmware version object by each firmware upgrading class object, and judging whether the firmware upgrading of the firmware upgrading class object needs to be executed according to the corresponding firmware type;
if yes, carrying out security upgrade verification according to the firmware version number, upgrade verification information and firmware upgrade type of the corresponding firmware version object, acquiring a firmware upgrade file packet according to a corresponding firmware upgrade file packet path after verification is passed, executing an upgrade task, and sending a corresponding firmware upgrade execution result signal when success or failure of upgrade is determined;
if not, the signal is directly abandoned, and the sleep is continued to wait for the new firmware version object to generate the signal.
9. The multi-concurrent firmware upgrade method as claimed in claim 1, wherein broadcasting the firmware version object generation signal to preset individual firmware upgrade class objects through inter-process communication comprises:
broadcasting the firmware version object generation signal to each firmware upgrading class object, starting a timing task waiting for a firmware upgrading execution result, and deleting all the firmware version objects and corresponding temporary files when the preset waiting time is exceeded.
10. The multi-concurrent firmware upgrade method as claimed in claim 1, wherein the step of performing a corresponding upgrade prompt according to the firmware upgrade execution result comprises:
judging whether the firmware upgrading execution result is successful, if so, prompting that the corresponding firmware version is successfully upgraded, deleting the corresponding firmware version object and the temporary file, otherwise, prompting that the corresponding firmware version is failed to be upgraded.
11. A multiple concurrent firmware upgrade system, the system comprising:
the user interface module is used for responding to a multi-concurrency firmware upgrading request of a user side, acquiring a corresponding multi-concurrency firmware upgrading packet according to a preset file transmission protocol, decompressing the multi-concurrency firmware upgrading packet, and generating a plurality of firmware version objects shared by processes according to each firmware upgrading file packet and a corresponding upgrading configuration file; the multi-concurrent firmware upgrade package comprises a plurality of firmware upgrade file packages and corresponding upgrade configuration files; the firmware version object comprises a firmware version number, a firmware type, a firmware upgrade type, upgrade verification information and a firmware upgrade file packet path;
the user interface module is further used for broadcasting a firmware version object generation signal to each preset firmware upgrading class object through interprocess communication, acquiring a corresponding firmware upgrading execution result according to a firmware upgrading execution result signal returned by each firmware upgrading class object, and carrying out corresponding upgrading prompt according to the firmware upgrading execution result; the firmware upgrading class object comprises a firmware upgrading object and a command upgrading object which are managed based on an object-oriented design idea; the firmware upgrading class object is in a sleep state at ordinary times, and when a new firmware version object generation signal is received, whether the firmware upgrading requirement of the firmware upgrading class object is required is judged according to the firmware type in the firmware version object so as to determine whether an upgrading task needs to be executed; the command class upgrade object executes a corresponding upgrade command based on a firmware upgrade file and a firmware upgrade tool acquired according to the firmware upgrade file packet path;
the firmware upgrading module is used for managing each preset firmware upgrading class object, enabling each firmware upgrading class object to execute multiple concurrent upgrading tasks according to received firmware version object generating signals, and returning corresponding firmware upgrading executing result signals.
12. A computer 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 steps of the method of any of claims 1 to 10 when the computer program is executed.
13. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 10.
CN202310453466.6A 2023-04-24 2023-04-24 Multi-concurrency firmware upgrading method, system, computer equipment and storage medium Active CN116466973B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310453466.6A CN116466973B (en) 2023-04-24 2023-04-24 Multi-concurrency firmware upgrading method, system, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310453466.6A CN116466973B (en) 2023-04-24 2023-04-24 Multi-concurrency firmware upgrading method, system, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN116466973A CN116466973A (en) 2023-07-21
CN116466973B true CN116466973B (en) 2024-04-05

Family

ID=87176839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310453466.6A Active CN116466973B (en) 2023-04-24 2023-04-24 Multi-concurrency firmware upgrading method, system, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116466973B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119311296B (en) * 2024-12-10 2025-03-18 苏州元脑智能科技有限公司 Concurrent software upgrade method and device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621437A (en) * 2008-06-30 2010-01-06 华为技术有限公司 A kind of communication system, add load control and method for loading software
CN102937904A (en) * 2012-10-24 2013-02-20 华为技术有限公司 Multi-node firmware updating method and device
CN105022645A (en) * 2015-06-15 2015-11-04 山东超越数控电子有限公司 Implementation method of updating management module firmware in large scale
CN112764780A (en) * 2021-01-25 2021-05-07 北京华顺信安信息技术有限公司 Application batch automatic upgrading method suitable for DCC multi-node server
CN113703818A (en) * 2021-08-18 2021-11-26 深圳数马电子技术有限公司 Device upgrading method and device, computer device and computer-readable storage medium
CN113873010A (en) * 2021-08-31 2021-12-31 青岛海尔科技有限公司 Equipment upgrading method and device, storage medium and electronic device
CN113986317A (en) * 2021-10-21 2022-01-28 江苏域固威芯科技有限公司 Method for safely updating BIOS version of mainboard by BMC based on firmware upgrading
CN114245319A (en) * 2021-12-03 2022-03-25 南京矽力微电子技术有限公司 Bluetooth Mesh-based enhanced broadcast concurrent OTA (over the air) firmware upgrading method
CN115469899A (en) * 2022-06-14 2022-12-13 北京罗克维尔斯科技有限公司 Firmware upgrade method, device, equipment, medium and vehicle-mounted system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621437A (en) * 2008-06-30 2010-01-06 华为技术有限公司 A kind of communication system, add load control and method for loading software
CN102937904A (en) * 2012-10-24 2013-02-20 华为技术有限公司 Multi-node firmware updating method and device
CN105022645A (en) * 2015-06-15 2015-11-04 山东超越数控电子有限公司 Implementation method of updating management module firmware in large scale
CN112764780A (en) * 2021-01-25 2021-05-07 北京华顺信安信息技术有限公司 Application batch automatic upgrading method suitable for DCC multi-node server
CN113703818A (en) * 2021-08-18 2021-11-26 深圳数马电子技术有限公司 Device upgrading method and device, computer device and computer-readable storage medium
CN113873010A (en) * 2021-08-31 2021-12-31 青岛海尔科技有限公司 Equipment upgrading method and device, storage medium and electronic device
CN113986317A (en) * 2021-10-21 2022-01-28 江苏域固威芯科技有限公司 Method for safely updating BIOS version of mainboard by BMC based on firmware upgrading
CN114245319A (en) * 2021-12-03 2022-03-25 南京矽力微电子技术有限公司 Bluetooth Mesh-based enhanced broadcast concurrent OTA (over the air) firmware upgrading method
CN115469899A (en) * 2022-06-14 2022-12-13 北京罗克维尔斯科技有限公司 Firmware upgrade method, device, equipment, medium and vehicle-mounted system

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Object oriented device control using the CAN bus;G. v. Egan-Krieger等;Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment;20021029;第352卷(第1-2期);第204-206页 *
Wireless monitoring, controlling and firmware upgradation of embedded devices using Wi-Fi;Pravin G. Zaware等;2014 International Conference on Advances in Communication and Computing Technologies (ICACACT 2014);20150903;第1-6页 *
家庭网关远程管理功能模块的设计与实现;王远波;中国优秀硕士学位论文全文数据库 信息科技辑;20090515(第5期);I139-49 *
智能网联汽车FOTA系统安全机制的研究与实现;谭凡;中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑;20200715(第7期);C035-299 *
智能网联汽车安全远程升级技术的研究与实现;张海强;中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑;20180915(第9期);C035-29 *

Also Published As

Publication number Publication date
CN116466973A (en) 2023-07-21

Similar Documents

Publication Publication Date Title
US9195480B2 (en) Associated plug-in management method, device and system
US20070226715A1 (en) Application server system and computer product
CN111443961B (en) Terminal equipment and cross-process communication method thereof
CN111984261A (en) Compiling method and compiling system
CN110520844A (en) Cloud management platform, virtual machine management method and its system
CN110968477B (en) A method, device and medium for obtaining backup BMC version information
CN112068896B (en) DTS modification method, device and computer-readable storage medium
CN110990081A (en) Microservice registration and discovery method and device, storage medium and electronic device
CN116466973B (en) Multi-concurrency firmware upgrading method, system, computer equipment and storage medium
CN111459524A (en) Software upgrading method, device and system
CN101411165B (en) Technique of controlling communication of installed apparatus with outside by means of proxy server
WO2022134161A1 (en) Consortium blockchain node management system, method and apparatus, electronic device, and storage medium
CN116881072A (en) Network card monitoring method, device, system and equipment of baseboard management controller
US20090254890A1 (en) Apparatus and method for generating install-less software from installation package of software
CN112363971A (en) Super computer architecture implementation method
JP2007080012A (en) Reboot method, system and program
WO2021057351A1 (en) Apparatus and method for controlling android bluetooth in glibc environment, and terminal device
WO2024104289A1 (en) Message processing method and apparatus, device, and storage medium
CN114020607B (en) BMC debugging method, device and computer equipment
US12223177B2 (en) Memory system and control method
US11334342B1 (en) Updating firmware of unsupported devices
CN118445001B (en) Heterogeneous system integration method, device and equipment based on plug-in development framework
CN118939382B (en) Virtual machine operation data acquisition method and terminal
US20240036850A1 (en) Configuration aware firmware update
CN112468349B (en) Main node suitable for FT2000+ platform to deploy Ceph

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