CN112000355B - Method and device for firmware upgrading and household appliance - Google Patents

Method and device for firmware upgrading and household appliance Download PDF

Info

Publication number
CN112000355B
CN112000355B CN202010850960.2A CN202010850960A CN112000355B CN 112000355 B CN112000355 B CN 112000355B CN 202010850960 A CN202010850960 A CN 202010850960A CN 112000355 B CN112000355 B CN 112000355B
Authority
CN
China
Prior art keywords
module
firmware
upgraded
package
type
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
CN202010850960.2A
Other languages
Chinese (zh)
Other versions
CN112000355A (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.)
Qingdao Haier Technology Co Ltd
Original Assignee
Qingdao Haier 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 Qingdao Haier Technology Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202010850960.2A priority Critical patent/CN112000355B/en
Publication of CN112000355A publication Critical patent/CN112000355A/en
Application granted granted Critical
Publication of CN112000355B publication Critical patent/CN112000355B/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

Abstract

The application relates to the technical field of communication, and discloses a method for firmware upgrade, which comprises the following steps: under the condition of receiving an upgrade task, determining the type of a functional module to be upgraded based on the upgrade task, and acquiring the overall unit packet header information of an overall unit firmware packet; determining a module packet header starting position according to the type of the functional module to be upgraded and the overall packet header information; and obtaining a module firmware package according to the starting position of the module package head and the type of the functional module to be upgraded so as to finish firmware upgrading. According to the method and the device for upgrading the function module, only the module firmware package corresponding to the type of the function module to be upgraded is obtained, the downloading sequence is determined based on the function module to be upgraded, the number of the obtained upgrading files in unit time can be effectively controlled, the function module to be upgraded is upgraded, meanwhile, the network occupancy rate is reduced, and the downloading speed of the module firmware package and the upgrading efficiency of the household appliance are improved. The application also discloses a device for firmware upgrade and household appliances.

Description

