Firmware upgrading system and method

By introducing a static resource server to store firmware upgrade packages between the cloud server and the device, the problems of high pressure on the cloud server and poor device reception capability are solved, thereby improving the success rate and efficiency of firmware upgrades.

CN121635920APending Publication Date: 2026-03-10HANGZHOU ROBAM APPLIANCES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In existing technologies, transmitting firmware upgrade packages directly from the cloud server to the device increases the load on the cloud server, and the varying receiving capabilities of devices lead to a high risk of upgrade failure.

Method used

A static resource server is set up between the cloud server and the device to be upgraded to store firmware upgrade packages. The device to be upgraded obtains the firmware upgrade packages from the static resource server based on the upgrade information from the cloud server.

Benefits of technology

It reduces the pressure on cloud servers, improves the success rate of device firmware upgrades, avoids the impact of device receiving capabilities on upgrades, simplifies the firmware upgrade process, and improves upgrade efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121635920A_ABST
    Figure CN121635920A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of equipment upgrading, in particular to a firmware upgrading system and method. The system comprises a cloud server, a static resource server and to-be-upgraded equipment, the cloud server is used for uploading a firmware upgrade package for upgrading firmware contained in the to-be-upgraded equipment to the static resource server and sending upgrade information to the to-be-upgraded equipment; a plurality of firmware upgrade packages uploaded by the cloud server are stored in the static resource server; the to-be-upgraded device is used for responding to upgrade information sent by the cloud server, determining path information pointing to at least one firmware upgrade package according to the upgrade information, obtaining the at least one firmware upgrade package from the static resource server according to the path information, and sending the at least one firmware upgrade package to the cloud server. And upgrading according to the obtained firmware upgrade package.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of equipment upgrade technology, and specifically to a firmware upgrade system and method. Background Technology

[0002] Firmware is the core software of a hardware device, responsible for controlling and coordinating its functions. For some devices, firmware is the only component besides the hardware; therefore, its quality largely determines the device's functionality and performance. Firmware upgrades refer to updating the firmware in a hardware device to improve its functionality, performance, or compatibility. Upgrading a device's firmware typically requires downloading a firmware upgrade package and then upgrading the corresponding firmware according to the package.

[0003] In related technologies, firmware upgrade packages are obtained from the cloud, and the cloud server then transmits these packages to the device via the device communication channel. However, this method increases the load on the cloud server, and due to varying receiving capabilities on the device side, there is a risk of upgrade failure. Summary of the Invention

[0004] To address the aforementioned technical problems, this invention proposes a firmware upgrade system and method, aiming to reduce the pressure on cloud servers and improve the success rate of device upgrades.

[0005] In a first aspect, this application provides a firmware upgrade system, characterized in that the system includes: a cloud server, a static resource server, and a device to be upgraded;

[0006] The cloud server is used to upload a firmware upgrade package for upgrading the firmware contained in the device to be upgraded to the static resource server, and to send upgrade information to the device to be upgraded.

[0007] The static resource server stores multiple firmware upgrade packages uploaded by the cloud server;

[0008] The device to be upgraded is configured to respond to upgrade information sent by the cloud server, determine path information pointing to at least one firmware upgrade package according to the upgrade information, and obtain the at least one firmware upgrade package from the static resource server according to the path information, so as to perform upgrade according to the obtained firmware upgrade package.

[0009] In some embodiments, the device to be upgraded is further configured to send the version information of its firmware to the cloud server;

[0010] The cloud server is used to send the upgrade information to the device to be upgraded when it is determined from the version information that the device to be upgraded has firmware to be upgraded.

[0011] In some embodiments, when the at least one firmware upgrade package is obtained, the device to be upgraded is further configured to:

[0012] The corresponding firmware is upgraded according to the obtained firmware upgrade package, and the upgrade progress is reported to the cloud server during the upgrade process; or,

[0013] Upon receiving an upgrade command from a user for the device to be upgraded, the system upgrades the corresponding firmware according to the obtained firmware upgrade package and displays the upgrade progress to the user.

[0014] In some embodiments, the device to be upgraded is further configured to: report the upgrade progress and upgrade results to the cloud server in the form of logs.

