WO2021036917A1 - Method and apparatus for upgrading system in internet of things device, device, and storage medium - Google Patents

Method and apparatus for upgrading system in internet of things device, device, and storage medium Download PDF

Info

Publication number
WO2021036917A1
WO2021036917A1 PCT/CN2020/110400 CN2020110400W WO2021036917A1 WO 2021036917 A1 WO2021036917 A1 WO 2021036917A1 CN 2020110400 W CN2020110400 W CN 2020110400W WO 2021036917 A1 WO2021036917 A1 WO 2021036917A1
Authority
WO
WIPO (PCT)
Prior art keywords
upgrade
program
internet
predetermined threshold
upgrades
Prior art date
Application number
PCT/CN2020/110400
Other languages
French (fr)
Chinese (zh)
Inventor
李燕琼
Original Assignee
阿里巴巴集团控股有限公司
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 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2021036917A1 publication Critical patent/WO2021036917A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Definitions

  • the present disclosure relates to the field of the Internet of Things, and in particular to a system upgrade method, device, device, and storage medium in an Internet of Things device.
  • a technical problem to be solved by the present disclosure is to provide an upgrade solution that can deal with the upgrade risk of IoT devices.
  • a system upgrade method in an Internet of Things device includes: checking whether there is an upgrade identifier; if the upgrade identifier exists, determining whether the number of upgrades exceeds a first predetermined threshold; If the number of upgrades exceeds the first predetermined threshold, start the first system, and/or if it is determined that the number of upgrades does not exceed the first predetermined threshold, try to start the second system, where the second system is the new system to be upgraded , The version of the first system is lower than that of the second system.
  • the system upgrade method further includes: in the case that there is no upgrade identifier, starting the first system.
  • system upgrade method further includes: in the case of trying to start the second system, adding one to the number of upgrades.
  • system upgrade method further includes: in the case of successfully starting the second system, clearing the upgrade identifier and/or the number of upgrades.
  • the system upgrade method further includes: setting a timer, which is used to trigger the execution of the system upgrade method in response to the timing exceeding a second predetermined threshold, or trigger the activation of the first system.
  • the system upgrade method further includes: in a case where the second system is successfully started, the following operations are cyclically performed: resetting the timing before the timing of the timer exceeds a second predetermined threshold.
  • system upgrade method further includes: generating an upgrade identifier in response to receiving an upgrade file or an upgrade instruction issued by the server.
  • the step of starting the first system includes: starting the system that was running before the upgrade; or according to the stability of the system, selecting a version of the system from the previous versions of the second system to start.
  • the Internet of Things device is at least one of the following: a vehicle; a personal digital assistant terminal; a sensor; a smart home device.
  • the storage area of the Internet of Things device is divided into a first area, a second area, a third area, and a fourth area.
  • the first area is used to store the boot loader, and the boot loader is used to execute the system upgrade method.
  • the second area is used to store the first system, the third area is used to store the second system; the fourth area is used to store the upgrade identifier and/or the number of upgrades.
  • a system upgrade method in an Internet of Things device which includes: setting a boot loader, the boot loader is configured to: in response to the Internet of Things device being powered on, execute as in the present disclosure
  • the system upgrade method mentioned in the first aspect includes: setting a boot loader, the boot loader is configured to: in response to the Internet of Things device being powered on, execute as in the present disclosure
  • a system upgrade method in an Internet of Things device including: in response to a system upgrade request, attempting to start the second system; when the second system fails to start or the number of times the second system fails to start When the first predetermined threshold is exceeded, the first system is started, where the second system is a new system to be upgraded, and the version of the first system is lower than the second system.
  • a program upgrade method in an Internet of Things device includes: checking whether there is an upgrade identifier; if there is an upgrade identifier, judging whether the number of upgrades exceeds a first predetermined threshold; If it is determined that the number of upgrades exceeds the first predetermined threshold, start the first program, and/or if it is determined that the number of upgrades does not exceed the first predetermined threshold, try to start the second program, where the second program is the new upgrade to be upgraded.
  • the version of the first program is lower than that of the second program.
  • a program upgrade method in an Internet of Things device including: setting a boot loader, the boot loader is configured to: in response to the Internet of Things device being powered on and started, execute as in the present disclosure
  • the program upgrade method mentioned in the fourth aspect is also proposed, including: setting a boot loader, the boot loader is configured to: in response to the Internet of Things device being powered on and started, execute as in the present disclosure
  • a program upgrade method in an Internet of Things device includes: responding to a program upgrade request, attempting to start a second program; when the second program fails to start or the number of times the second program fails to start When the first predetermined threshold is exceeded, the first program is started, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program.
  • a system upgrade device in an Internet of Things device which includes: a checking module for checking whether there is an upgrade identifier; a judging module for judging if there is an upgrade identifier Whether the number of upgrades exceeds the first predetermined threshold; the first activation module is used to activate the first system and/or the second activation module when the judging module determines that the number of upgrades exceeds the first predetermined threshold. If the number of upgrades does not exceed the first predetermined threshold, try to start the second system, where the second system is a new system to be upgraded, and the version of the first system is lower than the second system.
  • a system upgrade device in an Internet of Things device including: a setting module for setting a boot loader, the boot loader is configured to: respond to the startup of the Internet of Things device , Execute the system upgrade method as mentioned in the first aspect of this disclosure.
  • a system upgrade apparatus in an Internet of Things device including: a second activation module for trying to activate the second system in response to a system upgrade request; and a first activation module for using When the second system fails to start or the number of times the second system fails to start exceeds a predetermined threshold, the first system is started, where the second system is a new system to be upgraded, and the version of the first system is lower than the second system.
  • a program upgrade device in an Internet of Things device including: a checking module, used to check whether there is an upgrade identifier; a judging module, used to determine if there is an upgrade identifier Whether the number of upgrades exceeds the first predetermined threshold; the first activation module is used to activate the first program and/or the second activation module when the judging module determines that the number of upgrades exceeds the first predetermined threshold. If the number of upgrades does not exceed the first predetermined threshold, try to start the second program, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program.
  • a program upgrade apparatus in an Internet of Things device including: a setting module for setting a boot loader, the boot loader is configured to respond to the power-on of the Internet of Things device Start and execute the program upgrade method as mentioned in the fourth aspect of this disclosure.
  • a program upgrade device in an Internet of Things device including: a second startup module, which is used to respond to a program upgrade request and try to start the second program; and a first startup module, Used to start the first program when the second program fails to start or the number of times the second program fails to start exceeds the first predetermined threshold, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program program.
  • a computing device including: a processor; and a memory, on which executable code is stored.
  • the processor can execute as it is. The method mentioned in any one of the first aspect to the sixth aspect is disclosed.
  • a non-transitory machine-readable storage medium which stores executable code, and when the executable code is executed by the processor of the electronic device, the processor executes such as The method mentioned in any one of the first aspect to the sixth aspect of the present disclosure.
  • the present disclosure supports system upgrades in IoT devices, and can automatically roll back to the previous version when the system upgrade fails or the number of upgrades exceeds a predetermined threshold, thereby eliminating the upgrade risk of IoT devices.
  • Figure 1 shows the communication flow chart between the Internet of Things device and the server.
  • Figure 2 shows a schematic diagram of the storage area layout structure of the Internet of Things device.
  • Fig. 3 shows a schematic flowchart of a system upgrade method in an Internet of Things device according to an embodiment of the present disclosure.
  • Fig. 4 shows a schematic structural diagram of an upgrading apparatus in an Internet of Things device according to an embodiment of the present disclosure.
  • Fig. 5 shows a schematic structural diagram of an upgrading apparatus in an Internet of Things device according to another embodiment of the present disclosure.
  • Fig. 6 shows a schematic structural diagram of a computing device according to an embodiment of the present disclosure.
  • Figure 1 shows the communication flow chart between the Internet of Things device and the server.
  • the IoT device 100 mentioned in the present disclosure can be, but is not limited to, a PDA (Personal Digital Assistant, personal digital assistant) smart terminal, a vehicle (such as an unmanned car), a sensor, a smart home device (such as, but not limited to, smart speakers, Sweeping robots, smart bulbs, smart switches, smart door locks, etc.
  • the PDA smart terminal can be, but is not limited to, a shipment tracking scan recorder, a mobile POS machine used to implement one or more functions such as retail billing, printing of small receipts, inventory, data uploading, and daily settlement.
  • the Internet of Things that is, the "Internet of Everything” is an extended and expanded network based on the Internet. It is a huge network formed by combining various information sensing devices with the Internet. Time, any place, the interconnection of people, machines and things.
  • the Internet of Things device 100 may communicate with a server through the Internet of Things, and may also be connected with other Internet of Things devices through the Internet of Things.
  • the IoT device 100 can be upgraded remotely by using OTA (Over-the-Air Technology).
  • the Internet of Things device 100 may obtain an update file from the server 200 through the network, so as to realize the remote upgrade of the Internet of Things device 100.
  • the network can be, but is not limited to, a wireless communication network, the Internet, a private area network, a local area network, a metropolitan area network, a wide area network, or a cellular data network.
  • the present disclosure proposes a system upgrade solution that supports automatic rollback to the previous version after the upgrade fails.
  • the present disclosure mainly sets up a boot loader, guides the system upgrade based on the boot loader, and provides response processing in the case of an upgrade failure.
  • the boot loader mentioned in the present disclosure can be regarded as the first piece of software code that runs after the device is powered on, and the boot loader can be implemented as a kind of firmware, for example, it can be Bootloader firmware.
  • the boot loader can be started first, and the boot loader executes the system upgrade method of the present disclosure, so as to realize the system upgrade and the handling processing in the case of failure of the upgrade.
  • Figure 2 shows a schematic diagram of the storage area layout structure of the Internet of Things device.
  • the storage area of the IoT device can be divided into a first area, a second area, a third area, and a fourth area.
  • the division mentioned here does not represent the execution of the actual division action, but may refer to the logical division.
  • the first area is used to store a boot loader, and the boot loader is used to execute the system upgrade method of the present disclosure to boot the entire system.
  • the second area is used to store the first system
  • the third area is used to store the second system.
  • the second system is a new system to be upgraded.
  • the version of the first system is lower than that of the second system.
  • the first system can be regarded as the old system. .
  • the first system may refer to the system where the device has been running before the new system is upgraded, and the second area may store one or more old systems whose versions are lower than the second system.
  • the fourth area is used to store upgrade parameters such as upgrade identification and upgrade times.
  • the parameters defined in the fourth area are designed as a data bridge for the boot loader and the system program to share, and can cooperate with each other to complete the automatic judgment of the system startup failure.
  • the old system in the second zone can be replaced with the new system, and the third zone can be cleared to wait for the arrival of the new upgraded system.
  • the new system can also be added to the second area without deleting the old system stored in the second area, so that the second area can store systems that have been run by multiple devices.
  • Fig. 3 shows a schematic flowchart of a system upgrade method in an Internet of Things device according to an embodiment of the present disclosure.
  • the boot loader is first started, and under the guidance of the boot loader, the implementation of the entire system upgrade method is realized.
  • step S110 the boot loader can set the timer, that is, initialize the timer.
  • the timer is used for timing, and triggers the execution of the system upgrade method of the present disclosure (that is, triggers the restart of the boot loader) in response to the timing exceeding a predetermined threshold (for ease of partitioning, it may be referred to as the second predetermined threshold), or triggers the first system Start.
  • the timer can be implemented as a hardware module, such as a hardware watchdog.
  • the first system may be a system running before the upgrade, for example, it may be a system of the previous version of the second system.
  • the first system may also be a system of a version selected from multiple versions of systems before the second system, that is, the first system may be a system selected from a plurality of old systems stored in the second area.
  • step S120 it is checked whether there is an upgrade identifier.
  • the upgrade identifier is used to characterize whether the IoT device currently has an upgrade requirement, and the upgrade identifier may be an identifier generated in response to receiving an upgrade file or an upgrade instruction issued by the server. Regarding the specific representation form of the upgrade identifier, this disclosure will not repeat it.
  • step S190 may be executed to start the first system.
  • the system that was running before the upgrade can be started, or the system with better stability can be selected from the systems of multiple versions before the second system according to the system stability of each version obtained by statistics. Start up.
  • step S130 may be executed to determine whether the number of upgrades exceeds a predetermined threshold N (for ease of partitioning, it may be referred to as a first predetermined threshold).
  • a predetermined threshold N for ease of partitioning, it may be referred to as a first predetermined threshold.
  • the number of upgrades mentioned here refers to the number of attempts to start the new system to be upgraded, that is, the number of failures.
  • the size of the first predetermined threshold can be set according to actual conditions.
  • the fourth area is used to store upgrade identification, upgrade times and other parameters. Therefore, when step S120 and step S130 are executed, the upgrade identification and upgrade times can be obtained from the fourth area to realize the search for the upgrade identification. , Judging the number of upgrades and other operations.
  • step S190 may be executed to start the first system.
  • step S140 and step S150 may be executed to increase the number of upgrades by 1 and try to start the new system.
  • step S160 can be executed to determine whether the startup is successful.
  • the startup is successful, that is, the upgrade is successful.
  • the startup time that is, the upgrade time
  • step S195 may be executed to cause the timer to time out, thereby triggering the restart of the boot loader.
  • the timer can also be timed out by executing step S195 to trigger the startup of the first system.
  • step S170 may be executed to cyclically perform the following operations: reset the timing before the timing of the timer exceeds the second predetermined threshold. By cyclically clearing the timer to zero, it is possible to avoid restarting the boot loader or rolling back to the first system due to the timer timeout when the new system can run normally. Wherein, when the timer is a watchdog, step S170 is to automatically feed the watchdog. Optionally, step S170 may be executed by the new system after successful startup.
  • the system upgrade method (that is, the boot loader) of the present disclosure can be restarted in the event that the system upgrade fails with the cooperation of the timer.
  • the timer may also be used to automatically roll back to the first system in the case that the startup time of the second system exceeds the second predetermined threshold.
  • step S180 may also be executed to clear the upgrade identifier and/or the number of upgrades. Therefore, after performing step S180, the new system after successful startup can be used as the current operating system. After that, if the IoT device needs to be upgraded again, the currently operating system can be used as the first system, and the new system to be upgraded The system can be used as a new second system, and the process shown in Figure 3 is executed again to achieve system upgrades.
  • the present disclosure can initialize the timer under the action of the boot loader and boot the new system. After the new system is successfully started, the timer can be reset cyclically to avoid system restart. When the new system fails to start, the system restart can be triggered by a timer, and the upgrade method of the present disclosure is executed again under the action of the boot loader, and when the number of failures (that is, the number of upgrades) exceeds the first predetermined threshold, it automatically rolls back To the old system.
  • the present disclosure also proposes another system upgrade method in the Internet of Things device, which includes: setting a boot loader, and the boot loader is configured to execute the system upgrade method shown in FIG. 3 above.
  • the present disclosure also proposes another system upgrade method in an Internet of Things device, including: in response to a system upgrade request, attempting to start the second system; when the second system fails to start or the number of times the second system fails to start exceeds a first predetermined threshold In case, start the first system.
  • the system upgrade request is the system upgrade requirement of the IoT device. It can be judged whether there is a system upgrade requirement by checking whether there is an upgrade identifier. For the upgrade identifier, please refer to the relevant description above, which will not be repeated here.
  • the number of failures (that is, the number of startups mentioned above) can be increased by 1, and then try to start the second system again, so that when the number of failures exceeds the first predetermined threshold, no more attempts Start the second system, but start the first system.
  • the present disclosure can trigger a re-upgrade or rollback to the first system according to the time it takes for the second system to start.
  • a timer can be set to realize that the system automatically rolls back to the first system when the second system fails to start or the number of times the second system fails to start exceeds a predetermined threshold.
  • the timer may be set to trigger the start of the first system in response to the timing exceeding the second predetermined threshold, and the bootloader may time out the timer when the second system fails to start or the number of failures exceeds the first predetermined threshold, To roll back to the first system.
  • RTOS real-time operating system
  • IoT devices as express tracking and scanning recorders and mobile POS machines as examples
  • the first system/second system mentioned above may refer to a real-time operating system (RTOS).
  • RTOS means that when external events or data are generated, they can be accepted and processed quickly enough, and the results of the processing can control the production process or respond quickly to the processing system within a specified time, and control all real-time An operating system where tasks are coordinated to run.
  • the present disclosure can also be implemented as a program upgrade method for upgrading other non-system programs in the Internet of Things device. That is, the first system/second system mentioned above can also be replaced with the first program/second program running in the Internet of Things device.
  • the disclosed program upgrade method in the Internet of Things device may include: checking whether there is an upgrade identifier; if there is an upgrade identifier, determining whether the number of upgrades exceeds a first predetermined threshold; when it is determined that the number of upgrades exceeds the first predetermined threshold , Start the first program, and/or if it is determined that the number of upgrades does not exceed the first predetermined threshold, try to start the second program, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program. program. That is to say, the present disclosure can also be used to upgrade non-system programs in the Internet of Things device. For details about the method, please refer to the relevant description above, which will not be repeated here.
  • the disclosed program upgrade method in the Internet of Things device may further include: setting a boot loader, and the boot loader is configured to execute the program upgrade method mentioned above.
  • the disclosed program upgrade method in the Internet of Things device may further include: responding to the program upgrade request, attempting to start the second program; in the case where the second program fails to start or the number of times the second program fails to start exceeds the first predetermined threshold, starting The first program, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program.
  • Fig. 4 shows a schematic structural diagram of an upgrading apparatus in an Internet of Things device according to an embodiment of the present disclosure.
  • the functional modules of the upgrading device can be implemented by hardware, software, or a combination of hardware and software that implement the principles of the present disclosure.
  • the functional modules described in FIG. 4 can be combined or divided into sub-modules to realize the principle of the above-mentioned invention. Therefore, the description herein can support any possible combination, or division, or further limitation of the functional modules described herein.
  • the upgrading apparatus 400 includes a checking module 410, a judgment module 420, a first activation module 430 and/or a second activation module 440.
  • the upgrading apparatus 400 is used to implement system upgrading in an Internet of Things device.
  • the checking module 410 is used to check whether there is an upgrade identifier.
  • the first activation module 430 can activate the first system.
  • the first startup module 430 may start the system that was running before the upgrade, or may also select a version of the system from multiple versions of the system before the second system to start it according to the stability of the system.
  • the judgment module 420 may determine whether the number of upgrades exceeds the first predetermined threshold.
  • the first activation module 430 may activate the first system.
  • the second activation module 440 may try to activate the second system.
  • the upgrading apparatus 400 may further include an accumulation module, which is used to increase the number of upgrades by one when the second activation module 440 attempts to activate the second system.
  • the upgrading apparatus 400 may further include a clearing module, which is used to clear the upgrade identifier and/or the number of upgrades when the second starting module 440 successfully starts the second system.
  • the upgrading apparatus 400 may further include a timer, which is used to trigger the execution of the system upgrading method in response to the timing exceeding the second predetermined threshold, or to trigger the start of the first system.
  • the upgrading apparatus 400 may further include a resetting module, which is configured to perform the following operations cyclically when the second starting module 440 successfully starts the second system: resetting the timing before the timing of the timer exceeds the second predetermined threshold.
  • a resetting module which is configured to perform the following operations cyclically when the second starting module 440 successfully starts the second system: resetting the timing before the timing of the timer exceeds the second predetermined threshold.
  • the upgrading apparatus 400 may further include a generating module for generating an upgrade identifier in response to receiving an upgrade file or an upgrade instruction issued by the server.
  • the upgrading apparatus 400 is used to implement program upgrading in an Internet of Things device.
  • the checking module 410 is used to check whether there is an upgrade identifier.
  • the first startup module 430 can start the first program.
  • the first startup module 430 may start the program that was running before the upgrade, or may also select a version of the program from multiple versions of programs before the second program to start it according to program stability.
  • the judgment module 420 may determine whether the number of upgrades exceeds the first predetermined threshold.
  • the first starting module 430 may start the first program, and the first program is a program whose version is lower than the second program.
  • the second starting module 440 may try to start the second program, and the second program is a new program to be upgraded.
  • the upgrading apparatus 400 may further include an accumulation module, which is used to increase the number of upgrades by one when the second activation module 440 attempts to start the second program.
  • the upgrading apparatus 400 may further include a clearing module, which is used to clear the upgrade identifier and/or the number of upgrades when the second starting module 440 successfully starts the second program.
  • the upgrading apparatus 400 may further include a timer, which is used to trigger the execution of the system upgrading method or trigger the start of the first program in response to the timing exceeding the second predetermined threshold.
  • the upgrading apparatus 400 may further include a resetting module, which is configured to perform the following operations cyclically when the second start-up module 440 successfully starts the second program: reset the timing before the timing of the timer exceeds the second predetermined threshold.
  • the upgrading apparatus 400 may further include a generating module for generating an upgrade identifier in response to receiving an upgrade file or an upgrade instruction issued by the server.
  • the present disclosure also proposes another upgrade device in the Internet of Things equipment.
  • the upgrading device includes a setting module for setting a boot loader.
  • the boot loader may be configured to execute the system upgrade method mentioned above, or it may be configured to execute the program upgrade method mentioned above.
  • Fig. 5 shows a schematic structural diagram of an upgrading apparatus in an Internet of Things device according to another embodiment of the present disclosure.
  • the functional modules of the upgrading device can be implemented by hardware, software, or a combination of hardware and software that implement the principles of the present disclosure.
  • the functional modules described in Fig. 4 can be combined or divided into sub-modules to realize the principle of the above-mentioned invention. Therefore, the description herein can support any possible combination, or division, or further limitation of the functional modules described herein.
  • the upgrading apparatus 500 includes a first activation module 510 and a second activation module 520.
  • the upgrading apparatus 400 is used to implement system upgrading in an Internet of Things device.
  • the second activation module 520 is configured to respond to the system upgrade request and try to activate the second system.
  • the first startup module 510 is used to start the first system when the second system fails to start or the number of times the second system fails to start exceeds the first predetermined threshold, where the second system is a new system to be upgraded, and the first system The version is lower than the second system.
  • the upgrading apparatus 400 is used to implement program upgrading in an Internet of Things device.
  • the second activation module 520 is configured to respond to the program upgrade request and try to activate the second program.
  • the first startup module 510 is configured to start the first program when the second program fails to start or the number of times the second program fails to start exceeds a first predetermined threshold, where the second program is a new program to be upgraded, and the first program The version is lower than the second program.
  • FIG. 6 shows a schematic structural diagram of a computing device that can be used to implement the system upgrade method or program method in the above-mentioned Internet of Things device according to an embodiment of the present disclosure.
  • the computing device 600 includes a memory 610 and a processor 620.
  • the processor 620 may be a multi-core processor, or may include multiple processors.
  • the processor 620 may include a general-purpose main processor and one or more special co-processors, such as a graphics processing unit (GPU), a digital signal processor (DSP), and so on.
  • the processor 620 may be implemented using a customized circuit, such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA, Field Programmable Gate Arrays).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Arrays
  • the memory 610 may include various types of storage units, such as a system memory, a read only memory (ROM), and a permanent storage device.
  • the ROM may store static data or instructions required by the processor 620 or other modules of the computer.
  • the permanent storage device may be a readable and writable storage device.
  • the permanent storage device may be a non-volatile storage device that does not lose stored instructions and data even after the computer is powered off.
  • the permanent storage device adopts a large-capacity storage device (such as a magnetic or optical disk, flash memory) as the permanent storage device.
  • the permanent storage device may be a removable storage device (for example, a floppy disk, an optical drive).
  • the system memory can be a readable and writable storage device or a volatile readable and writable storage device, such as dynamic random access memory.
  • the system memory can store some or all of the instructions and data needed by the processor at runtime.
  • the memory 610 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and magnetic disks and/or optical disks may also be used.
  • the memory 610 may include a removable storage device that can be read and/or written, such as a compact disc (CD), a read-only digital versatile disc (for example, DVD-ROM, dual-layer DVD-ROM), Read-only Blu-ray discs, ultra-density discs, flash memory cards (such as SD cards, minSD cards, Micro-SD cards, etc.), magnetic floppy disks, etc.
  • a removable storage device such as a compact disc (CD), a read-only digital versatile disc (for example, DVD-ROM, dual-layer DVD-ROM), Read-only Blu-ray discs, ultra-density discs, flash memory cards (such as SD cards, minSD cards, Micro-SD cards, etc.), magnetic floppy disks, etc.
  • the computer-readable storage medium does not include carrier waves and instant electronic signals that are transmitted wirelessly or wiredly.
  • the memory 610 stores executable code.
  • the processor 620 can be made to execute the system upgrade method or program method in the Internet of Things device described above.
  • the method according to the present disclosure can also be implemented as a computer program or computer program product, the computer program or computer program product including computer program code instructions for executing the above-mentioned steps defined in the above-mentioned method of the present disclosure.
  • the present disclosure can also be implemented as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) on which executable code (or computer program, or computer instruction code) is stored ), when the executable code (or computer program, or computer instruction code) is executed by the processor of the electronic device (or computing device, server, etc.), the processor is caused to execute each step of the above-mentioned method according to the present disclosure .
  • each block in the flowchart or block diagram may represent a module, program segment, or part of the code, and the module, program segment, or part of the code contains one or more functions for realizing the specified logic function.
  • Executable instructions may also occur in a different order than marked in the drawings. For example, two consecutive blocks can actually be executed substantially in parallel, or they can sometimes be executed in the reverse order, depending on the functions involved.
  • each block in the block diagram and/or flowchart, and the combination of the blocks in the block diagram and/or flowchart can be implemented by a dedicated hardware-based system that performs the specified functions or operations Or it can be realized by a combination of dedicated hardware and computer instructions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed in embodiments of the present invention are a method and apparatus for upgrading a system in an Internet of Things device, a device, and a storage medium. The method comprises: checking whether an upgrade identifier exists; when an upgrade identifier exists, determining whether the upgrade count exceeds a first predetermined threshold; when determined that the upgrade count exceeds the first predetermined threshold, starting up a first system, and/or when determined that the upgrade count does not exceed the first predetermined threshold, attempting to start up a second system, the second system being a new system to be upgraded, and the version of the first system being lower than that of the second system. Thus, a previous version may be automatically rolled back to when a system cannot be upgraded.