Method and device for firmware upgrading and household appliance
Technical Field
The present application relates to the field of communications technologies, and for example, to a method and an apparatus for firmware upgrade, and a home appliance.
Background
At present, the types of the devices of the internet of things are more and more, in order to improve the experience of users, the devices are required to be updated by system upgrading, and the requirements on the upgrading process are higher and higher. Most of the Internet of things equipment is composed of a plurality of modules, and developers can continuously develop more different new versions after the equipment is marketed so as to continuously perfect various functions of the Internet of things equipment, modify possible defects of the equipment and improve application experience of users.
The traditional application program upgrading method has two methods, one is online upgrading, the latest version of the upgrading package is downloaded from a server, the other is offline upgrading, the latest version of the upgrading package is downloaded to the mobile storage device in advance, and then the offline upgrading is carried out. In the two upgrading methods, the firmware needs to be fully backed up, and the problems that an upgrading file packet is larger and larger along with gradual upgrading of functions and the system storage space is insufficient are solved, and in the prior art, a wireless upgrading mode is provided for completing system updating and optimizing by adopting a differential upgrading packet, so that the problem of insufficient memory during upgrading is solved, and meanwhile, the downloading transmission time of an upgrading file is shortened, wherein the differential upgrading packet is generated by differential generation of a differential file between a current version and a recompiled version.
In the process of implementing the embodiments of the present disclosure, it is found that at least the following problems exist in the related art: the intelligent equipment with more functions often has more differential files, and can occupy excessive network resources.
Disclosure of Invention
The following presents a simplified summary in order to provide a basic understanding of some aspects of the disclosed embodiments. This summary is not an extensive overview, and is intended to neither identify key/critical elements nor delineate the scope of such embodiments, but is intended as a prelude to the more detailed description that follows.
The embodiment of the disclosure provides a method and a device for firmware upgrade and household appliances, and aims to solve the technical problem that intelligent equipment with more functions has more differential files and occupies excessive network resources.
In some embodiments, the method for firmware upgrade includes:
under the condition of receiving an upgrade task, determining the type of a functional module to be upgraded based on the upgrade task, and acquiring the overall unit packet header information of an overall unit firmware packet;
determining a module packet header starting position according to the type of the functional module to be upgraded and the overall packet header information;
and obtaining a module firmware package according to the starting position of the module package head and the type of the functional module to be upgraded so as to finish firmware upgrading.
In some embodiments, obtaining the module firmware package according to the module package head starting position and the type of the to-be-upgraded functional module includes:
when the type of the functional module to be upgraded is one, generating a module firmware package downloading request according to the initial position of the module package head corresponding to the type of the functional module to be upgraded, and downloading the module firmware package;
and when the types of the functional modules to be upgraded are multiple, determining the priority of the functional modules to be upgraded, generating a module firmware package downloading request according to the priority, and sequentially downloading the module firmware packages.
In some embodiments, the module firmware package download request includes a module firmware start location and a length of the module firmware.
In some embodiments, when the types of the functional modules to be upgraded are plural, the method further includes:
and carrying out integrity check on the module firmware package of the set module type, and re-downloading the module firmware package of the set module type under the condition that the check fails.
In some embodiments, when the types of the functional modules to be upgraded are plural, the method further includes:
and carrying out integrity check on part or all of the module firmware packages, and re-downloading the module firmware packages under the condition that the verification fails.
In some embodiments, integrity checking some or all of the module firmware packages includes:
and carrying out integrity check after the completion of downloading each module firmware package, and re-downloading the module firmware package under the condition that the check fails.
In some embodiments, integrity checking some or all of the module firmware packages includes:
and carrying out integrity check after the downloading of all the module firmware packages is finished, and re-checking the module firmware packages which are not passed under the condition that the check is not passed.
In some embodiments, the method further comprises:
under the condition that interruption occurs in the process of acquiring a module firmware package, recording the interruption position;
and under the condition of network recovery, continuing to acquire the module firmware package based on the recorded download interruption position.
In some embodiments, the upgrade tasks include a complete machine version number, a function module type to be upgraded, and a resource locator.
In some embodiments, the obtaining the complete machine packet header information of the complete machine firmware packet includes:
generating a complete machine packet header information request according to the complete machine version number and the resource locator;
sending the whole machine packet header information request to a resource server;
and receiving the whole machine packet header information fed back by the resource server.
In some embodiments, the whole machine packet header information includes a whole machine version number, a number of modules, a module packet header start position, and a module packet header length.
In some embodiments, the apparatus for firmware upgrade includes a processor and a memory storing program instructions, the processor configured to, when executing the program instructions, perform the method for firmware upgrade of any of the above.
In some embodiments, the home device includes the above-mentioned apparatus for firmware upgrade.
The method and the device for firmware upgrading and the household electrical appliance provided by the embodiment of the disclosure can realize the following technical effects:
and under the condition that the household appliance receives the upgrading task, determining the type of the functional module to be upgraded based on the upgrading task, and determining the starting position of the module packet header according to the type of the functional module to be upgraded and the whole machine packet header information. The home appliance determines the position of the module firmware package of the functional module to be upgraded according to the starting position of the module package head and the type of the functional module to be upgraded, only obtains the module firmware package corresponding to the type of the functional module to be upgraded, determines the downloading sequence based on the functional module to be upgraded, can effectively control the number of the obtained upgrade files in unit time, reduces the network occupancy rate while upgrading the functional module to be upgraded, and improves the downloading speed of the module firmware package and the upgrading efficiency of the home appliance.
The foregoing general description and the following description are exemplary and explanatory only and are not restrictive of the application.
Drawings
One or more embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which like reference numerals refer to similar elements, and in which:
FIG. 1 is a schematic diagram of a method for firmware upgrade provided by an embodiment of the present disclosure;
FIG. 2 is a schematic diagram of an application scenario of a method for firmware upgrade provided by an embodiment of the present disclosure;
FIG. 3 is an interactive schematic diagram of a method for firmware upgrade provided by an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of another method for firmware upgrade provided by an embodiment of the present disclosure;
fig. 5 is a schematic diagram of an apparatus for firmware upgrade provided by an embodiment of the present disclosure.
Detailed Description
So that the manner in which the features and techniques of the disclosed embodiments can be understood in more detail, a more particular description of the embodiments of the disclosure, briefly summarized below, may be had by reference to the appended drawings, which are not intended to be limiting of the embodiments of the disclosure. In the following description of the technology, for purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the disclosed embodiments. However, one or more embodiments may still be practiced without these details. In other instances, well-known structures and devices may be shown simplified in order to simplify the drawing.
The terms first, second and the like in the description and in the claims of the embodiments of the disclosure and in the above-described figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate in order to describe embodiments of the present disclosure. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion.
The term "plurality" means two or more, unless otherwise indicated.
In the embodiment of the present disclosure, the character "/" indicates that the front and rear objects are an or relationship. For example, A/B represents: a or B.
The term "and/or" is an associative relationship that describes an object, meaning that there may be three relationships. For example, a and/or B, represent: a or B, or, A and B.
FIG. 1 is a schematic diagram of a method for firmware upgrade provided by an embodiment of the present disclosure, as shown, the method comprising the steps of:
s101, under the condition that an upgrade task is received, determining the type of the functional module to be upgraded based on the upgrade task, and acquiring the complete machine packet header information of the complete machine firmware packet.
S102, determining the starting position of the module packet header according to the type of the functional module to be upgraded and the information of the whole machine packet header.
S103, obtaining a module firmware package according to the starting position of the module package head and the type of the functional module to be upgraded so as to finish firmware upgrading.
The embodiment of the disclosure is mainly directed to an application scene of the household electrical appliance. The upgrade task is generated by a cloud management platform of the household appliance, and the cloud management platform is used for centrally managing upgrade information of the household appliance. In some embodiments, the upgrade tasks are actively pushed by the cloud server. In some embodiments, the home device sends an upgrade request, and the cloud management platform issues an upgrade task when a new version does exist according to the upgrade request.
In some embodiments, the upgrade tasks include a complete machine version number, a function module type to be upgraded, and a resource locator. The home appliance can accurately position the whole firmware package according to the resource locator in the upgrading task, and further determine the position of the functional module to be upgraded in the whole firmware package according to the type of the functional module to be upgraded.
In step S101, the home device determines, when receiving the upgrade task, a type of a functional module to be upgraded based on the upgrade task. The embodiment of the disclosure can realize the differential upgrading of each module, so that a firmware package of the whole machine is not required to be downloaded, the module firmware is only required to be downloaded and upgraded, a large amount of memory resources are not required to be used, and the hardware cost is reduced.
In the embodiment of the disclosure, the whole machine firmware package is packaged by a unified packaging tool, sub-firmware of each module is packaged into a unified whole machine firmware package, and the whole machine firmware package is composed of whole machine package head information, module package head information of each sub-module and module firmware content of each sub-module as shown in table 1 below. The whole machine packet head information comprises a whole machine version number, the number of modules, the starting position of the module packet head, the length of the module packet head and verification information of the whole machine packet. The module packet header information of each sub-module consists of a module version number, a module firmware starting address, a module firmware length and module verification information.
TABLE 1
In step S102, the home appliance determines a module header start position according to the type of the to-be-upgraded functional module and the overall header information, i.e., determines a module header start position corresponding to the type of the to-be-upgraded functional module.
In step S103, a module firmware package is obtained according to the module package header start position and the type of the function module to be upgraded, that is, the module package header information is read according to the module package header start position to determine a module version number, a module firmware start address, a module firmware length, module verification information and the like, and the module firmware package is downloaded according to the module firmware start address, the module firmware length and the module verification information.
And under the condition that the household appliance receives the upgrading task, determining the type of the functional module to be upgraded based on the upgrading task, and determining the starting position of the module packet header according to the type of the functional module to be upgraded and the whole machine packet header information. The home appliance determines the position of the module firmware package of the functional module to be upgraded according to the starting position of the module package head and the type of the functional module to be upgraded, only obtains the module firmware package corresponding to the type of the functional module to be upgraded, determines the downloading sequence based on the functional module to be upgraded, can effectively control the number of the obtained upgrade files in unit time, reduces the network occupancy rate while upgrading the functional module to be upgraded, and improves the downloading speed of the module firmware package and the upgrading efficiency of the home appliance.
In different embodiments, there are various ways to obtain the module firmware package according to the starting position of the module package header and the type of the functional module to be upgraded.
In some embodiments, the home device supports multiple download tasks to be performed simultaneously, and in step S103, the home device obtains multiple module firmware packages according to the upper limit of the download task, specifically, determines multiple module firmware packages to be downloaded preferentially according to the start position of the module package header and the type of the functional module to be upgraded.
In some embodiments, the home appliance supports a single download task in the same time period, and in step S103, the obtaining a module firmware package according to the start position of the module package header and the type of the to-be-upgraded functional module includes: when the type of the functional module to be upgraded is one, generating a module firmware package downloading request according to the initial position of the module package head corresponding to the type of the functional module to be upgraded, and downloading the module firmware package; and when the types of the functional modules to be upgraded are multiple, determining the priority of the functional modules to be upgraded, generating a module firmware package downloading request according to the priority, and sequentially downloading the module firmware packages.
The above embodiments are described taking a washing machine as an example. For example: the functional module to be upgraded of the washing machine comprises a main board, a display module and a networking module, and the type of the module is set as the networking module. In the upgrading process, the networking module is used for transit and temporary storage, and the networking module obtains an upgrading file from the server to upgrade the non-networking modules (such as a main board and a display module) in the whole machine. The main board module controls the display content of the display module. In the upgrading process, the networking module has the highest priority, and the display module has the lowest priority. When the networking module and other modules need to be upgraded at the same time, the networking module is upgraded firstly to improve the acquisition rate of the firmware packages of the other modules, so that the upgrading efficiency of the other modules is improved, and then the main board is upgraded to improve the display control efficiency of the display module.
In some embodiments, the module firmware package download request includes a module firmware start location and a length of the module firmware. After the household appliance generates a module firmware package downloading request, the household appliance sends the module firmware package downloading request to a resource server storing the whole machine firmware package, receives the module firmware package sent by the resource server, and completes the downloading of the module firmware package.
In order to ensure successful upgrade, the home appliance needs to perform integrity check on the module firmware package after the module firmware package is downloaded, and in different embodiments, the verification modes of the module firmware package are different.
In some embodiments, in a case where the type of the functional module to be upgraded is a plurality of, the method further includes: and carrying out integrity check on the module firmware package with the set module type, and re-downloading the module firmware package with the set module type under the condition that the check fails. The module firmware package may be lost, error code or tampered during the transmission process, so in order to ensure that the module can be successfully upgraded, the integrity of the firmware package needs to be checked before the upgrade task is completed according to the module firmware package, and the firmware package is downloaded again under the condition that the verification is not passed, so as to avoid upgrade failure caused by loss, error code or tampered. The above embodiments are described taking a washing machine as an example. For example: the functional module to be upgraded of the washing machine comprises a main board, a display module and a networking module, and the type of the module is set as the networking module. In the upgrading process, the networking module is used for transit and temporary storage, and the networking module obtains an upgrading file from the server to upgrade the non-networking modules (such as a main board and a display module) in the whole machine. When the condition that the networking module and other modules need to be upgraded at the same time exists, the networking module is upgraded firstly to improve the acquisition rate of the firmware packages of the other modules, so that the upgrading efficiency of the other modules is improved, and when the integrity check of the networking module is not passed, the firmware packages of the networking module are downloaded again to successfully complete the upgrading of the networking module.
In some embodiments, in a case where the type of the functional module to be upgraded is a plurality of, the method further includes: and carrying out integrity check on part or all of the module firmware packages, and re-downloading the module firmware packages under the condition that the verification fails.
In some embodiments, integrity checking some or all of the module firmware packages includes: and carrying out integrity check after the completion of downloading each module firmware package, and re-downloading the module firmware package under the condition that the check fails. In the upgrading process of the household appliance, the module firmware packages are downloaded in sequence according to the priority, or the integrity check is carried out after the downloading of each module firmware package is completed under the condition that the household appliance supports a single downloading task in the same time period. The module firmware package may be lost, error code or tampered during the transmission process, so in order to ensure that the module can be successfully upgraded, the integrity of the firmware package needs to be checked before the upgrade task is completed according to the module firmware package, and the firmware package is downloaded again under the condition that the verification is not passed, so as to avoid upgrade failure caused by loss, error code or tampered. After the downloading of each module firmware package is completed, the module firmware package is checked in time, so that the upgrading efficiency can be improved.
The above embodiments are described taking a washing machine as an example. For example: the functional module to be upgraded of the washing machine comprises a main board, a display module and a networking module. In the upgrading process, the washing machine downloads the module firmware packages in sequence according to the priority, or under the condition that the washing machine supports single downloading task in the same time period, the integrity check is carried out after the downloading of each module firmware package is finished, so that the timeliness of the check and the upgrading speed are improved. When the priority of the networking module is highest and the priority of the display module is lowest, the integrity of the networking module firmware package is checked after the downloading of the networking module firmware package is completed, and when the networking module firmware package does not pass, the networking module firmware package is downloaded again, and after the checking of the networking module firmware package passes, the main board firmware package is downloaded; after the main board firmware package is downloaded, carrying out integrity check on the main board firmware package, if the main board firmware package does not pass, re-downloading the main board firmware package, and after the main board firmware package passes the check, downloading the display module firmware package; and after the display module firmware package is downloaded, carrying out integrity check on the display module firmware package, and if the display module firmware package does not pass the integrity check, downloading again until the display module firmware package passes the integrity check.
In some embodiments, integrity checking some or all of the module firmware packages includes: and carrying out integrity check after the downloading of all the module firmware packages is finished, and re-checking the module firmware packages which are not passed under the condition that the check is not passed. In the upgrading process, after finishing the downloading task of all the module firmware packages, the household appliance performs integrity check on all the downloaded module firmware packages, and re-downloads the module firmware packages which are not checked under the condition that the verification is not passed. The home appliance performs integrity check on the module firmware package in a centralized manner, and the check process is simplified.
The above embodiments are described taking a washing machine as an example. For example: the functional module to be upgraded of the washing machine comprises a main board, a display module and a networking module. In the upgrading process, after the downloading task of all the module firmware packages is completed, the washing machine performs integrity check on the main board firmware packages, the display module firmware packages and the networking module firmware packages, and downloads the main board firmware packages and the display modules again under the condition that the main board firmware packages and the display module firmware packages are not checked successfully until the downloading task of the module firmware packages is completed after the checking of all the module firmware packages is completed successfully.
In some embodiments, the method further comprises: under the condition that interruption occurs in the process of acquiring a module firmware package, recording the interruption position; and under the condition of network recovery, continuing to acquire the module firmware package based on the recorded download interruption position. The household appliance saves the downloading time and the downloading flow of the firmware package of the downloading module through the breakpoint continuous transmission flow, so that the upgrading efficiency of the household appliance is improved.
In some embodiments, in step S101, obtaining the overall packet header information of the overall firmware packet includes: generating a complete machine packet header information request according to the complete machine version number and the resource locator; transmitting a complete machine packet header information request to a resource server; and receiving the whole machine packet header information fed back by the resource server. The resource locator is a storage location of the whole machine firmware package. The household appliance obtains the complete machine version number of the household appliance, determines a resource locator based on the upgrade task sent by the cloud management platform, and generates a complete machine packet header information request according to the complete machine version number and the resource locator. The home appliance sends a complete machine packet header information request to the resource server so as to receive complete machine packet header information fed back by the resource server.
And under the condition that the household appliance receives the upgrading task, determining the type of the functional module to be upgraded based on the upgrading task, and determining the starting position of the module packet header according to the type of the functional module to be upgraded and the whole machine packet header information. The home appliance determines the position of the module firmware package of the functional module to be upgraded according to the starting position of the module package head and the type of the functional module to be upgraded, only obtains the module firmware package corresponding to the type of the functional module to be upgraded, determines the downloading sequence based on the functional module to be upgraded, can effectively control the number of the obtained upgrade files in unit time, reduces the network occupancy rate while upgrading the functional module to be upgraded, and improves the downloading speed of the module firmware package and the upgrading efficiency of the home appliance.
The disclosed embodiments also provide an apparatus for firmware upgrade, the apparatus comprising a processor and a memory storing program instructions, the processor being configured to perform the method for firmware upgrade of any of the above when executing the program instructions.
Fig. 2 is an application scenario schematic diagram of a method for firmware upgrade according to an embodiment of the present disclosure, as shown in the drawing, including a cloud management platform, a resource server, and a home appliance. The household appliance comprises one or more networking modules and one or more other functional modules.
In the process of firmware upgrading of the household appliance, the networking module is communicated with an external cloud management platform and a resource server. The networking module is used for sending the complete machine version information to the cloud management platform, receiving the upgrading task issued by the cloud management receipt, and downloading the module firmware package of the module to be upgraded from the resource server.
FIG. 3 is an interactive schematic diagram of a method for firmware upgrade provided by an embodiment of the present disclosure, as shown, the method comprising the steps of:
s11, the household appliance updates the version number of the whole machine.
And after the household appliance is powered on, the complete machine version number is updated, and the current complete machine version information is determined so as to accurately acquire the updated information and successfully complete firmware upgrading.
In some embodiments, the home device includes a networking module and other functional modules. In the upgrading process, the networking module is used for transit and temporary storage, and the networking module obtains an upgrading file from the resource server to upgrade the non-networking modules (such as a main board and a display module) in the whole machine. The step S11 includes: the networking module sends a version number request instruction to other functional modules; the networking module acquires the function version numbers fed back by other function modules; and the networking module updates the version number of the whole machine according to the feedback information quantity and other functional version numbers. The complete machine version number consists of firmware number, networking module version number and other functional module version numbers, and takes' as separator.
An air conditioner will be described as an example. For example: the complete machine version number of the air conditioner is 4.6.3.2.1, wherein 4 is the total number of networking modules and other functional modules, and 6, 3, 2 and 1 are the version numbers of the modules 1 to 4 respectively and are shaping values. Module 1 is a networking module with a version number of 6.
And S12, the household appliance sends the complete machine version number to the cloud management platform. And the networking module in the household appliance is in communication connection with the cloud management platform, and the networking module sends the whole version number to the cloud management platform.
S13, the cloud management platform determines the type of the functional module to be upgraded according to the version number of the whole machine, and generates an upgrade task.
The cloud management platform is used for centrally managing upgrade information of the household appliances, and when a developer develops a new upgrade file for the household appliances, the upgrade information is graded on the cloud management platform, so that the cloud management platform can centrally manage the upgrade information of various household appliances. And the cloud management platform determines whether version update exists according to the version number of the whole machine and timely feeds back an upgrading task when the version update exists.
The cloud management platform may further obtain basic information of the home appliance when receiving the version number of the complete machine, for example: device type and device identification, etc.
The above embodiments are described taking a washing machine as an example. For example: the washing machine module comprises a main board, a display module and a networking module, the version number of the whole machine sent to the cloud management platform by the washing machine is 3.1.2.6, wherein 3 is the number of the modules, 1 is the version number of the networking module, 2 is the version number of the main board, and 6 is the version number of the display module. And the cloud management platform stores a 3.2.2.7 complete machine version number corresponding to the equipment identifier of the household electrical appliance, and the networking module and the display module are to-be-upgraded functional modules.
The cloud management platform determines a storage location, i.e. a resource locator, of the upgrade package according to the device type or the device identification before generating the upgrade task. Optionally, the resource locator is determined according to the device type. The resource locator is website information of a resource server, and the resource server comprises the following components according to different equipment types: television resource server, refrigerator resource server, air conditioner resource server, etc. Optionally, the resource locator is determined according to a device brand in the device identity. And the cloud management platform generates an upgrading task according to the complete machine version number, the type of the functional module to be upgraded and the resource locator stored in the cloud management platform.
S14, the cloud management platform sends an upgrading task to the household appliance. The cloud management platform sends an upgrade task according to the received device identifier of the home appliance corresponding to the whole version number, so that the home appliance can accurately receive the corresponding upgrade task.
S15, the household appliance analyzes the upgrading task to obtain the type of the functional module to be upgraded and the resource locator. Before the upgrade task is analyzed, the networking module of the household appliance receives the upgrade task sent by the cloud management platform.
S16, the household appliance generates a complete machine packet head information request according to the complete machine version number and the resource locator.
And under the condition that the household appliance receives the upgrading task, determining the type of the functional module to be upgraded based on the upgrading task. The embodiment of the disclosure can realize the differential upgrading of each module, so that a firmware package of the whole machine is not required to be downloaded, the module firmware is only required to be downloaded and upgraded, a large amount of memory resources are not required to be used, and the hardware cost is reduced.
Optionally, the resource locator is determined according to the type of the home device. The home appliance generates a complete machine packet header information request according to the complete machine version number and the resource locator, and can successfully acquire the complete machine packet header information.
S17, the household appliance sends a complete machine packet header information request to the resource server. The networking module in the household appliance is in communication connection with the resource server, and the networking module sends a complete machine packet header information request to the resource server.
S18, the resource server determines the whole machine packet header information corresponding to the whole machine version number.
S19, the resource server feeds back the complete machine packet header information to the household appliance.
S20, the home appliance determines a module packet header starting position according to the type of the functional module to be upgraded and the overall packet header information, namely, determines the module packet header starting position corresponding to the type of the functional module to be upgraded.
S21, the household appliance generates a module firmware package downloading request according to the module package head starting position and the type of the to-be-upgraded functional module, namely reads module package head information according to the module package head starting position, determines a module version number, a module firmware starting address, a module firmware length, module verification information and the like, and downloads a module firmware upgrading package according to the module firmware starting address, the module firmware length and the module verification information.
S22, the household appliance sends a module firmware package downloading request to the resource server.
In some embodiments, the home device supports multiple download tasks to be performed simultaneously, and the home device generates a firmware package download request according to an upper limit of the download task to obtain multiple module firmware packages, specifically, determines multiple module firmware packages to be downloaded preferentially according to a start position of a module package header and a type of a functional module to be upgraded.
In some embodiments, the home device supports a single download task within the same time period, and the home device sends a module firmware package download request to the resource server, including: when the type of the functional module to be upgraded is one, generating a module firmware package downloading request according to the initial position of the module package head corresponding to the type of the functional module to be upgraded, and sending the module firmware package downloading request to a resource server to download the module firmware package; and when the types of the functional modules to be upgraded are multiple, determining the priority of the functional modules to be upgraded, generating a module firmware package downloading request according to the priority, and sequentially sending the module firmware package downloading request to a resource server to download the module firmware package.
In some embodiments, the module firmware package download request includes a module firmware start location and a length of the module firmware. After the household appliance generates a module firmware package downloading request, the household appliance sends the module firmware package downloading request to a resource server storing the whole machine firmware package, receives the module firmware package sent by the resource server, and completes the downloading of the module firmware package.
S23, the resource server sends a module firmware package to the household appliance.
S24, the household appliance completes module upgrading according to the module firmware package. The networking module in the household appliance is in communication connection with the resource server, acquires a module firmware package, and distributes the module firmware package to the corresponding module to finish upgrading.
In order to ensure successful upgrade, the home appliance needs to perform integrity check on the module firmware package after the module firmware package is downloaded, and in different embodiments, the verification modes of the module firmware package are different.
In some embodiments, in a case where the type of the functional module to be upgraded is a plurality of, the method further includes: and carrying out integrity check on the module firmware package with the set module type, and re-downloading the module firmware package with the set module type under the condition that the check fails.
In some embodiments, in a case where the type of the functional module to be upgraded is a plurality of, the method further includes: and carrying out integrity check on part or all of the module firmware packages, and re-downloading the module firmware packages under the condition that the verification fails.
In some embodiments, integrity checking some or all of the module firmware packages includes: and carrying out integrity check after the completion of downloading each module firmware package, and re-downloading the module firmware package under the condition that the check fails. In the upgrading process of the household appliance, the module firmware packages are downloaded in sequence according to the priority, or under the condition that the household appliance supports single downloading task in the same time period, the integrity check is carried out after the downloading of each module firmware package is finished, so that the timeliness of the check and the upgrading speed are improved.
In some embodiments, integrity checking some or all of the module firmware packages includes: and carrying out integrity check after the downloading of all the module firmware packages is finished, and re-checking the module firmware packages which are not passed under the condition that the check is not passed. In the upgrading process, after finishing the downloading task of all the module firmware packages, the household appliance performs integrity check on all the downloaded module firmware packages, and re-downloads the module firmware packages which are not checked under the condition that the verification is not passed. The home appliance performs integrity check on the module firmware package in a centralized manner, and the check process is simplified.
In some embodiments, the method further comprises: under the condition that interruption occurs in the process of acquiring a module firmware package, recording the interruption position; and under the condition of network recovery, continuing to acquire the module firmware package based on the recorded download interruption position. The household appliance saves the downloading time and the downloading flow of the firmware package of the downloading module through the breakpoint continuous transmission flow, so that the upgrading efficiency of the household appliance is improved.
FIG. 4 is a schematic diagram of another apparatus for firmware upgrade provided by an embodiment of the present disclosure, where FIG. 4 shows an interrupt occurring in a module firmware package, and includes the following steps:
s41, the networking module sends a module firmware package downloading request to the resource server.
The format of the module firmware package download request is (offset, len), the offset is the start position of the module firmware package, and len is the total length of the module firmware package.
S42, the resource server responds to the module firmware package corresponding to the module firmware package downloading request.
S43, the networking module stores the received module firmware package and records the interrupt position.
S44, the networking module generates a residual module firmware package request based on the downloading interrupt position.
If the module firmware package length received by the networking module before the network disconnection is set to be len1, the networking module stores a downloading interrupt position len1, and generates a residual module firmware package request based on the downloading interrupt position len 1. The remaining module firmware package request format is (offset+len1, len-len 1).
S45, the networking module sends a request of the remaining module firmware package to the resource server.
S46, the resource server responds to the rest module firmware package.
The resource server receives the remaining module firmware package request (offset+len1, len-len 1), then replies to the remaining module firmware package based on offset+len1 as a new offset, the remaining module firmware package length being len-len1.
In the embodiment of the disclosure, when the household appliance receives an upgrade task, the type of a functional module to be upgraded and a resource locator are determined based on the upgrade task, and the complete machine packet header information is acquired from a resource server based on the resource locator. The type of the functional module to be upgraded of the household appliance and the header information of the whole machine determine the initial position of the header of the module. The home appliance determines the position of the module firmware package of the functional module to be upgraded according to the starting position of the module package head and the type of the functional module to be upgraded, only obtains the module firmware package corresponding to the type of the functional module to be upgraded, determines the downloading sequence based on the functional module to be upgraded, can effectively control the number of the obtained upgrade files in unit time, reduces the network occupancy rate while upgrading the functional module to be upgraded, and improves the downloading speed of the module firmware package and the upgrading efficiency of the home appliance.
As shown in connection with FIG. 5, an embodiment of the present disclosure provides an apparatus for firmware upgrade, including a processor (processor) 500 and a memory (memory) 501. Optionally, the apparatus may further comprise a communication interface (Communication Interface) 502 and a bus 503. The processor 500, the communication interface 502, and the memory 501 may communicate with each other via the bus 503. The communication interface 502 may be used for information transfer. The processor 500 may call logic instructions in the memory 501 to perform the method for firmware upgrade of the above-described embodiments.
Further, the logic instructions in the memory 501 may be implemented in the form of software functional units and may be stored in a computer readable storage medium when sold or used as a stand alone product.
The memory 501 is a computer readable storage medium that may be used to store a software program, a computer executable program, and program instructions/modules corresponding to the methods in the embodiments of the present disclosure. The processor 500 performs functional applications and data processing by running program instructions/modules stored in the memory 501, i.e. implements the method for firmware upgrade in the above-described embodiments.
Memory 501 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, at least one application program required for functionality; the storage data area may store data created according to the use of the terminal device, etc. Further, the memory 501 may include a high-speed random access memory, and may also include a nonvolatile memory.
The embodiment of the disclosure also provides a household appliance, which comprises the device for firmware upgrade.
Embodiments of the present disclosure provide a computer-readable storage medium storing computer-executable instructions configured to perform the above-described method for firmware upgrade.
The disclosed embodiments provide a computer program product comprising a computer program stored on a computer readable storage medium, the computer program comprising program instructions which, when executed by a computer, cause the computer to perform the above-described method for firmware upgrade.
The computer readable storage medium may be a transitory computer readable storage medium or a non-transitory computer readable storage medium.
Embodiments of the present disclosure may be embodied in a software product stored on a storage medium, including one or more instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of a method according to embodiments of the present disclosure. And the aforementioned storage medium may be a non-transitory storage medium including: a plurality of media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or a transitory storage medium.
The above description and the drawings illustrate embodiments of the disclosure sufficiently to enable those skilled in the art to practice them. Other embodiments may involve structural, logical, electrical, process, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in, or substituted for, those of others. Moreover, the terminology used in the present application is for the purpose of describing embodiments only and is not intended to limit the claims. As used in the description of the embodiments and the claims, the singular forms "a," "an," and "the" (the) are intended to include the plural forms as well, unless the context clearly indicates otherwise. Similarly, the term "and/or" as used in this disclosure is meant to encompass any and all possible combinations of one or more of the associated listed. Furthermore, when used in the present disclosure, the terms "comprises," "comprising," and/or variations thereof, mean that the recited features, integers, steps, operations, elements, and/or components are present, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Without further limitation, an element defined by the phrase "comprising one …" does not exclude the presence of other like elements in a process, method or apparatus comprising such elements. In this context, each embodiment may be described with emphasis on the differences from the other embodiments, and the same similar parts between the various embodiments may be referred to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method sections disclosed in the embodiments, the description of the method sections may be referred to for relevance.
Those of skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. The skilled artisan may use different methods for each particular application to achieve the described functionality, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. It will be clearly understood by those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the embodiments disclosed herein, the disclosed methods, articles of manufacture (including but not limited to devices, apparatuses, etc.) may be practiced in other ways. For example, the apparatus embodiments described above are merely illustrative, and for example, the division of the units may be merely a logical function division, and there may be additional divisions when actually implemented, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. In addition, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interface, device or unit indirect coupling or communication connection, which may be in electrical, mechanical or other form. The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to implement the present embodiment. In addition, each functional unit in the embodiments of the present disclosure may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. In the description corresponding to the flowcharts and block diagrams in the figures, operations or steps corresponding to different blocks may also occur in different orders than that disclosed in the description, and sometimes there is no set order between the different operations or steps. For example, two consecutive operations or steps may actually be performed substantially in parallel, they may sometimes be performed in reverse order, which may be dependent on the functions involved. Each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