[0015] In some embodiments, the obtained firmware upgrade package is a plurality of firmware upgrade packages, which are integrated into a single upgrade package and obtained by the device to be upgraded. The device to be upgraded is used for:

[0016] The upgrade package is parsed to obtain multiple firmware upgrade packages corresponding to different firmware.

[0017] The corresponding firmware is upgraded according to the multiple firmware upgrade packages.

[0018] In some embodiments, the firmware upgrade package corresponds to a firmware package type, which includes a system upgrade package, an application upgrade package, a module upgrade package, and a microcontroller upgrade package; when at least one firmware upgrade package contains firmware upgrade packages of multiple firmware types, the overall upgrade package integrates firmware upgrade packages of multiple firmware types based on a unified structure.

[0019] In some embodiments, the upgrade information further includes special instruction information, which includes initialization information; the device to be upgraded is further configured to:

[0020] After the upgrade is completed, the firmware of any device to be upgraded is initialized according to the initialization information.

[0021] In some embodiments,

[0022] The upgrade information also includes a first verification code, which is generated based on a verification method pre-negotiated between the device to be upgraded and the cloud server; the device to be upgraded is further configured to: generate a second verification code according to the verification method, and determine the path information if the first verification code and the second verification code match successfully; and / or,

[0023] The upgrade information also includes a hardware version number; the device to be upgraded is further configured to: match the hardware version number in the upgrade information with the version number of the corresponding firmware in the device to be upgraded, and determine the path information if the match is successful.

[0024] Secondly, this application provides a device upgrade method, applied to a device to be upgraded, the method comprising:

[0025] Obtain upgrade information sent by the cloud server, and determine path information pointing to at least one firmware upgrade package based on the upgrade information;

[0026] The at least one firmware upgrade package is obtained from the static resource server according to the path information; wherein, the static resource server stores multiple firmware upgrade packages uploaded by the cloud server;

[0027] The corresponding firmware of the device to be upgraded is upgraded according to the obtained firmware upgrade package.

[0028] Thirdly, an electronic device including a processor and a memory;

[0029] The processor is connected to the memory;

[0030] The memory is used to store executable program code;

[0031] The processor runs a program corresponding to the executable program code stored in the memory to perform the method as described in the second aspect.

[0032] Fourthly, a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in the second aspect.

[0033] The beneficial technical effects of this invention include at least the following: By changing the distribution method of firmware upgrade packages, a static resource server for storing firmware upgrade packages is set up between the cloud server and the device to be upgraded. This means that the firmware upgrade packages for the device to be upgraded are no longer directly distributed by the cloud server, but are first stored on the static resource server. Then, the device to be upgraded determines the path information for obtaining the firmware upgrade package from the static server based on the upgrade information sent by the cloud server, thereby achieving the acquisition of the firmware upgrade package. This method not only reduces the pressure on the cloud server but also avoids the impact of the device's receiving capability on the firmware upgrade, improving the success rate of device firmware upgrades.

[0034] Other features and advantages of the present invention will be disclosed in detail in the following detailed description and accompanying drawings. Attached Figure Description

[0035] The invention will be further described below with reference to the accompanying drawings:

[0036] Figure 1 This is an architecture diagram of a firmware upgrade system shown in an embodiment of the present invention.

[0037] Figure 2 This is a flowchart illustrating a device upgrade method according to an embodiment of the present invention.

[0038] Figure 3 This is a block diagram illustrating an equipment upgrade device according to an embodiment of the present invention.

[0039] Figure 4 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present invention. Detailed Implementation

[0040] The technical solutions of the embodiments of the present invention will be explained and described below with reference to the accompanying drawings. However, the following embodiments are only preferred embodiments of the present invention and not all of them. Other embodiments obtained by those skilled in the art based on the embodiments in the implementation methods without creative effort are all within the protection scope of the present invention.

[0041] In the following description, terms such as “inner,” “outer,” “upper,” “lower,” “left,” and “right” are used only to indicate orientation or positional relationship for the convenience of describing the embodiments and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the present invention.

[0042] Firmware is the core software of a hardware device, responsible for controlling and coordinating its functions. For some devices, firmware is the only component besides the hardware; therefore, its quality largely determines the device's functionality and performance. Firmware upgrades refer to updating the firmware in a hardware device to improve its functionality, performance, or compatibility. Upgrading a device's firmware typically requires downloading a firmware upgrade package and then upgrading the corresponding firmware according to the package.