Description

物联网设备中的***升级方法、装置、设备及存储介质System upgrade method, device, equipment and storage medium in Internet of things equipment
本申请要求2019年08月28日递交的申请号为201910799751.7、发明名称为“物联网设备中的***升级方法、装置、设备及存储介质”中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on August 28, 2019 with the application number 201910799751.7 and the title of the invention "System upgrade method, device, equipment and storage medium in Internet of Things equipment", the entire content of which is incorporated by reference In this application.
技术领域Technical field
本公开涉及物联网领域,特别涉及物联网设备中的***升级方法、装置、设备及存储介质。The present disclosure relates to the field of the Internet of Things, and in particular to a system upgrade method, device, device, and storage medium in an Internet of Things device.
背景技术Background technique
随着物联网的纵深发展,数十亿甚至数百亿的物联网设备通过联网接入云服务网,与此同时物联网设备开发周期、新功能的发布逐渐加快,联网设备的售后成本问题也越来越突出,促使利用OTA(Over-the-Air Technology,空中下载技术)对物联网设备进行远程升级变得越来越迫切。With the in-depth development of the Internet of Things, billions or even tens of billions of Internet of Things devices are connected to the cloud service network through the Internet. At the same time, the development cycle of Internet of Things devices and the release of new functions are gradually accelerating, and the after-sales cost of Internet devices has become more and more problematic. The more and more prominent, it has become more and more urgent to use OTA (Over-the-Air Technology, over-the-air download technology) to remotely upgrade IoT devices.
然而当前物联网设备升级方案比较匮乏,普遍使用原地升级,这种升级方式造成的安全问题非常突出,若升级新版本***软件后新版本不工作,***存在变砖永远无法恢复的风险。However, the current Internet of Things device upgrade solutions are relatively scarce, and in-situ upgrades are commonly used. The security problems caused by this upgrade method are very prominent. If the new version of the system software does not work after upgrading the new version of the system software, there is a risk that the system will never be restored after being bricked.
因此,需要一种能够应对物联网设备的升级风险的升级方案。Therefore, there is a need for an upgrade solution that can deal with the upgrade risk of IoT devices.
发明内容Summary of the invention
本公开要解决的一个技术问题是,提供一种能够应对物联网设备的升级风险的升级方案。A technical problem to be solved by the present disclosure is to provide an upgrade solution that can deal with the upgrade risk of IoT devices.
根据本公开的第一个方面,提出了一种物联网设备中的***升级方法,包括:检查是否存在升级标识;在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;在判定升级次数超过第一预定阈值的情况下,启动第一***,并且/或者在判定升级次数未超过第一预定阈值的情况下,尝试启动第二***,其中,第二***为待升级的新***,第一***的版本低于第二***。According to the first aspect of the present disclosure, a system upgrade method in an Internet of Things device is proposed, which includes: checking whether there is an upgrade identifier; if the upgrade identifier exists, determining whether the number of upgrades exceeds a first predetermined threshold; If the number of upgrades exceeds the first predetermined threshold, start the first system, and/or if it is determined that the number of upgrades does not exceed the first predetermined threshold, try to start the second system, where the second system is the new system to be upgraded , The version of the first system is lower than that of the second system.
可选地,该***升级方法还包括:在不存在升级标识的情况下,启动第一***。Optionally, the system upgrade method further includes: in the case that there is no upgrade identifier, starting the first system.
可选地,该***升级方法还包括:在尝试启动第二***的情况下,将升级次数加一。Optionally, the system upgrade method further includes: in the case of trying to start the second system, adding one to the number of upgrades.
可选地,该***升级方法还包括:在成功启动第二***的情况下,清除升级标识和/ 或升级次数。Optionally, the system upgrade method further includes: in the case of successfully starting the second system, clearing the upgrade identifier and/or the number of upgrades.
可选地,该***升级方法还包括:设置定时器,定时器用于响应于计时超过第二预定阈值触发***升级方法的执行,或者触发第一***的启动。Optionally, the system upgrade method further includes: setting a timer, which is used to trigger the execution of the system upgrade method in response to the timing exceeding a second predetermined threshold, or trigger the activation of the first system.
可选地,该***升级方法还包括:在成功启动第二***的情况下,循环执行如下操作:在定时器的计时超过第二预定阈值之前,重置计时。Optionally, the system upgrade method further includes: in a case where the second system is successfully started, the following operations are cyclically performed: resetting the timing before the timing of the timer exceeds a second predetermined threshold.
可选地,该***升级方法还包括:响应于接收到服务器下发的升级文件或升级指令,生成升级标识。Optionally, the system upgrade method further includes: generating an upgrade identifier in response to receiving an upgrade file or an upgrade instruction issued by the server.
可选地,启动第一***的步骤包括:启动升级前运行的***;或者根据***稳定性,从第二***之前多个版本的***中选择一个版本的***进行启动。Optionally, the step of starting the first system includes: starting the system that was running before the upgrade; or according to the stability of the system, selecting a version of the system from the previous versions of the second system to start.
可选地,物联网设备为以下至少一项:车辆;个人数字助理终端;传感器;智能家居设备。Optionally, the Internet of Things device is at least one of the following: a vehicle; a personal digital assistant terminal; a sensor; a smart home device.
可选地,物联网设备的存储区被划分为第一区、第二区、第三区以及第四区,第一区用于存储引导加载程序,引导加载程序用于执行***升级方法,第二区用于存储第一***,第三区用于存储第二***;第四区用于存储升级标识和/或升级次数。Optionally, the storage area of the Internet of Things device is divided into a first area, a second area, a third area, and a fourth area. The first area is used to store the boot loader, and the boot loader is used to execute the system upgrade method. The second area is used to store the first system, the third area is used to store the second system; the fourth area is used to store the upgrade identifier and/or the number of upgrades.
根据本公开的第二个方面,还提出了一种物联网设备中的***升级方法,包括:设置引导加载程序,引导加载程序被配置为:响应于物联网设备上电启动,执行如本公开第一个方面述及的***升级方法。According to the second aspect of the present disclosure, a system upgrade method in an Internet of Things device is also proposed, which includes: setting a boot loader, the boot loader is configured to: in response to the Internet of Things device being powered on, execute as in the present disclosure The system upgrade method mentioned in the first aspect.
根据本公开的第三个方面,还提出了一种物联网设备中的***升级方法,包括:响应于***升级请求,尝试启动第二***;在第二***启动失败或者第二***启动失败次数超过第一预定阈值的情况下,启动第一***,其中,第二***为待升级的新***,第一***的版本低于第二***。According to the third aspect of the present disclosure, a system upgrade method in an Internet of Things device is also proposed, including: in response to a system upgrade request, attempting to start the second system; when the second system fails to start or the number of times the second system fails to start When the first predetermined threshold is exceeded, the first system is started, where the second system is a new system to be upgraded, and the version of the first system is lower than the second system.
根据本公开的第四个方面,还提出了一种物联网设备中的程序升级方法,包括:检查是否存在升级标识;在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;在判定升级次数超过第一预定阈值的情况下,启动第一程序,并且/或者在判定升级次数未超过第一预定阈值的情况下,尝试启动第二程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。According to the fourth aspect of the present disclosure, a program upgrade method in an Internet of Things device is also proposed, which includes: checking whether there is an upgrade identifier; if there is an upgrade identifier, judging whether the number of upgrades exceeds a first predetermined threshold; If it is determined that the number of upgrades exceeds the first predetermined threshold, start the first program, and/or if it is determined that the number of upgrades does not exceed the first predetermined threshold, try to start the second program, where the second program is the new upgrade to be upgraded. The version of the first program is lower than that of the second program.
根据本公开的第五个方面,还提出了一种物联网设备中的程序升级方法,包括:设置引导加载程序,引导加载程序被配置为:响应于物联网设备上电启动,执行如本公开第四个方面述及的程序升级方法。According to the fifth aspect of the present disclosure, a program upgrade method in an Internet of Things device is also proposed, including: setting a boot loader, the boot loader is configured to: in response to the Internet of Things device being powered on and started, execute as in the present disclosure The program upgrade method mentioned in the fourth aspect.
根据本公开的第六个方面,还提出了一种物联网设备中的程序升级方法,包括:响 应于程序升级请求,尝试启动第二程序;在第二程序启动失败或者第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。According to the sixth aspect of the present disclosure, a program upgrade method in an Internet of Things device is also proposed, which includes: responding to a program upgrade request, attempting to start a second program; when the second program fails to start or the number of times the second program fails to start When the first predetermined threshold is exceeded, the first program is started, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program.
根据本公开的第七个方面,还提出了一种物联网设备中的***升级装置,包括:检查模块,用于检查是否存在升级标识;判断模块,用于在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;第一启动模块,用于在判断模块判定升级次数超过第一预定阈值的情况下,启动第一***,和/或第二启动模块,用于在判断模块判定升级次数未超过第一预定阈值的情况下,尝试启动第二***,其中,第二***为待升级的新***,第一***的版本低于第二***。According to the seventh aspect of the present disclosure, a system upgrade device in an Internet of Things device is also proposed, which includes: a checking module for checking whether there is an upgrade identifier; a judging module for judging if there is an upgrade identifier Whether the number of upgrades exceeds the first predetermined threshold; the first activation module is used to activate the first system and/or the second activation module when the judging module determines that the number of upgrades exceeds the first predetermined threshold. If the number of upgrades does not exceed the first predetermined threshold, try to start the second system, where the second system is a new system to be upgraded, and the version of the first system is lower than the second system.
根据本公开的第八个方面,还提出了一种物联网设备中的***升级装置,包括:设置模块,用于设置引导加载程序,引导加载程序被配置为:响应于物联网设备上电启动,执行如本公开第一个方面述及的***升级方法。According to the eighth aspect of the present disclosure, there is also proposed a system upgrade device in an Internet of Things device, including: a setting module for setting a boot loader, the boot loader is configured to: respond to the startup of the Internet of Things device , Execute the system upgrade method as mentioned in the first aspect of this disclosure.
根据本公开的第九个方面,还提出了一种物联网设备中的***升级装置,包括:第二启动模块,用于响应于***升级请求,尝试启动第二***;第一启动模块,用于在第二***启动失败或者第二***启动失败次数超过预定阈值的情况下,启动第一***,其中,第二***为待升级的新***,第一***的版本低于第二***。According to the ninth aspect of the present disclosure, there is also proposed a system upgrade apparatus in an Internet of Things device, including: a second activation module for trying to activate the second system in response to a system upgrade request; and a first activation module for using When the second system fails to start or the number of times the second system fails to start exceeds a predetermined threshold, the first system is started, where the second system is a new system to be upgraded, and the version of the first system is lower than the second system.
根据本公开的第十个方面,还提出了一种物联网设备中的程序升级装置,包括:检查模块,用于检查是否存在升级标识;判断模块,用于在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;第一启动模块,用于在判断模块判定升级次数超过第一预定阈值的情况下,启动第一程序,和/或第二启动模块,用于在判断模块判定升级次数未超过第一预定阈值的情况下,尝试启动第二程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。According to the tenth aspect of the present disclosure, a program upgrade device in an Internet of Things device is also proposed, including: a checking module, used to check whether there is an upgrade identifier; a judging module, used to determine if there is an upgrade identifier Whether the number of upgrades exceeds the first predetermined threshold; the first activation module is used to activate the first program and/or the second activation module when the judging module determines that the number of upgrades exceeds the first predetermined threshold. If the number of upgrades does not exceed the first predetermined threshold, try to start the second program, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program.
根据本公开的第十一个方面,还提出了一种物联网设备中的程序升级装置,包括:设置模块,用于设置引导加载程序,引导加载程序被配置为:响应于物联网设备上电启动,执行如本公开第四个方面述及的程序升级方法。According to the eleventh aspect of the present disclosure, a program upgrade apparatus in an Internet of Things device is also proposed, including: a setting module for setting a boot loader, the boot loader is configured to respond to the power-on of the Internet of Things device Start and execute the program upgrade method as mentioned in the fourth aspect of this disclosure.
根据本公开的第十二个方面,还提出了一种物联网设备中的程序升级装置,包括:第二启动模块,用于响应于程序升级请求,尝试启动第二程序;第一启动模块,用于在第二程序启动失败或者第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。According to the twelfth aspect of the present disclosure, a program upgrade device in an Internet of Things device is also proposed, including: a second startup module, which is used to respond to a program upgrade request and try to start the second program; and a first startup module, Used to start the first program when the second program fails to start or the number of times the second program fails to start exceeds the first predetermined threshold, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program program.
根据本公开的第十三个方面,还提出了一种计算设备,包括:处理器;以及存储器, 其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如本公开第一个方面至第六个方面中任一个方面述及的方法。According to the thirteenth aspect of the present disclosure, there is also proposed a computing device, including: a processor; and a memory, on which executable code is stored. When the executable code is executed by the processor, the processor can execute as it is. The method mentioned in any one of the first aspect to the sixth aspect is disclosed.
根据本公开的第十四个方面,还提出了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如本公开第一个方面至第六个方面中任一个方面述及的方法。According to the fourteenth aspect of the present disclosure, a non-transitory machine-readable storage medium is also proposed, which stores executable code, and when the executable code is executed by the processor of the electronic device, the processor executes such as The method mentioned in any one of the first aspect to the sixth aspect of the present disclosure.
本公开支持物联网设备中的***升级,并可以在***升级失败或升级次数超过预定阈值时,自动回滚到之前版本,从而可以消除物联网设备的升级风险。The present disclosure supports system upgrades in IoT devices, and can automatically roll back to the previous version when the system upgrade fails or the number of upgrades exceeds a predetermined threshold, thereby eliminating the upgrade risk of IoT devices.
附图说明Description of the drawings
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。Through a more detailed description of the exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, the above and other objectives, features and advantages of the present disclosure will become more apparent. Among them, in the exemplary embodiments of the present disclosure, the same reference numerals generally represent The same parts.
图1示出了物联网设备与服务器间的通信流程图。Figure 1 shows the communication flow chart between the Internet of Things device and the server.
图2示出了物联网设备的存储区布局结构示意图。Figure 2 shows a schematic diagram of the storage area layout structure of the Internet of Things device.
图3示出了根据本公开一实施例的物联网设备中的***升级方法的示意性流程图。Fig. 3 shows a schematic flowchart of a system upgrade method in an Internet of Things device according to an embodiment of the present disclosure.
图4示出了根据本公开一个实施例的物联网设备中的升级装置的结构示意图。Fig. 4 shows a schematic structural diagram of an upgrading apparatus in an Internet of Things device according to an embodiment of the present disclosure.
图5示出了根据本公开另一个实施例的物联网设备中的升级装置的结构示意图。Fig. 5 shows a schematic structural diagram of an upgrading apparatus in an Internet of Things device according to another embodiment of the present disclosure.
图6示出了根据本公开一实施例的计算设备的结构示意图。Fig. 6 shows a schematic structural diagram of a computing device according to an embodiment of the present disclosure.
具体实施方式detailed description
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。Hereinafter, preferred embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although the preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
图1示出了物联网设备与服务器间的通信流程图。Figure 1 shows the communication flow chart between the Internet of Things device and the server.
本公开述及的物联网设备100可以是但不限于PDA(Personal Digital Assistant,个人数字助理)智能终端、车辆(如无人汽车)、传感器、智能家居设备(如可以包括但不限于智能音箱、扫地机器人、智能灯泡、智能开关、智能门锁)等。其中PDA智能终端可以是但不限于快件跟踪扫描记录仪,用于实现零售开单、打印小票、盘点、数据 上传和日结等一种或多种功能的移动POS机。The IoT device 100 mentioned in the present disclosure can be, but is not limited to, a PDA (Personal Digital Assistant, personal digital assistant) smart terminal, a vehicle (such as an unmanned car), a sensor, a smart home device (such as, but not limited to, smart speakers, Sweeping robots, smart bulbs, smart switches, smart door locks, etc. Among them, the PDA smart terminal can be, but is not limited to, a shipment tracking scan recorder, a mobile POS machine used to implement one or more functions such as retail billing, printing of small receipts, inventory, data uploading, and daily settlement.
物联网(Internet of Things,简称IoT),即“万物相连的互联网”是互联网基础上的延伸和扩展的网络,将各种信息传感设备与互联网结合起来而形成的一个巨大网络,实现在任何时间、任何地点,人、机、物的互联互通。物联网设备100可以通过物联网与服务器通信,也可以通过物联网与其他物联网设备连接。The Internet of Things (IoT), that is, the "Internet of Everything" is an extended and expanded network based on the Internet. It is a huge network formed by combining various information sensing devices with the Internet. Time, any place, the interconnection of people, machines and things. The Internet of Things device 100 may communicate with a server through the Internet of Things, and may also be connected with other Internet of Things devices through the Internet of Things.
如图1所示,物联网设备100可以利用OTA(Over-the-Air Technology,空中下载技术)进行远程升级。例如,物联网设备100可以通过网络从服务器200获取更新文件,以实现物联网设备100的远程升级。其中网络可以是但不限于无线通信网络、因特网、私域网、局域网、城域网、广域网或是蜂窝数据网络等。As shown in FIG. 1, the IoT device 100 can be upgraded remotely by using OTA (Over-the-Air Technology). For example, the Internet of Things device 100 may obtain an update file from the server 200 through the network, so as to realize the remote upgrade of the Internet of Things device 100. The network can be, but is not limited to, a wireless communication network, the Internet, a private area network, a local area network, a metropolitan area network, a wide area network, or a cellular data network.
在物联网设备100利用OTA进行远程升级的过程中,不可避免地会出现因升级文件错误或其他原因导致升级失败的情况发生。In the process of remote upgrade of the Internet of Things device 100 using OTA, it is inevitable that the upgrade will fail due to an upgrade file error or other reasons.
为了使得***升级失败时,物联网设备100能够自动回滚到之前的版本,不影响设备的正常使用,本公开提出了一种支持升级失败自动回滚到之前版本的***升级方案。本公开主要是设置引导加载程序,基于引导加载程序引导***升级并提供升级失败情况下的应对处理。本公开述及的引导加载程序可以视为设备加电后运行的第一段软件代码,其中引导加载程序可以实现为一种固件,例如可以是Bootloader固件。In order to enable the IoT device 100 to automatically roll back to the previous version when the system upgrade fails, without affecting the normal use of the device, the present disclosure proposes a system upgrade solution that supports automatic rollback to the previous version after the upgrade fails. The present disclosure mainly sets up a boot loader, guides the system upgrade based on the boot loader, and provides response processing in the case of an upgrade failure. The boot loader mentioned in the present disclosure can be regarded as the first piece of software code that runs after the device is powered on, and the boot loader can be implemented as a kind of firmware, for example, it can be Bootloader firmware.
物联网设备上电启动后,可以首先启动引导加载程序,由引导加载程序执行本公开的***升级方法,实现***升级及升级失败情况下的应对处理。After the Internet of Things device is powered on and started, the boot loader can be started first, and the boot loader executes the system upgrade method of the present disclosure, so as to realize the system upgrade and the handling processing in the case of failure of the upgrade.
图2示出了物联网设备的存储区布局结构示意图。Figure 2 shows a schematic diagram of the storage area layout structure of the Internet of Things device.
如图2所示,物联网设备的存储区可以划分为第一区、第二区、第三区以及第四区。其中这里述及的划分不代表执行实际的划分动作,而可以是指逻辑上的划分。As shown in Figure 2, the storage area of the IoT device can be divided into a first area, a second area, a third area, and a fourth area. The division mentioned here does not represent the execution of the actual division action, but may refer to the logical division.
第一区用于存储引导加载程序,引导加载程序用于执行本公开的***升级方法,引导启动整个***。The first area is used to store a boot loader, and the boot loader is used to execute the system upgrade method of the present disclosure to boot the entire system.
第二区用于存储第一***,第三区用于存储第二***,其中第二***为待升级的新***,第一***的版本低于第二***,第一***可以视为旧***。第一***可以是指升级新***前设备运行过的***,第二区可以存储一个或多个版本低于第二***的旧***。The second area is used to store the first system, and the third area is used to store the second system. The second system is a new system to be upgraded. The version of the first system is lower than that of the second system. The first system can be regarded as the old system. . The first system may refer to the system where the device has been running before the new system is upgraded, and the second area may store one or more old systems whose versions are lower than the second system.
第四区用于存储升级标识、升级次数等升级参数。其中,第四区定义的参数设计为引导加载程序和***程序进行共享的数据桥梁,可以相互配合完成对***启动失败的自动判断。The fourth area is used to store upgrade parameters such as upgrade identification and upgrade times. Among them, the parameters defined in the fourth area are designed as a data bridge for the boot loader and the system program to share, and can cooperate with each other to complete the automatic judgment of the system startup failure.
作为示例,在新***成功启动后,可以将第二区中的旧***替换为新***,并清空 第三区,以等待新的升级***的到来。As an example, after the new system is successfully started, the old system in the second zone can be replaced with the new system, and the third zone can be cleared to wait for the arrival of the new upgraded system.
另外在新***成功启动后,也可以在不删除第二区中存储的旧***的情况下,将新***添加到第二区,由此第二区中可以存储多个设备运行过的***。In addition, after the new system is successfully started, the new system can also be added to the second area without deleting the old system stored in the second area, so that the second area can store systems that have been run by multiple devices.
图3示出了根据本公开一实施例的物联网设备中的***升级方法的示意性流程图。Fig. 3 shows a schematic flowchart of a system upgrade method in an Internet of Things device according to an embodiment of the present disclosure.
如图3所示,物联网设备上电启动后,首先启动引导加载程序,在引导加载程序的引导作用下,实现整个***升级方法的执行。As shown in Figure 3, after the Internet of Things device is powered on, the boot loader is first started, and under the guidance of the boot loader, the implementation of the entire system upgrade method is realized.
在步骤S110,可以由引导加载程序设置定时器,也即初始化定时器。In step S110, the boot loader can set the timer, that is, initialize the timer.
定时器用于计时,并响应于计时超过预定阈值(为了便于分区,可以称为第二预定阈值)触发本公开的***升级方法的执行(也即触发引导加载程序的重启),或者触发第一***的启动。其中定时器可以实现为一种硬件模块,如可以实现为硬件看门狗。The timer is used for timing, and triggers the execution of the system upgrade method of the present disclosure (that is, triggers the restart of the boot loader) in response to the timing exceeding a predetermined threshold (for ease of partitioning, it may be referred to as the second predetermined threshold), or triggers the first system Start. The timer can be implemented as a hardware module, such as a hardware watchdog.
在本实施例中,第一***可以是升级前运行的***,如可以是第二***的上一个版本的***。另外第一***也可以是从第二***之前多个版本的***中选择的一个版本的***,也即第一***可以是从第二区存储的多个旧***中选择的一个***。In this embodiment, the first system may be a system running before the upgrade, for example, it may be a system of the previous version of the second system. In addition, the first system may also be a system of a version selected from multiple versions of systems before the second system, that is, the first system may be a system selected from a plurality of old systems stored in the second area.
在步骤S120,检查是否存在升级标识。In step S120, it is checked whether there is an upgrade identifier.
升级标识用于表征物联网设备当前是否存在升级需求,升级标识可以是响应于接收到服务器下发的升级文件或升级指令而生成的标识符。关于升级标识的具体表示形式,本公开不再赘述。The upgrade identifier is used to characterize whether the IoT device currently has an upgrade requirement, and the upgrade identifier may be an identifier generated in response to receiving an upgrade file or an upgrade instruction issued by the server. Regarding the specific representation form of the upgrade identifier, this disclosure will not repeat it.
在不存在升级标识的情况下,表明物联网设备当前无需升级,可以执行步骤S190,启动第一***。作为示例,在执行步骤S190时,可以启动升级前运行的***,也可以根据统计得到的各个版本的***稳定性,从第二***之前多个版本的***中选择稳定性较好的版本的***进行启动。In the case that there is no upgrade identifier, it indicates that the IoT device does not currently need to be upgraded, and step S190 may be executed to start the first system. As an example, when step S190 is performed, the system that was running before the upgrade can be started, or the system with better stability can be selected from the systems of multiple versions before the second system according to the system stability of each version obtained by statistics. Start up.
在存在升级标识的情况下,表明物联网设备当前存在升级需求,可以执行步骤S130,判断升级次数是否超过预定阈值N(为了便于分区,可以称为第一预定阈值)。此处述及的升级次数是指尝试启动待升级的新***的次数,也即失败次数。第一预定阈值的大小可以根据实际情况设定。If there is an upgrade identifier, it indicates that the IoT device currently has upgrade requirements, and step S130 may be executed to determine whether the number of upgrades exceeds a predetermined threshold N (for ease of partitioning, it may be referred to as a first predetermined threshold). The number of upgrades mentioned here refers to the number of attempts to start the new system to be upgraded, that is, the number of failures. The size of the first predetermined threshold can be set according to actual conditions.
如上文结合图1所述,第四区用于存储升级标识、升级次数等参数,因此在执行步骤S120、步骤S130时,均可以从第四区获取升级标识、升级次数,实现升级标识的查找、升级次数的判断等操作。As described above in conjunction with Figure 1, the fourth area is used to store upgrade identification, upgrade times and other parameters. Therefore, when step S120 and step S130 are executed, the upgrade identification and upgrade times can be obtained from the fourth area to realize the search for the upgrade identification. , Judging the number of upgrades and other operations.
在判定升级次数超过第一预定阈值的情况下,表明失败次数过多,无法升级成功,此时可以执行步骤S190,启动第一***。In the case where it is determined that the number of upgrades exceeds the first predetermined threshold, it indicates that the number of failures is too many and the upgrade cannot be successful. In this case, step S190 may be executed to start the first system.
在判定升级次数不超过第一预定阈值的情况下,可以执行步骤S140、步骤S150,将升级次数加1并尝试启动新***。In the case where it is determined that the number of upgrades does not exceed the first predetermined threshold, step S140 and step S150 may be executed to increase the number of upgrades by 1 and try to start the new system.
在执行完步骤S150后,可以执行步骤S160判断是否成功启动。After step S150 is executed, step S160 can be executed to determine whether the startup is successful.
在第二***能够正常运行的情况下可以认为启动成功,也即升级成功。在第二***启动过程中出错(如抛出错误)或者启动耗时(也即升级耗时)超过第三预定阈值的情况下,可以认为启动失败。In the case that the second system can run normally, it can be considered that the startup is successful, that is, the upgrade is successful. In the case that an error occurs during the startup of the second system (for example, an error is thrown) or the startup time (that is, the upgrade time) exceeds the third predetermined threshold, the startup may be regarded as a failure.
在未成功启动新***的情况下,可以执行步骤S195,使定时器超时,进而触发引导加载程序的重新启动。可选地,在未成功启动的情况下,也可以通过执行步骤S195使定时器超时,触发第一***的启动。In the case that the new system is not successfully started, step S195 may be executed to cause the timer to time out, thereby triggering the restart of the boot loader. Optionally, in the case of unsuccessful startup, the timer can also be timed out by executing step S195 to trigger the startup of the first system.
在成功启动新***的情况下,可以执行步骤S170,循环执行如下操作:在定时器的计时超过第二预定阈值之前,重置计时。通过循环对定时器的计时清零,可以避免在新***能够正常运行的情况下,因定时器超时而重启引导加载程序或回滚到第一***。其中,在定时器是看门狗的情况下,步骤S170也即对看门狗进行自动喂狗。可选地,步骤S170可以由成功启动后的新***执行。In the case that the new system is successfully started, step S170 may be executed to cyclically perform the following operations: reset the timing before the timing of the timer exceeds the second predetermined threshold. By cyclically clearing the timer to zero, it is possible to avoid restarting the boot loader or rolling back to the first system due to the timer timeout when the new system can run normally. Wherein, when the timer is a watchdog, step S170 is to automatically feed the watchdog. Optionally, step S170 may be executed by the new system after successful startup.
在本公开中,可以在定时器的配合下实现***升级失败情况下本公开的***升级方法(也即引导加载程序)的重启。可选地定时器还可以用于在第二***的启动耗时超过第二预定阈值的情况下,自动回滚到第一***。In the present disclosure, the system upgrade method (that is, the boot loader) of the present disclosure can be restarted in the event that the system upgrade fails with the cooperation of the timer. Optionally, the timer may also be used to automatically roll back to the first system in the case that the startup time of the second system exceeds the second predetermined threshold.
另外在成功启动的情况下,还可以执行步骤S180,清除升级标识和/或升级次数。由此,在执行完步骤S180后,成功启动后的新***就可以作为当前运行***运行,此后在物联网设备需要再次升级的情况下,当前运行的***可以作为第一***,待升级的新***可以作为新的第二***,再次执行图3所示的流程,实现***升级。In addition, in the case of successful startup, step S180 may also be executed to clear the upgrade identifier and/or the number of upgrades. Therefore, after performing step S180, the new system after successful startup can be used as the current operating system. After that, if the IoT device needs to be upgraded again, the currently operating system can be used as the first system, and the new system to be upgraded The system can be used as a new second system, and the process shown in Figure 3 is executed again to achieve system upgrades.
综上,本公开可以在引导加载程序的作用下初始化定时器,并引导启动新***,在成功启动新***后,可以循环重置定时器的计时,避免***重启。而在新***启动失败时,可以由定时器触发***重启,重新在引导加载程序的作用下执行本公开的升级方法,在失败次数(也即升级次数)超过第一预定阈值时,自动回滚到旧***。In summary, the present disclosure can initialize the timer under the action of the boot loader and boot the new system. After the new system is successfully started, the timer can be reset cyclically to avoid system restart. When the new system fails to start, the system restart can be triggered by a timer, and the upgrade method of the present disclosure is executed again under the action of the boot loader, and when the number of failures (that is, the number of upgrades) exceeds the first predetermined threshold, it automatically rolls back To the old system.
本公开还提出了另一种物联网设备中的***升级方法,包括:设置引导加载程序,引导加载程序被配置为:执行上文结合图3所示的***升级方法。The present disclosure also proposes another system upgrade method in the Internet of Things device, which includes: setting a boot loader, and the boot loader is configured to execute the system upgrade method shown in FIG. 3 above.
本公开还提出了另一种物联网设备中的***升级方法,包括:响应于***升级请求,尝试启动第二***;在第二***启动失败或者第二***启动失败次数超过第一预定阈值的情况下,启动第一***。关于第一***、第二***可以参见上文相关描述,此处不再 赘述。***升级请求也即物联网设备的***升级需求,可以通过检查是否存在升级标识的方式判断是否存在***升级需求,关于升级标识可以参见上文相关描述,此处也不再赘述。The present disclosure also proposes another system upgrade method in an Internet of Things device, including: in response to a system upgrade request, attempting to start the second system; when the second system fails to start or the number of times the second system fails to start exceeds a first predetermined threshold In case, start the first system. For the first system and the second system, please refer to the relevant description above, which will not be repeated here. The system upgrade request is the system upgrade requirement of the IoT device. It can be judged whether there is a system upgrade requirement by checking whether there is an upgrade identifier. For the upgrade identifier, please refer to the relevant description above, which will not be repeated here.
在第二***启动失败的情况下,可以将失败次数(也即上文述及的启动次数)加1,然后再次尝试启动第二***,如此在失败次数超过第一预定阈值时,不再尝试启动第二***,而是启动第一***。In the case that the second system fails to start, the number of failures (that is, the number of startups mentioned above) can be increased by 1, and then try to start the second system again, so that when the number of failures exceeds the first predetermined threshold, no more attempts Start the second system, but start the first system.
在本实施例中,可以在第二***超过第三预定阈值未启动成功的情况下,判定第二***启动失败。也即本公开可以根据第二***启动耗时来触发重新升级或回滚到第一***。In this embodiment, it may be determined that the second system fails to start when the second system exceeds the third predetermined threshold and fails to start successfully. That is, the present disclosure can trigger a re-upgrade or rollback to the first system according to the time it takes for the second system to start.
作为示例,可以通过设置定时器,来实现***第二***启动失败或者第二***启动失败次数超过预定阈值时,自动回滚到第一***。例如,定时器可以被设置为,响应于计时超过第二预定阈值,触发第一***的启动,引导加载程序可以在启动第二***失败或者失败次数超过第一预定阈值时,使定时器超时,以回滚到第一***。As an example, a timer can be set to realize that the system automatically rolls back to the first system when the second system fails to start or the number of times the second system fails to start exceeds a predetermined threshold. For example, the timer may be set to trigger the start of the first system in response to the timing exceeding the second predetermined threshold, and the bootloader may time out the timer when the second system fails to start or the number of failures exceeds the first predetermined threshold, To roll back to the first system.
以物联网设备为快件跟踪扫描记录仪、移动POS机为例,上文述及的第一***/第二***可以是指实时操作***(RTOS)。RTOS是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理***作出快速响应,并控制所有实时任务协调一致运行的操作***。Taking IoT devices as express tracking and scanning recorders and mobile POS machines as examples, the first system/second system mentioned above may refer to a real-time operating system (RTOS). RTOS means that when external events or data are generated, they can be accepted and processed quickly enough, and the results of the processing can control the production process or respond quickly to the processing system within a specified time, and control all real-time An operating system where tasks are coordinated to run.
至此,就本公开的物联网设备中的***升级方法做了详细说明。本公开还可以实现为一种针对物联网设备中的其他非***程序的升级的程序升级方法。也即上文述及的第一***/第二***也可以替换为运行在物联网设备中的第一程序/第二程序。So far, the system upgrade method in the Internet of Things device of the present disclosure has been described in detail. The present disclosure can also be implemented as a program upgrade method for upgrading other non-system programs in the Internet of Things device. That is, the first system/second system mentioned above can also be replaced with the first program/second program running in the Internet of Things device.
下面就本公开的物联网设备中的程序升级方法的流程进行示例性说明,关于方案涉及的细节均可以参见上文相关描述,此处不再赘述。The process of the program upgrade method in the Internet of Things device of the present disclosure will be exemplified below. For the details involved in the solution, please refer to the relevant description above, which will not be repeated here.
公开的物联网设备中的程序升级方法,可以包括:检查是否存在升级标识;在存在升级标识的情况下,判断升级次数是否超过第一预定阈值;在判定升级次数超过第一预定阈值的情况下,启动第一程序,并且/或者在判定升级次数未超过第一预定阈值的情况下,尝试启动第二程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。也即本公开还可以用于对物联网设备中非***程序的升级,其中关于方法涉及的细节可以参见上文相关描述,此处不再赘述。The disclosed program upgrade method in the Internet of Things device may include: checking whether there is an upgrade identifier; if there is an upgrade identifier, determining whether the number of upgrades exceeds a first predetermined threshold; when it is determined that the number of upgrades exceeds the first predetermined threshold , Start the first program, and/or if it is determined that the number of upgrades does not exceed the first predetermined threshold, try to start the second program, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program. program. That is to say, the present disclosure can also be used to upgrade non-system programs in the Internet of Things device. For details about the method, please refer to the relevant description above, which will not be repeated here.
公开的物联网设备中的程序升级方法,还可以包括:设置引导加载程序,引导加载程序被配置为:执行上文述及的程序升级方法。The disclosed program upgrade method in the Internet of Things device may further include: setting a boot loader, and the boot loader is configured to execute the program upgrade method mentioned above.
公开的物联网设备中的程序升级方法,还可以包括:响应于程序升级请求,尝试启动第二程序;在第二程序启动失败或者第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。The disclosed program upgrade method in the Internet of Things device may further include: responding to the program upgrade request, attempting to start the second program; in the case where the second program fails to start or the number of times the second program fails to start exceeds the first predetermined threshold, starting The first program, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program.
图4示出了根据本公开一个实施例的物联网设备中的升级装置的结构示意图。其中,升级装置的功能模块可以由实现本公开原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。Fig. 4 shows a schematic structural diagram of an upgrading apparatus in an Internet of Things device according to an embodiment of the present disclosure. Among them, the functional modules of the upgrading device can be implemented by hardware, software, or a combination of hardware and software that implement the principles of the present disclosure. Those skilled in the art can understand that the functional modules described in FIG. 4 can be combined or divided into sub-modules to realize the principle of the above-mentioned invention. Therefore, the description herein can support any possible combination, or division, or further limitation of the functional modules described herein.
下面就升级装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关描述,这里不再赘述。The following briefly describes the functional modules that the upgrade device can have and the operations that can be performed by each functional module. For the details involved, please refer to the above related descriptions, which will not be repeated here.
参见图4,升级装置400包括检查模块410,判断模块420,第一启动模块430和/或第二启动模块440。Referring to FIG. 4, the upgrading apparatus 400 includes a checking module 410, a judgment module 420, a first activation module 430 and/or a second activation module 440.
在本公开的一个实施例中,升级装置400用于实现物联网设备中的***升级。In an embodiment of the present disclosure, the upgrading apparatus 400 is used to implement system upgrading in an Internet of Things device.
检查模块410用于检查是否存在升级标识。The checking module 410 is used to check whether there is an upgrade identifier.
在不存在升级标识的情况下,可以由第一启动模块430启动第一***。第一启动模块430可以启动升级前运行的***,或者也可以根据***稳定性,从第二***之前多个版本的***中选择一个版本的***进行启动。In the case that there is no upgrade identifier, the first activation module 430 can activate the first system. The first startup module 430 may start the system that was running before the upgrade, or may also select a version of the system from multiple versions of the system before the second system to start it according to the stability of the system.
在存在升级标识的情况下,可以由判断模块420判断升级次数是否超过第一预定阈值。If there is an upgrade identifier, the judgment module 420 may determine whether the number of upgrades exceeds the first predetermined threshold.
在判断模块420判定升级次数超过第一预定阈值的情况下,可以由第一启动模块430启动第一***。In the case where the determination module 420 determines that the number of upgrades exceeds the first predetermined threshold, the first activation module 430 may activate the first system.
在判断模块420判定升级次数未超过第一预定阈值的情况下,可以由第二启动模块440尝试启动第二***。In the case where the determining module 420 determines that the number of upgrades does not exceed the first predetermined threshold, the second activation module 440 may try to activate the second system.
升级装置400还可以包括累加模块,用于在第二启动模块440尝试启动第二***的情况下,将升级次数加一。The upgrading apparatus 400 may further include an accumulation module, which is used to increase the number of upgrades by one when the second activation module 440 attempts to activate the second system.
升级装置400还可以包括清除模块,用于在第二启动模块440成功启动第二***的情况下,清除升级标识和/或升级次数。The upgrading apparatus 400 may further include a clearing module, which is used to clear the upgrade identifier and/or the number of upgrades when the second starting module 440 successfully starts the second system.
升级装置400还可以包括定时器,定时器用于响应于计时超过第二预定阈值触发***升级方法的执行,或者触发第一***的启动。The upgrading apparatus 400 may further include a timer, which is used to trigger the execution of the system upgrading method in response to the timing exceeding the second predetermined threshold, or to trigger the start of the first system.
升级装置400还可以包括重置模块,用于在第二启动模块440成功启动第二***的 情况下,循环执行如下操作:在定时器的计时超过第二预定阈值之前,重置计时。The upgrading apparatus 400 may further include a resetting module, which is configured to perform the following operations cyclically when the second starting module 440 successfully starts the second system: resetting the timing before the timing of the timer exceeds the second predetermined threshold.
升级装置400还可以包括生成模块,用于响应于接收到服务器下发的升级文件或升级指令,生成升级标识。The upgrading apparatus 400 may further include a generating module for generating an upgrade identifier in response to receiving an upgrade file or an upgrade instruction issued by the server.
在本公开的另一个实施例中,升级装置400用于实现物联网设备中的程序升级。In another embodiment of the present disclosure, the upgrading apparatus 400 is used to implement program upgrading in an Internet of Things device.
检查模块410用于检查是否存在升级标识。The checking module 410 is used to check whether there is an upgrade identifier.
在不存在升级标识的情况下,可以由第一启动模块430启动第一程序。第一启动模块430可以启动升级前运行的程序,或者也可以根据程序稳定性,从第二程序之前多个版本的程序中选择一个版本的程序进行启动。In the case that there is no upgrade identifier, the first startup module 430 can start the first program. The first startup module 430 may start the program that was running before the upgrade, or may also select a version of the program from multiple versions of programs before the second program to start it according to program stability.
在存在升级标识的情况下,可以由判断模块420判断升级次数是否超过第一预定阈值。If there is an upgrade identifier, the judgment module 420 may determine whether the number of upgrades exceeds the first predetermined threshold.
在判断模块420判定升级次数超过第一预定阈值的情况下,可以由第一启动模块430启动第一程序,第一程序为版本低于第二程序的程序。In the case where the determining module 420 determines that the number of upgrades exceeds the first predetermined threshold, the first starting module 430 may start the first program, and the first program is a program whose version is lower than the second program.
在判断模块420判定升级次数未超过第一预定阈值的情况下,可以由第二启动模块440尝试启动第二程序,第二程序为待升级的新程序。In the case where the determining module 420 determines that the number of upgrades does not exceed the first predetermined threshold, the second starting module 440 may try to start the second program, and the second program is a new program to be upgraded.
升级装置400还可以包括累加模块,用于在第二启动模块440尝试启动第二程序的情况下,将升级次数加一。The upgrading apparatus 400 may further include an accumulation module, which is used to increase the number of upgrades by one when the second activation module 440 attempts to start the second program.
升级装置400还可以包括清除模块,用于在第二启动模块440成功启动第二程序的情况下,清除升级标识和/或升级次数。The upgrading apparatus 400 may further include a clearing module, which is used to clear the upgrade identifier and/or the number of upgrades when the second starting module 440 successfully starts the second program.
升级装置400还可以包括定时器,定时器用于响应于计时超过第二预定阈值触发***升级方法的执行,或者触发第一程序的启动。The upgrading apparatus 400 may further include a timer, which is used to trigger the execution of the system upgrading method or trigger the start of the first program in response to the timing exceeding the second predetermined threshold.
升级装置400还可以包括重置模块,用于在第二启动模块440成功启动第二程序的情况下,循环执行如下操作:在定时器的计时超过第二预定阈值之前,重置计时。The upgrading apparatus 400 may further include a resetting module, which is configured to perform the following operations cyclically when the second start-up module 440 successfully starts the second program: reset the timing before the timing of the timer exceeds the second predetermined threshold.
升级装置400还可以包括生成模块,用于响应于接收到服务器下发的升级文件或升级指令,生成升级标识。The upgrading apparatus 400 may further include a generating module for generating an upgrade identifier in response to receiving an upgrade file or an upgrade instruction issued by the server.
本公开还提出了另一种物联网设备中的升级装置。该升级装置包括用于设置引导加载程序的设置模块。引导加载程序可以被配置为执行上文述及的***升级方法,也可以被配置为执行上文述及的程序升级方法。The present disclosure also proposes another upgrade device in the Internet of Things equipment. The upgrading device includes a setting module for setting a boot loader. The boot loader may be configured to execute the system upgrade method mentioned above, or it may be configured to execute the program upgrade method mentioned above.
图5示出了根据本公开另一个实施例的物联网设备中的升级装置的结构示意图。其中,升级装置的功能模块可以由实现本公开原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子 模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。Fig. 5 shows a schematic structural diagram of an upgrading apparatus in an Internet of Things device according to another embodiment of the present disclosure. Among them, the functional modules of the upgrading device can be implemented by hardware, software, or a combination of hardware and software that implement the principles of the present disclosure. Those skilled in the art can understand that the functional modules described in Fig. 4 can be combined or divided into sub-modules to realize the principle of the above-mentioned invention. Therefore, the description herein can support any possible combination, or division, or further limitation of the functional modules described herein.
下面就升级装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关描述,这里不再赘述。The following briefly describes the functional modules that the upgrade device can have and the operations that can be performed by each functional module. For the details involved, please refer to the above related descriptions, which will not be repeated here.
参见图5,升级装置500包括第一启动模块510和第二启动模块520。Referring to FIG. 5, the upgrading apparatus 500 includes a first activation module 510 and a second activation module 520.
在本公开的一个实施例中,升级装置400用于实现物联网设备中的***升级。第二启动模块520用于响应于***升级请求,尝试启动第二***。第一启动模块510用于在第二***启动失败或者第二***启动失败次数超过第一预定阈值的情况下,启动第一***,其中,第二***为待升级的新***,第一***的版本低于第二***。In an embodiment of the present disclosure, the upgrading apparatus 400 is used to implement system upgrading in an Internet of Things device. The second activation module 520 is configured to respond to the system upgrade request and try to activate the second system. The first startup module 510 is used to start the first system when the second system fails to start or the number of times the second system fails to start exceeds the first predetermined threshold, where the second system is a new system to be upgraded, and the first system The version is lower than the second system.
在本公开的另一个实施例中,升级装置400用于实现物联网设备中的程序升级。第二启动模块520用于响应于程序升级请求,尝试启动第二程序。第一启动模块510用于在第二程序启动失败或者第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,第二程序为待升级的新程序,第一程序的版本低于第二程序。In another embodiment of the present disclosure, the upgrading apparatus 400 is used to implement program upgrading in an Internet of Things device. The second activation module 520 is configured to respond to the program upgrade request and try to activate the second program. The first startup module 510 is configured to start the first program when the second program fails to start or the number of times the second program fails to start exceeds a first predetermined threshold, where the second program is a new program to be upgraded, and the first program The version is lower than the second program.
图6示出了根据本公开一实施例可用于实现上述物联网设备中的***升级方法或程序方法的计算设备的结构示意图。FIG. 6 shows a schematic structural diagram of a computing device that can be used to implement the system upgrade method or program method in the above-mentioned Internet of Things device according to an embodiment of the present disclosure.
参见图6,计算设备600包括存储器610和处理器620。Referring to FIG. 6, the computing device 600 includes a memory 610 and a processor 620.
处理器620可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器620可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器620可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。The processor 620 may be a multi-core processor, or may include multiple processors. In some embodiments, the processor 620 may include a general-purpose main processor and one or more special co-processors, such as a graphics processing unit (GPU), a digital signal processor (DSP), and so on. In some embodiments, the processor 620 may be implemented using a customized circuit, such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA, Field Programmable Gate Arrays).
存储器610可以包括各种类型的存储单元,例如***内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。***内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。***内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪 存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、minSD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。The memory 610 may include various types of storage units, such as a system memory, a read only memory (ROM), and a permanent storage device. The ROM may store static data or instructions required by the processor 620 or other modules of the computer. The permanent storage device may be a readable and writable storage device. The permanent storage device may be a non-volatile storage device that does not lose stored instructions and data even after the computer is powered off. In some embodiments, the permanent storage device adopts a large-capacity storage device (such as a magnetic or optical disk, flash memory) as the permanent storage device. In other embodiments, the permanent storage device may be a removable storage device (for example, a floppy disk, an optical drive). The system memory can be a readable and writable storage device or a volatile readable and writable storage device, such as dynamic random access memory. The system memory can store some or all of the instructions and data needed by the processor at runtime. In addition, the memory 610 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and magnetic disks and/or optical disks may also be used. In some embodiments, the memory 610 may include a removable storage device that can be read and/or written, such as a compact disc (CD), a read-only digital versatile disc (for example, DVD-ROM, dual-layer DVD-ROM), Read-only Blu-ray discs, ultra-density discs, flash memory cards (such as SD cards, minSD cards, Micro-SD cards, etc.), magnetic floppy disks, etc. The computer-readable storage medium does not include carrier waves and instant electronic signals that are transmitted wirelessly or wiredly.
存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的物联网设备中的***升级方法或程序方法。The memory 610 stores executable code. When the executable code is processed by the processor 620, the processor 620 can be made to execute the system upgrade method or program method in the Internet of Things device described above.
上文中已经参考附图详细描述了根据本公开的物联网设备中的***或程序升级方法、装置及设备。The method, device and device for upgrading the system or program in the Internet of Things device according to the present disclosure have been described in detail above with reference to the accompanying drawings.
此外,根据本公开的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本公开的上述方法中限定的上述各步骤的计算机程序代码指令。In addition, the method according to the present disclosure can also be implemented as a computer program or computer program product, the computer program or computer program product including computer program code instructions for executing the above-mentioned steps defined in the above-mentioned method of the present disclosure.
或者,本公开还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本公开的上述方法的各个步骤。Alternatively, the present disclosure can also be implemented as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) on which executable code (or computer program, or computer instruction code) is stored ), when the executable code (or computer program, or computer instruction code) is executed by the processor of the electronic device (or computing device, server, etc.), the processor is caused to execute each step of the above-mentioned method according to the present disclosure .
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。Those skilled in the art will also understand that the various exemplary logic blocks, modules, circuits, and algorithm steps described in conjunction with the disclosure herein can be implemented as electronic hardware, computer software, or a combination of both.
附图中的流程图和框图显示了根据本公开的多个实施例的***和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。The flowcharts and block diagrams in the accompanying drawings show the possible implementation architecture, functions, and operations of the system and method according to multiple embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, program segment, or part of the code, and the module, program segment, or part of the code contains one or more functions for realizing the specified logic function. Executable instructions. It should also be noted that in some alternative implementations, the functions marked in the block may also occur in a different order than marked in the drawings. For example, two consecutive blocks can actually be executed substantially in parallel, or they can sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and/or flowchart, and the combination of the blocks in the block diagram and/or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations Or it can be realized by a combination of dedicated hardware and computer instructions.
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择, 旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Without departing from the scope and spirit of the described embodiments, many modifications and changes are obvious to those of ordinary skill in the art. The choice of terms used herein is intended to best explain the principles, practical applications, or improvements to technologies in the market of the embodiments, or to enable those of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (24)

  1. 一种物联网设备中的***升级方法,其特征在于,包括:A system upgrade method in Internet of Things equipment, characterized in that it includes:
    检查是否存在升级标识;Check whether there is an upgrade logo;
    在存在所述升级标识的情况下,判断升级次数是否超过第一预定阈值;In the case of the upgrade identifier, determining whether the number of upgrades exceeds a first predetermined threshold;
    在判定所述升级次数超过所述第一预定阈值的情况下,启动第一***,并且/或者在判定所述升级次数未超过所述第一预定阈值的情况下,尝试启动第二***,其中,所述第二***为待升级的新***,所述第一***的版本低于所述第二***。If it is determined that the number of upgrades exceeds the first predetermined threshold, start the first system, and/or if it is determined that the number of upgrades does not exceed the first predetermined threshold, try to start the second system, wherein , The second system is a new system to be upgraded, and the version of the first system is lower than that of the second system.
  2. 根据权利要求1所述的***升级方法,其特征在于,还包括:The system upgrade method according to claim 1, further comprising:
    在不存在所述升级标识的情况下,启动所述第一***。In the case that the upgrade identifier does not exist, start the first system.
  3. 根据权利要求1所述的***升级方法,其特征在于,还包括:The system upgrade method according to claim 1, further comprising:
    在尝试启动所述第二***的情况下,将所述升级次数加一。In the case of attempting to start the second system, the number of upgrades is increased by one.
  4. 根据权利要求1所述的***升级方法,其特征在于,还包括:The system upgrade method according to claim 1, further comprising:
    在成功启动所述第二***的情况下,清除所述升级标识和/或所述升级次数。In the case of successfully starting the second system, clear the upgrade identifier and/or the number of upgrades.
  5. 根据权利要求1所述的***升级方法,其特征在于,还包括:The system upgrade method according to claim 1, further comprising:
    设置定时器,所述定时器用于响应于计时超过第二预定阈值触发所述***升级方法的执行,或者触发所述第一***的启动。A timer is set, and the timer is used to trigger the execution of the system upgrade method or trigger the start of the first system in response to the timing exceeding a second predetermined threshold.
  6. 根据权利要求5所述的***升级方法,其特征在于,还包括:The system upgrade method according to claim 5, further comprising:
    在成功启动所述第二***的情况下,循环执行如下操作:在所述定时器的计时超过所述第二预定阈值之前,重置所述计时。In the case that the second system is successfully started, the following operations are cyclically performed: reset the timing before the timing of the timer exceeds the second predetermined threshold.
  7. 根据权利要求1所述的***升级方法,其特征在于,还包括:The system upgrade method according to claim 1, further comprising:
    响应于接收到服务器下发的升级文件或升级指令,生成所述升级标识。In response to receiving the upgrade file or upgrade instruction issued by the server, the upgrade identifier is generated.
  8. 根据权利要求1所述的***升级方法,其特征在于,所述启动第一***的步骤包括:The system upgrade method according to claim 1, wherein the step of starting the first system comprises:
    启动升级前运行的***;或者Start the system that was running before the upgrade; or
    根据***稳定性,从所述第二***之前多个版本的***中选择一个版本的***进行启动。According to the stability of the system, a system of one version is selected from the previous versions of the second system to start.
  9. 根据权利要求1所述的***升级方法,其特征在于,所述物联网设备为以下至少一项:The system upgrade method according to claim 1, wherein the Internet of Things device is at least one of the following:
    车辆;vehicle;
    个人数字助理终端;Personal digital assistant terminal;
    传感器;sensor;
    智能家居设备。Smart home equipment.
  10. 根据权利要求1至9中任一项所述的***升级方法,其特征在于,所述物联网设备的存储区被划分为第一区、第二区、第三区以及第四区,The system upgrade method according to any one of claims 1 to 9, wherein the storage area of the Internet of Things device is divided into a first area, a second area, a third area, and a fourth area,
    所述第一区用于存储引导加载程序,所述引导加载程序用于执行所述***升级方法,The first area is used to store a boot loader, and the boot loader is used to execute the system upgrade method,
    所述第二区用于存储所述第一***,The second area is used to store the first system,
    所述第三区用于存储所述第二***;The third area is used to store the second system;
    所述第四区用于存储所述升级标识和/或所述升级次数。The fourth area is used to store the upgrade identifier and/or the number of upgrades.
  11. 一种物联网设备中的***升级方法,其特征在于,包括:设置引导加载程序,所述引导加载程序被配置为:A system upgrade method in an Internet of Things device, characterized in that it comprises: setting a boot loader, the boot loader is configured as:
    响应于所述物联网设备上电启动,执行权利要求1至10中任一项所述的***升级方法。In response to the power-on and startup of the Internet of Things device, the system upgrade method according to any one of claims 1 to 10 is executed.
  12. 一种物联网设备中的***升级方法,其特征在于,包括:A system upgrade method in Internet of Things equipment, characterized in that it includes:
    响应于***升级请求,尝试启动第二***;In response to the system upgrade request, try to start the second system;
    在所述第二***启动失败或者所述第二***启动失败次数超过第一预定阈值的情况下,启动第一***,其中,所述第二***为待升级的新***,所述第一***的版本低于所述第二***。When the second system fails to start or the number of times the second system fails to start exceeds a first predetermined threshold, the first system is started, wherein the second system is a new system to be upgraded, and the first system The version of is lower than the second system.
  13. 根据权利要求12所述的***升级方法,其特征在于,还包括:The system upgrade method according to claim 12, further comprising:
    在所述第二***超过第三预定阈值未启动成功的情况下,判定所述第二***启动失败。If the second system exceeds the third predetermined threshold and fails to start successfully, it is determined that the second system has failed to start.
  14. 一种物联网设备中的程序升级方法,其特征在于,包括:A method for program upgrade in Internet of Things equipment, characterized in that it comprises:
    检查是否存在升级标识;Check whether there is an upgrade logo;
    在存在所述升级标识的情况下,判断升级次数是否超过第一预定阈值;In the case of the upgrade identifier, determining whether the number of upgrades exceeds a first predetermined threshold;
    在判定所述升级次数超过所述第一预定阈值的情况下,启动第一程序,并且/或者在判定所述升级次数未超过所述第一预定阈值的情况下,尝试启动第二程序,其中,所述第二程序为待升级的新程序,所述第一程序的版本低于所述第二程序。In a case where it is determined that the number of upgrades exceeds the first predetermined threshold, a first program is started, and/or in a case where it is determined that the number of upgrades does not exceed the first predetermined threshold, an attempt is made to start a second program, wherein , The second program is a new program to be upgraded, and the version of the first program is lower than the second program.
  15. 一种物联网设备中的程序升级方法,其特征在于,包括:设置引导加载程序,所述引导加载程序被配置为:A program upgrade method in an Internet of Things device is characterized in that it comprises: setting a boot loader, the boot loader is configured as:
    响应于所述物联网设备上电启动,执行权利要求14所述的程序升级方法。In response to the power-on and startup of the Internet of Things device, the program upgrade method according to claim 14 is executed.
  16. 一种物联网设备中的程序升级方法,其特征在于,包括:A method for program upgrade in Internet of Things equipment, characterized in that it comprises:
    响应于程序升级请求,尝试启动第二程序;In response to the program upgrade request, try to start the second program;
    在所述第二程序启动失败或者所述第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,所述第二程序为待升级的新程序,所述第一程序的版本低于所述第二程序。When the second program fails to start or the number of times the second program fails to start exceeds a first predetermined threshold, the first program is started, wherein the second program is a new program to be upgraded, and the first program The version of is lower than the second program.
  17. 一种物联网设备中的***升级装置,其特征在于,包括:A system upgrade device in Internet of Things equipment, which is characterized in that it includes:
    检查模块,用于检查是否存在升级标识;Check module, used to check whether there is an upgrade logo;
    判断模块,用于在存在所述升级标识的情况下,判断升级次数是否超过第一预定阈值;A judging module, configured to judge whether the number of upgrades exceeds a first predetermined threshold when the upgrade identifier exists;
    第一启动模块,用于在所述判断模块判定所述升级次数超过所述第一预定阈值的情况下,启动第一***,和/或第二启动模块,用于在所述判断模块判定所述升级次数未超过所述第一预定阈值的情况下,尝试启动第二***,其中,所述第二***为待升级的新***,所述第一***的版本低于所述第二***。The first activation module is used to activate the first system and/or the second activation module when the judgment module determines that the number of upgrades exceeds the first predetermined threshold. If the number of upgrades does not exceed the first predetermined threshold, an attempt is made to start a second system, where the second system is a new system to be upgraded, and the version of the first system is lower than the second system.
  18. 一种物联网设备中的***升级装置,其特征在于,包括:设置模块,用于设置引导加载程序,所述引导加载程序被配置为:A system upgrade device in an Internet of Things device is characterized by comprising: a setting module for setting a boot loader, and the boot loader is configured as:
    响应于所述物联网设备上电启动,执行权利要求1至10中任一项所述的***升级方法。In response to the power-on and startup of the Internet of Things device, the system upgrade method according to any one of claims 1 to 10 is executed.
  19. 一种物联网设备中的***升级装置,其特征在于,包括:A system upgrade device in Internet of Things equipment, which is characterized in that it includes:
    第二启动模块,用于响应于***升级请求,尝试启动第二***;The second starting module is used to respond to the system upgrade request and try to start the second system;
    第一启动模块,用于在所述第二***启动失败或者所述第二***启动失败次数超过第一预定阈值的情况下,启动第一***,其中,所述第二***为待升级的新***,所述第一***的版本低于所述第二***。The first startup module is configured to start the first system when the second system fails to start or the number of times the second system fails to start exceeds a first predetermined threshold, wherein the second system is a new system to be upgraded System, the version of the first system is lower than that of the second system.
  20. 一种物联网设备中的程序升级装置,其特征在于,包括:A program upgrade device in Internet of Things equipment, which is characterized in that it includes:
    检查模块,用于检查是否存在升级标识;Check module, used to check whether there is an upgrade logo;
    判断模块,用于在存在所述升级标识的情况下,判断升级次数是否超过第一预定阈值;A judging module, configured to judge whether the number of upgrades exceeds a first predetermined threshold when the upgrade identifier exists;
    第一启动模块,用于在所述判断模块判定所述升级次数超过所述第一预定阈值的情况下,启动第一程序,和/或第二启动模块,用于在所述判断模块判定升级次数未超过所述第一预定阈值的情况下,尝试启动第二程序,其中,所述第二程序为待升级的新程序,所述第一程序的版本低于所述第二程序。The first activation module is configured to activate the first program and/or the second activation module when the judging module determines that the number of upgrades exceeds the first predetermined threshold, and/or the second activation module is configured to determine the upgrade in the judgment module If the number of times does not exceed the first predetermined threshold, try to start a second program, where the second program is a new program to be upgraded, and the version of the first program is lower than the second program.
  21. 一种物联网设备中的程序升级装置,其特征在于,包括:设置模块,用于设置引导加载程序,所述引导加载程序被配置为:A program upgrade device in an Internet of Things device is characterized by comprising: a setting module for setting a boot loader, the boot loader is configured as:
    响应于所述物联网设备上电启动,执行权利要求14所述的程序升级方法。In response to the power-on and startup of the Internet of Things device, the program upgrade method according to claim 14 is executed.
  22. 一种物联网设备中的程序升级装置,其特征在于,包括:A program upgrade device in Internet of Things equipment, which is characterized in that it includes:
    第二启动模块,用于响应于程序升级请求,尝试启动第二程序;The second start module is used to respond to the program upgrade request and try to start the second program;
    第一启动模块,用于在所述第二程序启动失败或者所述第二程序启动失败次数超过第一预定阈值的情况下,启动第一程序,其中,所述第二程序为待升级的新程序,所述第一程序的版本低于所述第二程序。The first startup module is configured to start the first program when the second program fails to start or the number of times the second program fails to start exceeds a first predetermined threshold, where the second program is a new program to be upgraded A program, the version of the first program is lower than that of the second program.
  23. 一种计算设备,包括:A computing device including:
    处理器;以及Processor; and
    存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至16中任何一项所述的方法。The memory has executable code stored thereon, and when the executable code is executed by the processor, the processor is caused to execute the method according to any one of claims 1 to 16.
  24. 一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至16中任一项所述的方法。A non-transitory machine-readable storage medium with executable code stored thereon. When the executable code is executed by a processor of an electronic device, the processor is caused to execute any one of claims 1 to 16 The method described.