Claims (9)

1. A method for firmware upgrade, comprising:
under the condition of receiving an upgrade task, determining the type of a functional module to be upgraded based on the upgrade task, and acquiring the overall unit packet header information of an overall unit firmware packet;
determining a module packet header starting position according to the type of the functional module to be upgraded and the overall packet header information;
acquiring a module firmware package according to the starting position of the module package head and the type of the functional module to be upgraded so as to finish firmware upgrading;
obtaining a module firmware package according to the module package head starting position and the type of the functional module to be upgraded, wherein the module firmware package comprises:
when the types of the functional modules to be upgraded are multiple, determining the priority of the functional modules to be upgraded, generating a module firmware package downloading request according to the priority, and sequentially downloading the module firmware packages; the module firmware package download request includes a module firmware start position and a module firmware length.
2. The method of claim 1, wherein obtaining a module firmware package according to the module header start position and the type of functional module to be upgraded, further comprises:
and when the type of the functional module to be upgraded is one, generating a module firmware package downloading request according to the initial position of the module package head corresponding to the type of the functional module to be upgraded, and downloading the module firmware package.
3. The method according to claim 1, wherein in the case where the types of the functional modules to be upgraded are plural, further comprising:
and carrying out integrity check on the module firmware package of the set module type, and re-downloading the module firmware package of the set module type under the condition that the check fails.
4. A method according to any one of claims 1 to 3, further comprising:
if interruption occurs in the process of obtaining the module firmware package, recording the interruption position;
and under the condition of network recovery, continuing to acquire the module firmware package based on the recorded download interruption position.
5. A method according to any of claims 1 to 3, characterized in that the upgrade task comprises a complete machine version number, a function module type to be upgraded and a resource locator.
6. The method of claim 5, wherein the obtaining the overall header information of the overall firmware package comprises:
generating a complete machine packet header information request according to the complete machine version number and the resource locator;
sending the whole machine packet header information request to a resource server;
and receiving the whole machine packet header information fed back by the resource server.
7. A method according to any one of claims 1 to 3, wherein the complete machine header information includes a complete machine version number, a number of modules, a module header start position, and a module header length.
8. An apparatus for firmware upgrade comprising a processor and a memory storing program instructions, wherein the processor is configured to perform the method for firmware upgrade of any of claims 1-7 when executing the program instructions.
9. An appliance comprising the apparatus for firmware upgrade of claim 8.
CN202010850960.2A 2020-08-21 2020-08-21 Method and device for firmware upgrading and household appliance Active CN112000355B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010850960.2A CN112000355B (en) 2020-08-21 2020-08-21 Method and device for firmware upgrading and household appliance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010850960.2A CN112000355B (en) 2020-08-21 2020-08-21 Method and device for firmware upgrading and household appliance