[0043] In related technologies, firmware upgrade packages are obtained from the cloud, and the cloud server then transmits these packages to the device via the device communication channel. However, this method increases the load on the cloud server, and due to varying receiving capabilities on the device side, there is a risk of upgrade failure.

[0044] Based on the shortcomings of related technologies, this application proposes a firmware upgrade system and method.

[0045] This application provides a firmware upgrade system; please refer to the appendix. Figure 1 ,like Figure 1As shown, the firmware upgrade system 10 includes a cloud server 11, a static resource server 12, and a device to be upgraded 13.

[0046] The cloud server 11 is used to upload a firmware upgrade package for upgrading the firmware contained in the device 13 to the static resource server 12, and to send upgrade information to the device 13 to be upgraded.

[0047] The static resource server 12 stores multiple firmware upgrade packages uploaded by the cloud server 11. This static resource server 12 is dedicated to storing static resources such as firmware upgrade packages.

[0048] The device 13 to be upgraded is configured to respond to the upgrade information sent by the cloud server 11, determine path information pointing to at least one firmware upgrade package according to the upgrade information, and obtain the at least one firmware upgrade package from the static resource server 12 according to the path information, so as to perform an upgrade according to the obtained firmware upgrade package.

[0049] In one scenario, the cloud server can proactively upload a firmware upgrade package when software developers create a new firmware version. The upload of the firmware upgrade package can trigger the cloud server to send upgrade information to the device to be upgraded. The upgrade information includes the path information of the firmware upgrade package.

[0050] In another scenario, the device to be upgraded proactively sends its firmware version information to the cloud server. The cloud server can then determine whether the device needs an upgrade based on this information. If an upgrade is deemed necessary, the server will send upgrade information to the device.

[0051] The upgrade information may include path information for obtaining the firmware upgrade package. This path information can be a description of the request path used to download the firmware upgrade package, such as a URL link or IP address. Based on this path information, the device to be upgraded can download the firmware upgrade package from the static resource server via a network request. Since this method involves obtaining the package over the network and not through a communication channel, there are no requirements for the device's receiving capabilities, and there is no risk of receiving failure.

[0052] In this embodiment, by changing the method of distributing firmware upgrade packages, a static resource server for storing firmware upgrade packages is set up between the cloud server and the device to be upgraded. This means that the firmware upgrade packages for the device to be upgraded are no longer directly distributed by the cloud server, but are first stored on the static resource server. Then, the device to be upgraded determines the path information for obtaining the firmware upgrade package from the static server based on the upgrade information sent by the cloud server, thereby achieving the acquisition of the firmware upgrade package. This method not only reduces the load on the cloud server but also avoids the impact of the device's receiving capability on the firmware upgrade, improving the success rate of device firmware upgrades.

[0053] In one embodiment, the device to be upgraded is further configured to send version information of its own firmware to the cloud server; the cloud server is configured to send the upgrade information to the device to be upgraded if it is determined from the version information that the device to be upgraded has firmware to be upgraded.

[0054] Specifically, the device to be upgraded can send a description file containing version information to the cloud server. This file records the correspondence between firmware and firmware version numbers. The cloud server can identify whether the firmware version number in the description file corresponds to the latest version of the corresponding firmware. If all firmware version numbers in the description file correspond to the latest version, it means that there is no firmware to be upgraded in the device, and the cloud server does not need to send upgrade information to the device. If any firmware version number in the description file is inconsistent with the latest version number, it means that there is firmware to be upgraded in the device, and the cloud server can send upgrade information to the device. The upgrade information includes the path information of the firmware upgrade package for the firmware with inconsistent version numbers.

[0055] In this embodiment, the firmware to be upgraded in the device to be upgraded is pre-determined based on the version information sent by the device to be upgraded. On the one hand, this avoids sending upgrade information when the firmware in the device to be upgraded does not need to be upgraded, thereby saving network resources. On the other hand, it can pre-determine the firmware to be upgraded when the firmware in the device to be upgraded needs to be upgraded, and record the path information of the corresponding firmware upgrade package in the upgrade information, thereby improving the efficiency of firmware upgrade.