PCT/CN2020/110400 2019-08-28 2020-08-21 Method and apparatus for upgrading system in internet of things device, device, and storage medium WO2021036917A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910799751.7 2019-08-28
CN201910799751.7A CN112527322A (en) 2019-08-28 2019-08-28 System upgrading method, device, equipment and storage medium in Internet of things equipment

Publications (1)

Publication Number Publication Date
WO2021036917A1 true WO2021036917A1 (en) 2021-03-04

Family

ID=74684117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/110400 WO2021036917A1 (en) 2019-08-28 2020-08-21 Method and apparatus for upgrading system in internet of things device, device, and storage medium

Country Status (3)

Country Link
CN (1) CN112527322A (en)
TW (1) TW202109336A (en)
WO (1) WO2021036917A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157303A (en) * 2021-05-27 2021-07-23 盈合(深圳)机器人与自动化科技有限公司 Upgrading method, embedded system, terminal and computer storage medium
CN114237722B (en) * 2021-11-19 2023-09-01 湖南三一智能控制设备有限公司 System starting method, device, equipment and engineering vehicle
CN114741119A (en) * 2022-03-22 2022-07-12 深圳数马电子技术有限公司 System starting method and device, computer equipment and storage medium
CN115904450A (en) * 2022-11-02 2023-04-04 易科奇通信技术(深圳)有限公司 Embedded equipment firmware upgrading device and method, embedded equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220091A (en) * 2017-06-08 2017-09-29 成都欧飞凌通讯技术有限公司 A kind of upgrading of active and standby image files of 100G CFP and switching method
CN107820603A (en) * 2016-12-30 2018-03-20 深圳配天智能技术研究院有限公司 A kind of firmware update and controller
US20180165157A1 (en) * 2016-12-14 2018-06-14 Microsoft Technology Licensing, Llc Iot device update failure recovery
CN108549539A (en) * 2018-01-23 2018-09-18 青岛海尔科技有限公司 A kind of method and device carrying out equipment remote upgrade
CN109189445A (en) * 2018-10-12 2019-01-11 武汉微智创大科技有限公司 A kind of method of internet of things equipment program upgrading

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180165157A1 (en) * 2016-12-14 2018-06-14 Microsoft Technology Licensing, Llc Iot device update failure recovery
CN107820603A (en) * 2016-12-30 2018-03-20 深圳配天智能技术研究院有限公司 A kind of firmware update and controller
CN107220091A (en) * 2017-06-08 2017-09-29 成都欧飞凌通讯技术有限公司 A kind of upgrading of active and standby image files of 100G CFP and switching method
CN108549539A (en) * 2018-01-23 2018-09-18 青岛海尔科技有限公司 A kind of method and device carrying out equipment remote upgrade
CN109189445A (en) * 2018-10-12 2019-01-11 武汉微智创大科技有限公司 A kind of method of internet of things equipment program upgrading