Publications (2)

Publication Number Publication Date
CN112000355A CN112000355A (en) 2020-11-27
CN112000355B true CN112000355B (en) 2023-10-24

Family

ID=73473971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010850960.2A Active CN112000355B (en) 2020-08-21 2020-08-21 Method and device for firmware upgrading and household appliance

Country Status (1)

Country Link
CN (1) CN112000355B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732316A (en) * 2020-12-31 2021-04-30 杭州艾芯智能科技有限公司 Firmware upgrading method and system of door lock module, computer and storage medium
CN113835726B (en) * 2021-08-16 2023-11-28 青岛海尔科技有限公司 Method for determining upgrade package and server
CN113852489A (en) * 2021-08-16 2021-12-28 青岛海尔科技有限公司 Upgrade package obtaining method and intelligent device
CN113721968B (en) * 2021-08-31 2024-04-02 杭州海康威视数字技术股份有限公司 Firmware upgrading method and device
CN114938365A (en) * 2022-03-18 2022-08-23 青岛海尔科技有限公司 Method and device for updating functional module, storage medium and electronic device
CN117202163A (en) * 2022-05-31 2023-12-08 中兴通讯股份有限公司 Information transmission method and device, storage medium and electronic device
CN117560285B (en) * 2024-01-08 2024-04-09 河北普兰特生物科技有限公司 Intelligent control internet of things OTA upgrading method, client and server

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1798034A (en) * 2004-12-31 2006-07-05 中国科学院声学研究所 Method for upgrading software of digital terminal system in DVB system
WO2016082547A1 (en) * 2014-11-25 2016-06-02 中兴通讯股份有限公司 Upgrade file manufacturing method and apparatus and upgrade file acquiring method and apparatus
KR20170036421A (en) * 2015-09-24 2017-04-03 한화테크윈 주식회사 Method for executing and updating boot program
CN106843942A (en) * 2016-12-31 2017-06-13 歌尔科技有限公司 The firmware upgrade method and Wearable of Wearable
WO2018041061A1 (en) * 2016-08-29 2018-03-08 深圳市中兴微电子技术有限公司 Onboard device upgrade method, device, system and computer storage medium
CN109002312A (en) * 2018-09-10 2018-12-14 京信通信系统(中国)有限公司 Method for upgrading software, device and upgrade server and equipment
CN109960523A (en) * 2017-12-22 2019-07-02 浙江宇视科技有限公司 A kind of firmware upgrade method and device of embedded device
CN110187897A (en) * 2019-05-28 2019-08-30 新华三技术有限公司 A kind of firmware upgrade method and device
CN110784348A (en) * 2019-10-23 2020-02-11 迈普通信技术股份有限公司 Firmware upgrading method and device, electronic equipment and storage medium
CN111176702A (en) * 2019-12-16 2020-05-19 京信通信系统(中国)有限公司 Firmware upgrading method and device, computer equipment and storage medium
CN111552502A (en) * 2020-04-21 2020-08-18 海尔优家智能科技(北京)有限公司 NB module upgrading method and device of intelligent equipment

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1798034A (en) * 2004-12-31 2006-07-05 中国科学院声学研究所 Method for upgrading software of digital terminal system in DVB system
WO2016082547A1 (en) * 2014-11-25 2016-06-02 中兴通讯股份有限公司 Upgrade file manufacturing method and apparatus and upgrade file acquiring method and apparatus
KR20170036421A (en) * 2015-09-24 2017-04-03 한화테크윈 주식회사 Method for executing and updating boot program
WO2018041061A1 (en) * 2016-08-29 2018-03-08 深圳市中兴微电子技术有限公司 Onboard device upgrade method, device, system and computer storage medium
CN106843942A (en) * 2016-12-31 2017-06-13 歌尔科技有限公司 The firmware upgrade method and Wearable of Wearable
CN109960523A (en) * 2017-12-22 2019-07-02 浙江宇视科技有限公司 A kind of firmware upgrade method and device of embedded device
CN109002312A (en) * 2018-09-10 2018-12-14 京信通信系统(中国)有限公司 Method for upgrading software, device and upgrade server and equipment
CN110187897A (en) * 2019-05-28 2019-08-30 新华三技术有限公司 A kind of firmware upgrade method and device
CN110784348A (en) * 2019-10-23 2020-02-11 迈普通信技术股份有限公司 Firmware upgrading method and device, electronic equipment and storage medium
CN111176702A (en) * 2019-12-16 2020-05-19 京信通信系统(中国)有限公司 Firmware upgrading method and device, computer equipment and storage medium
CN111552502A (en) * 2020-04-21 2020-08-18 海尔优家智能科技(北京)有限公司 NB module upgrading method and device of intelligent equipment

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A Hardware-based Framework for Secure Firmware Updates on Embedded Systems;Solon Falas等;2019 IFIP/IEEE 27th International Conference on Very Large Scale Integration (VLSI-SoC);第198-203页 *
SCADA network forensics of the PCCC protocol;Saranyan Senthivel等;Digital Investigation;第22卷;第S57-S65页 *
基于ZigBee协议OTA技术的研究与优化;沈亮;中国优秀硕士学位论文全文数据库 信息科技辑(第5期);I136-258 *
电动汽车智能远程监控及控制终端设计;王毅;中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑(第2期);C035-641 *