[0056] In one embodiment, when the at least one firmware upgrade package is obtained, the device to be upgraded is further configured to: upgrade the corresponding firmware according to the obtained firmware upgrade package, and during the upgrade process, report the upgrade progress to the cloud server; or, when receiving an upgrade instruction issued by a user for the device to be upgraded, upgrade the corresponding firmware according to the obtained firmware upgrade package, and display the upgrade progress to the user.

[0057] The upgrade progress can be sent from the device to be upgraded to the cloud server, and then from the cloud server to the user's mobile device. In this case, the device to be upgraded can report the upgrade progress to the cloud server multiple times during the firmware upgrade process. The cloud server and the user's mobile device can each be configured with the same application's server program and client program. Based on this application, the cloud server can forward the upgrade progress to the user's mobile device, thereby enabling feedback to the user.

[0058] The upgrade progress can also be directly displayed to the user from the device being upgraded. In this case, the device can directly provide upgrade progress feedback to the user during the firmware upgrade process. Specifically, the device can be equipped with a display screen, and the upgrade progress can be displayed on the screen in the form of a progress bar; alternatively, the device can announce the upgrade progress via voice; or, the device can be equipped with an LED strip associated with the upgrade progress, displaying the upgrade progress through the brightness of the LED strip or the number of lit LEDs. This manual does not limit the specific feedback method.

[0059] In this embodiment, by providing feedback on the upgrade progress to the user, the user can understand the upgrade process in real time.

[0060] Furthermore, the device to be upgraded is also used to: report the upgrade progress and results to the cloud server in the form of logs. The upgrade results can include both successful and unsuccessful upgrades.

[0061] In this embodiment, the upgrade progress and results are reported to the cloud server in the form of logs for recording, which facilitates subsequent troubleshooting of upgrade problems and improves the efficiency of handling upgrade problems.

[0062] In addition, the device to be upgraded can provide feedback on the upgrade progress, as well as the download progress of the firmware upgrade package. While the device is downloading the firmware upgrade package from a static resource server over the network, the download progress can be reported to the cloud server or displayed directly to the user.

[0063] In one embodiment, the obtained firmware upgrade package is a plurality of firmware upgrade packages, which are integrated into a single upgrade package and obtained by the device to be upgraded. The device to be upgraded is configured to: determine the device model of the device to be upgraded, and obtain the upgrade package from the static resource server according to the device model and the path information; parse the upgrade package, and upgrade the corresponding firmware according to the plurality of firmware upgrade packages corresponding to different firmware obtained from the parsing.

[0064] In related technologies, devices obtain firmware upgrade packages only from the perspective of the upgrade package itself. For each firmware upgrade package, operations such as acquisition, parsing, and upgrading are required, making the firmware upgrade process complex.

[0065] In this embodiment, different firmware upgrade packages are integrated into the same master upgrade package, allowing the firmware upgrade process to be performed based on device model. Multiple firmware upgrade packages corresponding to a given device model are obtained through this single master upgrade package, eliminating the need to repeatedly retrieve firmware upgrade packages. This simplifies the firmware upgrade process and improves its efficiency.

[0066] Furthermore, the firmware upgrade package corresponds to a firmware package type, and each firmware package type corresponds to a type of firmware. The firmware package type includes system upgrade package, application upgrade package, module upgrade package, and microcontroller upgrade package. The upgrade package integrates firmware upgrade packages of multiple firmware types based on a preset framework. The device to be upgraded is used to: parse the upgrade package built based on the preset framework to obtain multiple firmware upgrade packages of different firmware package types; and determine the firmware to be upgraded in the device to be upgraded according to the firmware package types of the multiple firmware upgrade packages.

[0067] Firmware upgrade packages come in various types, which can be categorized based on the firmware they target, such as system upgrade packages, application upgrade packages, module upgrade packages, and microcontroller upgrade packages. System upgrade packages correspond to the device's operating system, application upgrade packages correspond to the applications installed on the device, module upgrade packages correspond to the individual modules, and microcontroller upgrade packages correspond to the MCUs contained in the device.

[0068] In traditional firmware upgrade methods, firmware upgrade packages for different firmware versions need to be sent separately. In other words, it is impossible to receive firmware upgrade packages of different firmware types simultaneously.