Also Published As

Publication number Publication date
TW202109336A (en) 2021-03-01
CN112527322A (en) 2021-03-19

Similar Documents

Publication Publication Date Title
WO2021036917A1 (en) Method and apparatus for upgrading system in internet of things device, device, and storage medium
WO2017067448A1 (en) Firmware-over-the-air upgrade method, system and computer storage medium
US6697972B1 (en) Method for monitoring fault of operating system and application program
US20110283274A1 (en) Firmware image update and management
JPWO2013103023A1 (en) Information processing apparatus, information processing method, and computer program
CN111142911B (en) Embedded system with abnormal recovery function and upgrading method thereof
CN101482823A (en) Single board application version implementing method and system
CN111506326A (en) Method, device and equipment for upgrading terminal equipment and storage medium
CN109101247A (en) The method, apparatus and server of driver are installed
WO2023109880A1 (en) Service recovery method, data processing unit and related device
CN111459524A (en) Software upgrading method, device and system
CN114020340B (en) Server system and data processing method thereof
CN114064084A (en) ONU upgrade management method, storage medium, electronic device, and ONU
CN113032183A (en) System management method, device, computer equipment and storage medium
CN115951920A (en) Mobile equipment upgrading method and device, storage unit and mobile equipment
CN110688130A (en) Physical machine deployment method, physical machine deployment device, readable storage medium and electronic equipment
CN111208949B (en) Method for determining data rollback time period in distributed storage system
CN103473081A (en) Operant method after system updating of terminal and terminal
CN114237722A (en) System starting method, device, equipment and engineering vehicle
CN111124459B (en) Method and device for updating service logic of FPGA cloud server
CN110740382A (en) Method, device, television and medium for avoiding undesired automatic restart of television
JP2018169729A (en) Embedded device, embedded device system and method for activating embedded device
US20230350755A1 (en) Coordinated operating system rollback
CN117290164B (en) Information recording method at restarting, electronic device and readable storage medium
US20240020103A1 (en) Parallelizing data processing unit provisioning

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20857607

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20857607

Country of ref document: EP

Kind code of ref document: A1