Also Published As

Publication number Publication date
CN112000355A (en) 2020-11-27

Similar Documents

Publication Publication Date Title
CN112000355B (en) Method and device for firmware upgrading and household appliance
CN108074177B (en) Data reconciliation method, system and computer-readable storage medium
CN108111331A (en) Acquisition methods, device, storage medium, processor and the system of updated data package
CN105786549B (en) Smart machine and its upgrade method
CN111447248A (en) File transmission method and device
CN106155734B (en) Method and device for downloading software version
CN110417828A (en) A kind of upgrade method and device of internet-of-things terminal
CN105450682A (en) Method, device, and system for data synchronous storage and synchronizing data to client
CN112995806A (en) Method, device, system and storage medium for upgrading optical network unit
CN111258756A (en) Load balancing method and device, computer equipment and readable storage medium
CN103164232A (en) Method and system of updating intelligent terminal operating system and computer
CN102769625A (en) Client-side Cookie information acquisition method and device
CN109697117B (en) Terminal control method, terminal control device and computer-readable storage medium
CN113986313A (en) Software upgrading method and device, electronic equipment and storage medium
CN106791124A (en) The brush machine method and brush machine device of mobile terminal
CN108460002A (en) Affiliate's automatic butt method, apparatus, equipment and storage medium
CN112579141A (en) Firmware updating method, device, equipment and storage medium of embedded system
CN104506942A (en) Set-top box and upgrading method of cable modem system of set-top box
CN107124446A (en) Application program method for down loading, server and terminal
CN110502238A (en) A kind of method and device of front and back end joint debugging
CN106254440B (en) AP upgrading method and device
CN111885564B (en) Data transmission method, equipment upgrading method and computer readable storage medium
US10979287B2 (en) Method and apparatus for receiving a solution when configuration function verification fails in a terminal
CN115167907A (en) Terminal equipment upgrading method, server, electronic equipment and storage medium
CN114489737A (en) Multi-firmware OTA (over the air) upgrading method and device, server and storage medium

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