[0069] This embodiment integrates firmware upgrade packages of different firmware package types into a pre-designed framework. This pre-designed framework sets firmware package attribute information for each integrated firmware upgrade package, including the firmware package type. When the device to be upgraded parses the overall upgrade package, it can determine the firmware package type of the firmware upgrade package based on the firmware package attribute information contained in the pre-designed framework, and thus determine the firmware to be upgraded corresponding to that firmware upgrade package.

[0070] In this embodiment, firmware upgrade packages of different firmware types are integrated into a single upgrade package using a preset framework. The device itself parses the corresponding upgrade firmware package according to the agreed structure to complete the upgrade of each component or module. This eliminates the need for multiple operations and interactions for multiple firmware upgrades, achieving simultaneous upgrades of multiple firmware and improving upgrade efficiency.

[0071] In one embodiment, the upgrade information further includes special instruction information, which includes initialization information; the device to be upgraded is further configured to: after the upgrade is completed, initialize any firmware in the device to be upgraded according to the initialization information.

[0072] The upgrade information may also include special instruction information (cmd), which can be initialization information, such as the initialization of a certain parameter. After the firmware upgrade is completed, the device to be upgraded can initialize the parameter to 1 based on the initialization information.

[0073] Of course, special instruction information is not limited to this. For example, it may also include restriction information, which can be used to limit the upgrade duration. If the upgrade duration reaches the time limit specified in the restriction information, the upgrade is deemed to have failed, and the user is notified of the upgrade failure result. This manual does not impose any restrictions on specific special instruction information.

[0074] In this embodiment, the cloud server can instruct the device to be upgraded to perform special operations through the special instruction information contained in the upgrade information.

[0075] In one embodiment, the upgrade information further includes a first verification code, which is generated based on a verification method pre-negotiated between the device to be upgraded and the cloud server; the device to be upgraded is further configured to: generate a second verification code according to the verification method, and determine the path information if the first verification code and the second verification code match successfully; and / or, the upgrade information further includes a hardware version number; the device to be upgraded is further configured to: match the hardware version number in the upgrade information with the version number of the corresponding firmware in the device to be upgraded, and determine the path information if the match is successful.

[0076] The first and second checksums can be MD5 checksums.

[0077] In this embodiment, a verification code is used to determine whether the received upgrade information is secure, thereby ensuring device security; the hardware version is used to determine whether the firmware upgrade package is compatible with the corresponding firmware, thereby avoiding device malfunctions caused by incompatibility.

[0078] This application also proposes a method for upgrading equipment.

[0079] Please see Figure 2 , Figure 2 This is a flowchart illustrating a device upgrade method provided in an embodiment of this specification, applied to a device to be upgraded. The method includes at least the following steps:

[0080] Step 202: Obtain upgrade information sent by the cloud server, and determine path information pointing to at least one firmware upgrade package based on the upgrade information;

[0081] Step 204: Obtain the at least one firmware upgrade package from the static resource server according to the path information; wherein, the static resource server stores multiple firmware upgrade packages uploaded by the cloud server;

[0082] Step 206: Upgrade the corresponding firmware of the device to be upgraded according to the obtained firmware upgrade package.

[0083] In this embodiment, by changing the method of distributing firmware upgrade packages, a static resource server for storing firmware upgrade packages is set up between the cloud server and the device to be upgraded. This means that the firmware upgrade packages for the device to be upgraded are no longer directly distributed by the cloud server, but are first stored on the static resource server. Then, the device to be upgraded determines the path information for obtaining the firmware upgrade package from the static server based on the upgrade information sent by the cloud server, thereby achieving the acquisition of the firmware upgrade package. This method not only reduces the load on the cloud server but also avoids the impact of the device's receiving capability on the firmware upgrade, improving the success rate of device firmware upgrades.

[0084] In one embodiment, the method further includes: sending version information of the firmware it contains to the cloud server, so that the cloud server, upon determining from the version information that the device to be upgraded has firmware to be upgraded, sends the upgrade information to the device to be upgraded.

[0085] In this embodiment, the firmware to be upgraded in the device to be upgraded is pre-determined based on the version information sent by the device to be upgraded. On the one hand, this avoids sending upgrade information when the firmware in the device to be upgraded does not need to be upgraded, thereby saving network resources. On the other hand, it can pre-determine the firmware to be upgraded when the firmware in the device to be upgraded needs to be upgraded, and record the path information of the corresponding firmware upgrade package in the upgrade information, thereby improving the efficiency of firmware upgrade.

[0086] In one embodiment, when the at least one firmware upgrade package is obtained, the method further includes: during the upgrade process, reporting the upgrade progress to the cloud server; or, upon receiving an upgrade command from a user for the device to be upgraded, displaying the upgrade progress to the user. In this embodiment, by reporting the upgrade progress to the user, the user can understand the upgrade process in real time.

[0087] Furthermore, the method also includes reporting the upgrade progress and results to the cloud server in the form of logs. In this embodiment, reporting the upgrade progress and results to the cloud server in the form of logs facilitates subsequent troubleshooting of upgrade problems and improves the efficiency of handling upgrade issues.

[0088] In one embodiment, the obtained firmware upgrade package is a plurality of firmware upgrade packages, which are obtained by the device to be upgraded in the form of an integrated upgrade package. The method further includes: parsing the upgrade package to obtain a plurality of firmware upgrade packages corresponding to different firmware; and upgrading the corresponding firmware according to the plurality of firmware upgrade packages.

[0089] Furthermore, the firmware upgrade package corresponds to a firmware package type, which includes system upgrade package, application upgrade package, module upgrade package, and microcontroller upgrade package; when at least one firmware upgrade package contains firmware upgrade packages of multiple firmware types, the overall upgrade package integrates firmware upgrade packages of multiple firmware types based on a unified structure.

[0090] In this embodiment, firmware upgrade packages of different firmware types are integrated into a single upgrade package through a unified structure. The device itself parses the corresponding upgrade firmware package according to the agreed structure to complete the upgrade of each component or module. This eliminates the need for multiple operations and interactions for multiple firmware upgrades, achieving simultaneous upgrades of multiple firmware and improving upgrade efficiency.

[0091] In one embodiment, the upgrade information further includes special instruction information, which includes initialization information; the method further includes: after the upgrade is completed, performing initialization settings on any firmware in the device to be upgraded according to the initialization information.

[0092] In this embodiment, the cloud server can instruct the device to be upgraded to perform special operations through the special instruction information contained in the upgrade information.

[0093] In one embodiment, the upgrade information further includes a first verification code, which is generated based on a verification method pre-negotiated between the device to be upgraded and the cloud server; the method further includes: generating a second verification code according to the verification method, and determining the path information if the first verification code and the second verification code match successfully; and / or, the upgrade information further includes a hardware version number; the method further includes: matching the hardware version number in the upgrade information with the version number of the corresponding firmware in the device to be upgraded, and determining the path information if the match is successful.

[0094] In this embodiment, a verification code is used to determine whether the received upgrade information is secure, thereby ensuring device security; the hardware version is used to determine whether the firmware upgrade package is compatible with the corresponding firmware, thereby avoiding device malfunctions caused by incompatibility.

[0095] Please see Figure 3 , Figure 3 A block diagram illustrating a device upgrade apparatus provided in an embodiment of this specification. The apparatus is applied to a device to be upgraded and includes:

[0096] The determining unit 302 is used to obtain upgrade information sent by the cloud server and determine path information pointing to at least one firmware upgrade package based on the upgrade information;

[0097] The acquisition unit 304 is used to acquire the at least one firmware upgrade package from the static resource server according to the path information; wherein, the static resource server stores multiple firmware upgrade packages uploaded by the cloud server;

[0098] The upgrade unit 306 is used to upgrade the corresponding firmware of the device to be upgraded according to the obtained firmware upgrade package.

[0099] Optionally, the device further includes a sending unit 308, configured to send version information of its own firmware to the cloud server, so that the cloud server, upon determining from the version information that the device to be upgraded has firmware to be upgraded, sends the upgrade information to the device to be upgraded.

[0100] Optionally, if the at least one firmware upgrade package is obtained, the apparatus further includes:

[0101] The first feedback unit 310 is used to provide feedback on the upgrade progress to the cloud server during the upgrade process; or,

[0102] The second feedback unit 312 is used to display the upgrade progress to the user upon receiving an upgrade command from the user for the device to be upgraded. In this embodiment, by feeding back the upgrade progress to the user, the user can understand the upgrade process in real time.

[0103] Furthermore, the device also includes:

[0104] The reporting unit 314 is used to report the upgrade progress and upgrade results to the cloud server in the form of logs.

[0105] Optionally, the obtained firmware upgrade package is a plurality of firmware upgrade packages, which are obtained by the device to be upgraded in the form of an integrated upgrade package;

[0106] The acquisition unit 304 is specifically used to determine the device model of the device to be upgraded, and to obtain the upgrade package from the static resource server according to the device model and the path information;

[0107] The device further includes a parsing unit 316, used to parse the upgrade package and upgrade the corresponding firmware according to the multiple firmware upgrade packages corresponding to different firmware obtained from the parsing.

[0108] Furthermore, the firmware upgrade package corresponds to a firmware package type, and each firmware package type corresponds to a type of firmware. The firmware package types include system upgrade packages, application upgrade packages, module upgrade packages, and microcontroller upgrade packages. The overall upgrade package integrates firmware upgrade packages of multiple firmware types based on a preset framework. The parsing unit 316 is specifically used for:

[0109] The upgrade package built based on the preset framework is parsed to obtain multiple firmware upgrade packages of different firmware package types;

[0110] The firmware to be upgraded in the device to be upgraded is determined based on the firmware package type of the plurality of firmware upgrade packages.

[0111] Optionally, the upgrade information further includes special instruction information, which includes initialization information; the device further includes:

[0112] Setting unit 318 is used to initialize any firmware in the device to be upgraded according to the initialization information after the upgrade is completed.

[0113] Optionally, the upgrade information further includes a first verification code, which is generated based on a verification method pre-negotiated between the device to be upgraded and the cloud server; the device further includes:

[0114] The generation unit 320 is used to generate a second verification code according to the verification method, and determine the path information if the first verification code and the second verification code match successfully;

[0115] And / or, the upgrade information further includes a hardware version number; the device further includes:

[0116] The matching unit 322 is used to match the hardware version number in the upgrade information with the version number of the corresponding firmware in the device to be upgraded, and determine the path information if the match is successful.

[0117] Please see the appendix Figure 4 , Figure 4 This is a schematic diagram of an electronic device structure provided as another embodiment of this specification.

[0118] like Figure 4 As shown, the electronic device 400 may include at least one processor 401, at least one network interface 404, a user interface 403, a memory 405, and at least one communication bus 402.

[0119] The communication bus 402 can be used to realize the connection and communication of the above components.

[0120] The user interface 403 may include buttons, and the optional user interface may also include a standard wired interface or a wireless interface.

[0121] Among them, network interface 404 may include, but is not limited to, Bluetooth module, NFC module, Wi-Fi module, etc.

[0122] The processor 401 may include one or more processing cores. The processor 401 connects to various parts within the electronic device 400 using various interfaces and lines. It executes various functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in the memory 405, and by calling data stored in the memory 405. Optionally, the processor 401 may be implemented using at least one hardware form of DSP, FPGA, or PLA. The processor 401 may integrate one or more of the following: CPU, GPU, and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also not be integrated into the processor 401 and may be implemented as a separate chip.

[0123] The memory 405 may include RAM or ROM. Optionally, the memory 405 may include a non-transitory computer-readable medium. The memory 405 may be used to store instructions, programs, code, code sets, or instruction sets. The memory 405 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory 405 may also be at least one storage device located remotely from the aforementioned processor 401. As a computer storage medium, the memory 405 may include an operating system, a network communication module, a user interface module, and application programs. The processor 401 may be used to call the application programs stored in the memory 405 and execute the methods in one or more of the above embodiments.

[0124] Another embodiment of this specification provides a computer-readable storage medium storing instructions that, when executed on a computer or processor, cause the computer or processor to perform one or more steps in the above embodiments. The constituent modules of the above-described electronic device, if implemented as software functional units and used as independent downstream task predictions or applications, can be stored in the computer-readable storage medium.

[0125] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this specification are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in or transmitted through a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., Digital Versatile Discs (DVDs)), or semiconductor media (e.g., Solid State Disks (SSDs)).

[0126] The above description is merely a preferred embodiment disclosed in this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of protection involved in this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-disclosed concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this disclosure.

[0127] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

Claims

1. A firmware upgrade system, characterized by, The system comprises a cloud server, a static resource server and a device to be upgraded. The cloud server is configured to upload a firmware upgrade package for upgrading firmware contained in the device to be upgraded to the static resource server and send upgrade information to the device to be upgraded. The static resource server stores a plurality of firmware upgrade packages uploaded by the cloud server. The device to be upgraded is configured to, in response to the upgrade information sent by the cloud server, determine path information pointing to at least one firmware upgrade package according to the upgrade information and acquire the at least one firmware upgrade package from the static resource server according to the path information to perform upgrading according to the acquired firmware upgrade package.

2. The firmware upgrading system of claim 1, wherein The device to be upgraded is further configured to send version information of firmware contained therein to the cloud server. The cloud server is configured to, in a case where it is determined that there is firmware to be upgraded in the device to be upgraded according to the version information, send the upgrade information to the device to be upgraded.

3. The firmware upgrade system of claim 1, wherein, In a case where the at least one firmware upgrade package is acquired, the device to be upgraded is further configured to: upgrade corresponding firmware according to the acquired firmware upgrade package and feed back upgrade progress to the cloud server during the upgrading; or in a case where an upgrade instruction issued by a user for the device to be upgraded is received, upgrade corresponding firmware according to the acquired firmware upgrade package and show upgrade progress to the user.

4. The firmware upgrade system of claim 1, wherein, The acquired firmware upgrade package is a plurality of firmware upgrade packages, which are acquired by the device to be upgraded in the form of an integrated upgrade package, and the device to be upgraded is configured to: determine a device model of the device to be upgraded and acquire the upgrade package from the static resource server according to the device model and the path information; and analyze the upgrade package and upgrade corresponding firmware according to a plurality of firmware upgrade packages corresponding to different firmware obtained by the analysis.

5. A firmware upgrade system as claimed in claim 4, wherein, The firmware upgrade package corresponds to a firmware package type, and firmware upgrade packages of each firmware package type correspond to one kind of firmware. The firmware package type includes a system upgrade package, an application upgrade package, a module upgrade package and a single-chip microcomputer upgrade package. The upgrade package is integrated with firmware upgrade packages of a plurality of firmware types based on a preset framework. The device to be upgraded is configured to: analyze the upgrade package based on the preset framework to obtain a plurality of firmware upgrade packages of different firmware package types; and determine firmware to be upgraded in the device to be upgraded according to firmware package types of the plurality of firmware upgrade packages.

6. The firmware upgrade system of claim 1, wherein, The upgrade information further comprises special instruction information, and the special instruction information comprises initialization information. The device to be upgraded is further configured to: after the upgrading is completed, perform initialization setting on any firmware in the device to be upgraded according to the initialization information.

7. The firmware upgrading system of claim 1, wherein The upgrade information further comprises a first check code, which is generated based on a check method previously negotiated by the device to be upgraded and the cloud server; the device to be upgraded is further configured to generate a second check code according to the check method, and determine the path information if the first check code and the second check code match successfully; and / or The upgrade information further comprises a hardware version number; the device to be upgraded is further configured to match the hardware version number in the upgrade information with a version number of corresponding firmware in the device to be upgraded, and determine the path information if the matching is successful.

8. A device upgrade method characterized by comprising: The method is applied to the firmware upgrade system as claimed in any one of claims 1-7, and the method comprises: obtaining upgrade information sent by a cloud server, and determining path information pointing to at least one firmware upgrade package according to the upgrade information; obtaining the at least one firmware upgrade package from a static resource server according to the path information; wherein the static resource server stores a plurality of firmware upgrade packages uploaded by the cloud server; upgrading corresponding firmware of the device to be upgraded according to the obtained firmware upgrade package.

9. An electronic device, comprising: comprise a processor and a memory; the processor is connected to the memory; the memory is configured to store executable program codes; the processor runs a program corresponding to the executable program codes by reading the executable program codes stored in the memory, so as to execute the method as claimed in claim 8.

10. A computer-readable storage medium, characterized in that, a computer program is stored thereon, and the computer program is executed by a processor to implement the method as claimed in claim 8.