Upgrading method and device of to-be-upgraded object, server and to-be-upgraded object

Through differential update technology, differential packages are generated to upgrade the robot firmware, which solves the problems of long download time and high traffic consumption caused by full updates and achieves a more efficient upgrade process.

CN120602329APending Publication Date: 2025-09-05麦悦未来智能科技(苏州)有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510745143.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-05
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

In the existing technology, robot OTA upgrades use a full update method, which results in long download time and high traffic consumption, affecting the transmission effect.

Method used

The current firmware version of the object to be upgraded is obtained from the server, the difference data and necessary data are determined, and a differential packet is generated for differential update to reduce the amount of data transmission.

Benefits of technology

Significantly shorten download time, reduce bandwidth consumption and traffic costs, and improve upgrade efficiency and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120602329A_ABST
    Figure CN120602329A_ABST
Patent Text Reader

Abstract

The invention provides an upgrading method and device of a to-be-upgraded object, a server and the to-be-upgraded object, and relates to the technical field of intelligent robots. The server establishes communication connection with the to-be-upgraded object; the method comprises the steps of obtaining a current firmware version of a to-be-upgraded object, and determining a first data packet corresponding to the current firmware version; determining non-unvarnished transmission data and unvarnished transmission data in a second data packet corresponding to the upgrade firmware version according to a pre-configuration rule; the pre-configuration rule is configured to classify data in the second data packet based on the transmission demand; the data difference between the first data packet and the second data packet is determined based on the non-unvarnished transmission data, the data difference and the unvarnished transmission data are packaged into the differential packet, and the differential packet is sent to the to-be-upgraded object, so that the data are classified into the unvarnished transmission data and the non-unvarnished transmission data through transmission requirements, differential updating is performed in a targeted manner, and the differential packet is generated. As the differential package is much smaller than the full firmware package, the downloading time is greatly shortened, and the overall transmission effect is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of intelligent robots, and in particular to an upgrading method, device, server, and object to be upgraded. Background Art

[0002] In modern smart home devices, robots often have the ability to upgrade system firmware via OTA (Over-The-Air). This method allows device manufacturers to update software after the device is deployed to fix vulnerabilities, improve performance, or add new features.

[0003] In the related art, robots usually adopt a full update method, that is, during each update, the entire full firmware package is downloaded and replaces the existing firmware on the robot.

[0004] However, a full update requires the transmission of the entire firmware package. Since firmware packages are usually large, the download time may be longer and the required traffic consumption is higher. Summary of the Invention

[0005] The present disclosure provides an upgrade method, device, server and object to be upgraded, which classifies data into transparent data and non-transparent data according to transmission requirements, and performs differential updates in a targeted manner to generate differential packages. Since differential packages are usually much smaller than full firmware packages, the amount of data to be transmitted is greatly reduced, the download time is significantly shortened, and the update process is more efficient.

[0006] In a first aspect, the present disclosure provides a method for upgrading an object to be upgraded, which is applied to a server, wherein the server establishes a communication connection with the object to be upgraded; the method comprises:

[0007] Obtaining the current firmware version of the object to be upgraded, and determining a first data packet corresponding to the current firmware version;

[0008] determining, according to a preconfigured rule, the non-transparently transmitted data and the transparently transmitted data in the second data packet corresponding to the upgraded firmware version; the preconfigured rule being configured to classify the data in the second data packet based on transmission requirements;

[0009] A data difference between the first data packet and the second data packet is determined based on the non-transparent transmission data, the data difference and the transparent transmission data are packaged into a differential packet, and the differential packet is sent to the object to be upgraded.

[0010] In this way, by obtaining the current firmware version, the server can accurately identify the differences between the current version and the upgraded version, which is the basis for implementing differential updates. And by classifying data into non-transparent data and transparent data, the server can more effectively manage the data transmission process. And by only transmitting the differences between versions and the necessary transparent data, the size of the differential package is significantly smaller than the full firmware package, thereby reducing the amount of data that needs to be downloaded. This directly shortens the download time and reduces data consumption, allowing the upgrade object to complete the upgrade process more quickly. And because the amount of data transmitted can be reduced, it also greatly reduces bandwidth consumption and data costs.

[0011] In addition, by directly including the transparent data in the differential packet, the complete transmission of the update content is ensured, ensuring the functional integrity and security of the upgraded object after the update.

[0012] In a second aspect, the present disclosure provides an upgrade method for an object to be upgraded, which is applied to the object to be upgraded, wherein the object to be upgraded establishes a communication connection with a server; the method comprises:

[0013] Receive the differential package sent by the server and perform upgrade based on the differential package;

[0014] Among them, the differential packet is formed by the server determining the first data packet corresponding to the current firmware version after receiving the current firmware version sent by the object to be upgraded, and determining the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version according to the pre-configured rules, and the data difference between the first data packet and the second data packet determined based on the non-transparent data and the transparent data; the pre-configured rules are configured to classify the data in the second data packet based on the transmission requirements.

[0015] Therefore, differential packages are typically much smaller than full firmware packages, meaning using differential packages for upgrades can significantly save network bandwidth and storage space on the device being upgraded. Furthermore, due to the reduced amount of data transferred, the upgrade process can be completed more quickly, reducing downtime for the device being upgraded and improving the user experience. Furthermore, the smaller data transfer size means the device being upgraded consumes less power while downloading and processing the update, which is particularly important for battery-powered devices.

[0016] It should be noted that the differential package used in the present disclosure obtains the current firmware version information through the server and is generated based on this information, which can ensure the accuracy of the update and reduce the risk of upgrade failure due to version mismatch.

[0017] In a third aspect, the present disclosure provides an upgrade device for an object to be upgraded, which is applied to a server, and the server establishes a communication connection with the object to be upgraded; the device includes:

[0018] An acquisition module, configured to acquire a current firmware version of the object to be upgraded and determine a first data packet corresponding to the current firmware version;

[0019] a determination module, configured to determine, according to a preconfigured rule, the non-transparently transmitted data and the transparently transmitted data in the second data packet corresponding to the upgraded firmware version; the preconfigured rule being configured to classify the data in the second data packet based on transmission requirements;

[0020] The packaging module is used to determine the data difference between the first data packet and the second data packet based on the non-transparent transmission data, package the data difference and the transparent transmission data into a differential packet, and send the differential packet to the object to be upgraded.

[0021] In a fourth aspect, the present disclosure provides an upgrade device for an object to be upgraded, which is applied to the object to be upgraded, and the object to be upgraded establishes a communication connection with a server; the device includes:

[0022] The upgrade module is used to receive the differential packets sent by the server and perform upgrades based on the differential packets;

[0023] Among them, the differential packet is formed by the server determining the first data packet corresponding to the current firmware version after receiving the current firmware version sent by the object to be upgraded, and determining the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version according to the pre-configured rules, and the data difference between the first data packet and the second data packet determined based on the non-transparent data and the transparent data.

[0024] In a fifth aspect, the present disclosure provides a server, comprising: a processor, and a memory communicatively connected to the processor;

[0025] Memory stores computer-executable instructions;

[0026] The processor executes the computer-executable instructions stored in the memory to implement the method as described in any one of the first aspects.

[0027] In a sixth aspect, the present disclosure provides an object to be upgraded, comprising: a processor, and a memory communicatively connected to the processor;

[0028] Memory stores computer-executable instructions;

[0029] The processor executes the computer-executable instructions stored in the memory to implement the method as described in any one of the second aspects.

[0030] In a seventh aspect, the present disclosure provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are executed by a processor, they are used to implement the method as described in any one of the first and second aspects.

[0031] In an eighth aspect, the present disclosure provides a computer program product, comprising a computer program, which, when executed by a processor, implements the method as described in any one of the first and second aspects.

[0032] It should be noted that the third to eighth aspects of the present disclosure correspond to the technical solutions of the first and second aspects of the present disclosure, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar, which will not be repeated here.

[0033] In summary, the present disclosure provides an upgrade method, device, server and object to be upgraded for an object to be upgraded, wherein the server obtains the current firmware version information of the object to be upgraded and determines the first data packet corresponding to the version information. According to the pre-configured rules, the server determines the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version. The pre-configured rules are used to classify the data in the second data packet according to the transmission requirements, that is, to distinguish which data needs to be transmitted through differential updates (i.e., non-transparent data) and which data needs to be transmitted in full (i.e., transparent data). The server then analyzes the difference between the first data packet and the second data packet based on the non-transparent data to identify the changed parts between the two versions, packages the identified data difference and the transparent data into a differential packet, and the server sends the differential packet to the object to be upgraded.

[0034] In this way, after the object to be upgraded receives the differential packet, it can perform a firmware update based on the data differences and transparent data therein. Since differential packets are usually much smaller than full firmware packages, the download time is greatly shortened, and by transmitting the difference between the first data packet and the second data packet (i.e. the changed part) and the transparent data, the amount of data that needs to be transmitted is greatly reduced, so that the traffic consumption when using the network for updates is also significantly reduced. Compared with full updates, this method significantly reduces bandwidth consumption. Therefore, by classifying data into transparent data and non-transparent data according to transmission needs, and performing differential updates in a targeted manner, the effectiveness and reliability of transmission are ensured, and the overall transmission effect is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0036] Figure 1 A schematic diagram of an application scenario provided by an embodiment of the present disclosure;

[0037] Figure 2 A flowchart of a method for upgrading an object to be upgraded provided in an embodiment of the present disclosure;

[0038] Figure 3 A schematic diagram of a scenario of a differential packet generation method provided in an embodiment of the present disclosure;

[0039] Figure 4 A flowchart of another method for upgrading an object to be upgraded provided by an embodiment of the present disclosure;

[0040] Figure 5 A schematic diagram of a scenario of upgrading based on differential packets provided in an embodiment of the present disclosure;

[0041] Figure 6 A schematic diagram of the structure of an upgrading device for an object to be upgraded provided by an embodiment of the present disclosure;

[0042] Figure 7 A schematic diagram of the structure of another device for upgrading an object to be upgraded provided by an embodiment of the present disclosure;

[0043] Figure 8 A schematic diagram of the structure of a server provided in an embodiment of the present disclosure;

[0044] Figure 9 A schematic diagram of the structure of an object to be upgraded provided in an embodiment of the present disclosure;

[0045] Figure 10 A schematic diagram of the structure of an upgrade system for an object to be upgraded provided by an embodiment of the present disclosure.

[0046] The above drawings illustrate specific embodiments of the present disclosure, which will be described in more detail below. These drawings and textual descriptions are not intended to limit the scope of the present disclosure in any way, but rather to illustrate the concepts of the present disclosure to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION

[0047] To facilitate a clear description of the technical solutions of the embodiments of the present disclosure, in the embodiments of the present disclosure, terms such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. For example, the first device and the second device are merely used to distinguish between different devices and do not limit their order. Those skilled in the art will understand that terms such as "first" and "second" do not limit the quantity or execution order, and that terms such as "first" and "second" do not necessarily mean that they are different.

[0048] It should be noted that in this disclosure, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this disclosure as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0049] In the present disclosure, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0050] Currently, robots that can access the Internet generally support system firmware updates through OTA (Over-the-Air) technology. This function allows the robot to download update packages directly from the Internet and install them.

[0051] However, OTA updates for robots usually use a full update method, that is, during each update, the entire full firmware package is downloaded and replaces the existing firmware on the robot. Even if only a small part of the content of the update package has changed, the entire firmware package is downloaded to the robot.

[0052] In this way, since a full update requires the transmission of the entire firmware package, which is usually large, the download time may be long and the required traffic consumption is high, which greatly affects the transmission effect.

[0053] In response to the above problems, the present disclosure provides an upgrade method for an object to be upgraded. Taking application to a server as an example, the server establishes a communication connection with the object to be upgraded, such as a sweeping robot, for data transmission.

[0054] Specifically, the server obtains the current firmware version information of the object to be upgraded and determines the first data packet corresponding to the version information. According to the pre-configured rules, the server determines the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version. The pre-configured rules are used to classify the data in the second data packet according to the transmission requirements, that is, to distinguish which data needs to be transmitted through differential updates (i.e., non-transparent data) and which data needs to be transmitted in full (i.e., transparent data). The server then analyzes the difference between the first data packet and the second data packet based on the non-transparent data to identify the changes between the two versions, and packages the identified data differences and the transparent data into a differential packet. The server sends the differential packet to the object to be upgraded.

[0055] In this way, after the object to be upgraded receives the differential packet, it can perform a firmware update based on the data differences and transparent data therein. Since differential packets are usually much smaller than full firmware packages, the download time is greatly shortened, and by transmitting the difference between the first data packet and the second data packet (i.e. the changed part) and the transparent data, the amount of data that needs to be transmitted is greatly reduced, so that the traffic consumption when using the network for updates is also significantly reduced. Compared with full updates, this method significantly reduces bandwidth consumption. Therefore, by classifying data into transparent data and non-transparent data according to transmission needs, and performing differential updates in a targeted manner, the effectiveness and reliability of transmission are ensured, and the overall transmission effect is improved.

[0056] It should be noted that the upgrade process of the object to be upgraded includes the update process of software or firmware.

[0057] For example, Figure 1 A schematic diagram of an application scenario provided by an embodiment of the present disclosure, such as Figure 1 As shown, the application scenario includes a sweeping robot 101, a cloud server 102 and a user's terminal device 103, and the sweeping robot 101 supports OTA upgrade of system firmware.

[0058] The cloud server 102 can obtain the current firmware version (denoted as OV) in the sweeping robot 101 in advance, and then determine the first data packet corresponding to the OV, and determine the non-transparent data and transparent data according to the pre-configured rules. And based on the non-transparent data, the data difference between the second data packet corresponding to the new firmware version (denoted as NV) and the first data packet corresponding to the OV is calculated, and then these data differences and other content not specified in the configuration, that is, the transparent data, are packaged into a differential packet. The cloud server 102 sends the differential packet to the sweeping robot 101. It can be understood that at this time, the size of the differential packet will be several times or even dozens of times smaller than the full packet, which can significantly save traffic and shorten download time.

[0059] Optionally, after receiving the complete differential packet, the sweeping robot 101 can combine the content of the first data packet corresponding to the OV with the corresponding data difference in the differential packet according to the pre-configured rules marked as non-transparent data to restore the corresponding content in the NV. The restored relevant content is then combined with the transparent data in the differential packet to restore the complete second data packet corresponding to the NV by repackaging. The full upgrade process can then be reused for upgrades to effectively ensure data accuracy and process reusability.

[0060] Optionally, the cloud server 102 may also establish a communication connection with the user's terminal device 103 , so that the cloud server 102 reports the download status to the terminal device 103 in real time while the cleaning robot 101 is downloading the differential package.

[0061] In this way, the estimated traffic and time required for downloading the full package, as well as the actual traffic and time required for downloading the differential package, can be displayed to the user through the application user interface (APP UI) of the terminal device 103. Furthermore, the saved traffic and time can be intuitively displayed to the user, giving the user an intuitive optimization experience.

[0062] The terminal device may also be referred to as user equipment (UE), mobile station (MS), mobile terminal (Mobile Terminal), terminal (Terminal), smart terminal, user terminal, etc. In practical applications, terminal devices include: desktop computers, notebooks, personal digital assistants (PDAs), smart phones, tablet computers, vehicle-mounted devices, wearable devices (such as smart watches and smart bracelets), smart home devices (such as smart display devices), etc. The embodiments of the present disclosure do not specifically limit the types of terminal devices.

[0063] It should be noted that the embodiments of this disclosure do not specifically limit the application scenarios of the upgrade method for the object to be upgraded. In different application scenarios, the types of servers and objects to be upgraded may vary. For example, the object to be upgraded may be an automated intelligent device such as a robot vacuum or floor scrubber, and the server may be a cloud server or intelligent server. The embodiments of this disclosure do not specifically limit this; the above is merely an example.

[0064] The following detailed description of the technical solution of the present disclosure and how the technical solution of the present disclosure solves the above-mentioned technical problems is provided with specific embodiments. The following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments. The embodiments of the present disclosure will be described below in conjunction with the accompanying drawings.

[0065] Figure 2 A flowchart of an upgrade method for an object to be upgraded provided by an embodiment of the present disclosure is shown as follows: Figure 2 As shown, the upgrade method of the object to be upgraded can be applied to the server, and the server establishes a communication connection with the object to be upgraded; the upgrade method of the object to be upgraded includes the following steps:

[0066] S201: Obtain the current firmware version of the object to be upgraded, and determine a first data packet corresponding to the current firmware version.

[0067] In the embodiment of the present disclosure, since the server establishes a communication connection with the object to be upgraded, the server requests and receives information about the current firmware version of the object to be upgraded through the connection. The information may include a version number or other identifier for uniquely identifying the firmware version running on the object to be upgraded.

[0068] In this step, in response to the request to trigger the upgrade, the server can obtain information about the current firmware version. After the server obtains the information about the current firmware version, it can use the information to retrieve a first data packet corresponding to the version, which contains a complete data set of the current firmware version.

[0069] Optionally, the server may also obtain the first data packet corresponding to the current firmware version directly from the object to be upgraded, or obtain the first data packet corresponding to the current firmware version from the cloud. The present embodiment does not specifically limit the source of obtaining the first data packet. Typically, the first data packet is stored in a database on the server.

[0070] Optionally, the server may obtain the current firmware versions of all connected objects to be upgraded, so the server may process the upgrade operation of at least one object to be upgraded at the same time.

[0071] S202: Determine non-transparent transmission data and transparent transmission data in a second data packet corresponding to the upgraded firmware version according to a pre-configured rule; the pre-configured rule is configured to classify the data in the second data packet based on transmission requirements.

[0072] In the embodiments of the present disclosure, non-transparent data may refer to data that needs to be transmitted via differential updates. Transparent data may refer to data that needs to be transmitted in its entirety. This type of data may include critical security patches, smaller amounts of data, or other important updates that can be transmitted in their entirety to ensure functional correctness, security, and transmission speed. The embodiments of the present disclosure do not specifically limit the basis for classifying non-transparent data and transparent data; data can be determined based on data size, data importance, and user configuration.

[0073] It is understandable that the preconfigured rules are configured to classify the data in the second data packet based on transmission requirements, including reliability transmission requirements and real-time transmission requirements, etc. For example, the transmission of large amounts of data usually requires more time and bandwidth, which may result in higher latency.

[0074] Therefore, in order to improve the real-time transmission, large amounts of data can be divided into non-transparent data, and other small amounts of data can be divided into transparent data, or data with higher reliability requirements can be divided into transparent data, and data with lower reliability requirements can be divided into non-transparent data.

[0075] In this way, according to preconfigured rules, the server divides the data in the second data packet into non-transparent data and transparent data. Non-transparent data is transmitted through differential updates, reducing the data volume. Transparent data ensures the integrity of critical updates. This classification process ensures that unnecessary data transmission is reduced in subsequent processes, lowering bandwidth consumption and accelerating update speeds.

[0076] S203: Determine the data difference between the first data packet and the second data packet based on the non-transparent transmission data, package the data difference and the transparent transmission data into a differential packet, and send the differential packet to the object to be upgraded.

[0077] In this step, the server compares the first data packet (current firmware version) with the second data packet (upgrade firmware version) to identify the data differences between the two versions. The server then packages the identified data differences along with the transparent data into a differential packet. The server then sends the generated differential packet to the target device to be upgraded. This differential packet contains all the necessary update information to ensure that the target device can correctly upgrade its firmware.

[0078] Among them, transparent data are important update contents that need to be transmitted completely, so they are directly included in the differential packet without difference calculation.

[0079] In this way, by obtaining the current firmware version, the server can accurately identify the differences between the current version and the upgraded version, which is the basis for implementing differential updates. And by classifying data into non-transparent data and transparent data, the server can more effectively manage the data transmission process. And by only transmitting the differences between versions and the necessary transparent data, the size of the differential package is significantly smaller than the full firmware package, thereby reducing the amount of data that needs to be downloaded. This directly shortens the download time and reduces data consumption, allowing the upgrade object to complete the upgrade process more quickly. And because the amount of data transmitted can be reduced, it also greatly reduces bandwidth consumption and data costs.

[0080] In addition, by directly including the transparent data in the differential packet, the complete transmission of the update content is ensured, ensuring the functional integrity and security of the upgraded object after the update.

[0081] It should be noted that the inventors have discovered that the size of the differential package is several times or even dozens of times smaller than the full package, and the traffic consumption required for an upgrade based on the minimum differential package is 2.3MB. Taking the robot to be upgraded as an example, under the conditions of a gigabit broadband network with no special bandwidth restrictions, it takes at least 4 seconds for the machine to download and complete the differential package upgrade. Correspondingly, the time required for a complete upgrade, that is, the time required from starting to download the differential package to completing the reboot and entering the new version of the firmware, can be as low as 55 seconds. Therefore, smaller differential packages mean faster download and installation times. Upgrading based on differential packages can greatly reduce the amount of data transmission and save bandwidth.

[0082] Optionally, the data difference is a binary difference; and determining the data difference between the first data packet and the second data packet based on the non-transparently transmitted data includes:

[0083] Based on the non-transparent data, determine the regional position of the non-transparent data in the second data packet; determine the corresponding to-be-processed data in the first data packet based on the regional position; and calculate the binary difference between the non-transparent data and the to-be-processed data.

[0084] In the embodiment of the present disclosure, binary difference refers to the difference between two binary data sets, which is used to compare the changes between two versions of data, such as files, firmware or software.

[0085] In this step, based on preconfigured rules, the specific location of the non-transparent data in the second data packet is identified. This location identifies the non-transparent content, i.e., the portion that needs to change in the upgraded version. Using this location, the corresponding data to be processed in the first data packet is located. The non-transparent data in the second data packet is then compared with the data to be processed in the first data packet, and a binary difference is calculated between them to identify the specific changes and generate binary difference data.

[0086] The binary difference data is the minimum set of changes between the two versions.

[0087] For example, Figure 3 A schematic diagram of a scenario of a differential packet generation method provided by an embodiment of the present disclosure, such as Figure 3As shown, for multiple data in the new firmware (NV) and the old firmware (OV), different area blocks are divided, each area block corresponds to a corresponding area position, and data is stored in the area block. Based on the pre-configured rule, the data in area A and area C in the second data packet corresponding to NV is determined to be non-transparent data. Based on the area positions A(1) and C(1) of the non-transparent data in the second data packet, the data corresponding to the to-be-processed data A(0) and C(0) in the first data packet are determined. The binary difference between the data corresponding to A(1) and A(0) is calculated, and the binary difference between the data corresponding to C(1) and C(0) is calculated. Based on the calculated binary difference, the data corresponding to A(1-0) and C(1-0) and the data corresponding to B(1) and D(1) are packaged into a differential packet.

[0088] By calculating binary differences and then forming differential packets based on the binary differences and transparent data, the data set of the transmitted data packet becomes smaller, which greatly reduces the amount of data that needs to be transmitted and improves transmission efficiency. In addition, smaller differential packets mean less bandwidth consumption and lower network burden, which can significantly reduce users' data costs, especially when updating over cellular networks. Among them, binary difference calculation ensures the accuracy of the update. Through accurate difference calculation, the integrity and security of the firmware can be guaranteed, reducing the risk of functional failure or security vulnerabilities caused by incomplete updates.

[0089] Understandably, since the amount of data transferred is reduced, the time to download and install the upgrade is also shortened, making the upgrade process faster.

[0090] Optionally, determining the non-transparently transmitted data and the transparently transmitted data in the second data packet corresponding to the upgraded firmware version according to a preconfigured rule includes:

[0091] The data in the second data packet corresponding to the upgraded firmware version is filtered according to preconfigured rules to determine non-transparent data and transparent data; wherein the preconfigured rules are determined by at least one of the following methods: dividing the second data packet into multiple data blocks, and determining the non-transparent data and transparent data based on the amount of data in the multiple data blocks; determining the non-transparent data and transparent data based on the importance of the data in the second data packet.

[0092] The server filters the data in the second data packet according to a preconfigured rule to determine which data is non-transparent transmission data and which data is transparent transmission data.

[0093] In some embodiments, the second data packet can be divided into multiple data blocks, and the data blocks that can be used as non-transparent transmission data are determined based on the amount of data in each data block. For example, larger data blocks can be transmitted via differential updates, while smaller data blocks can be transmitted in their entirety to improve transmission efficiency.

[0094] In other embodiments, the importance of each portion of data in the second data packet may be evaluated. Highly important data, such as security patches or critical function updates, may be marked as transparent data to ensure their complete transmission, while less important data or data that can be effectively transmitted via differential updates may be marked as non-transparent data.

[0095] It should be noted that the embodiments of the present disclosure do not specifically limit the method for determining the importance of data. It can be manually evaluated or determined based on the frequency of data use, the sensitivity of the data, etc.

[0096] Optionally, non-transparent data and transparent data can be determined in response to the user's configuration operation, that is, the user marks the non-transparent data and transparent data in advance to distinguish between them, or they can be classified by adding identification methods. The embodiments of the present disclosure do not make specific limitations on this.

[0097] This allows users to configure and mark non-transparent data and transparent data, providing greater flexibility and control. Users can adjust data processing strategies according to specific needs to better meet personalized needs.

[0098] In this disclosure, by intelligently filtering and classifying non-transparent and transparent data, only necessary data or a small portion of data is transmitted in full, while other data is transmitted via differential updates. This reduces the amount of data transmitted and improves transmission efficiency. In particular, by classifying data based on size and importance, computing and storage resources can be allocated more efficiently, allowing important or large data blocks to receive more processing resources while unimportant or small data blocks can be transmitted quickly.

[0099] In this way, by reducing unnecessary full data transmission, bandwidth consumption is reduced and the update and upgrade speed is accelerated. This is especially important in environments with limited network conditions. In addition, by reducing the amount of data transmitted, the demand for network resources can be reduced, thereby significantly reducing users' traffic costs.

[0100] Furthermore, the above pre-configured rules also provide flexibility, allowing adjustments based on specific transmission needs and conditions, which enables adaptation to different network conditions and device requirements.

[0101] Optionally, determining non-transparent data and transparent data based on the amount of data in multiple data blocks includes: determining that a data block in multiple data blocks whose amount of data is greater than a preset threshold is non-transparent data; determining that a data block in multiple data blocks whose amount of data is less than or equal to a preset threshold is transparent data.

[0102] In the disclosed embodiments, the preset threshold is a pre-set threshold used to distinguish data block sizes. This threshold can be set based on available network bandwidth and desired transmission performance, and the disclosed embodiments do not impose specific limitations on the size of the preset threshold. Optionally, the preset threshold can be dynamically adjusted based on specific user needs and data priority to meet the requirements of different users and application scenarios.

[0103] Exemplarily, the second data packet is divided into multiple data blocks. These data blocks can be of a fixed size or can be divided according to a specific logic or structure. The disclosed embodiment does not specifically limit the basis for dividing the data blocks. If the data volume of a data block is greater than a preset threshold, the data block is determined to be non-transparent data, indicating that the data block will be transmitted via differential update.

[0104] For example, Figure 3 For example, if the data volume corresponding to areas A and C is large, that is, greater than a preset threshold, the data in areas A and C can be determined as non-transparent data. If the data volume of a data block is less than or equal to the preset threshold, the data block is determined to be transparent data, indicating that the data block will be transmitted in its entirety, because its smaller data volume makes transmission more efficient and simple.

[0105] In this way, marking large data blocks as non-transparent data ensures that they undergo differential processing before transmission, thereby improving transmission efficiency. Small data blocks are marked as transparent data and can be transmitted directly, reducing the burden on the network. Therefore, by classifying data volumes by simple threshold judgment, not only can the data transmission process be more efficiently managed and the amount of data transmitted be reduced, but also complex calculations and processing logic can be reduced. In addition, the setting of this preset threshold provides flexibility, allowing the data processing strategy to be dynamically adjusted based on the data block size to adapt to different application scenarios and changing needs.

[0106] Optionally, dividing the second data packet into multiple data blocks includes any one of the following: dividing the second data packet into multiple data blocks based on a partition mirror; dividing the second data packet into multiple data blocks based on a predefined module library; dividing the second data packet into multiple data blocks based on predefined components.

[0107] It should be noted that different partitioning criteria may be applicable to different application scenarios. Optionally, partition mirroring typically reflects the logical structure of data. By dividing data packets in this way, it is easier to manage and update data in a specific partition.

[0108] Exemplarily, the second data packet is divided according to the mirror structure of the storage partition, and each partition mirror corresponds to a logical partition in the storage. This division method can be applicable to the situation where a specific storage area needs to be updated, such as the boot partition, system partition, etc. Figure 3 As shown, areas A, B, C, and D can be divided according to partition images. For example, they can be divided according to boot (boot partition), system (system partition), and data (data partition). Boot, system, and data usually refer to different partitions or directories in the storage.

[0109] Therefore, partition mirroring helps optimize data storage layout and transmission paths, reduce the transmission of redundant data, and improve overall efficiency.

[0110] Optionally, through module library division, data packets can be managed according to functional modules.

[0111] Exemplarily, the second data packet is divided according to software module libraries, each module library may correspond to a specific functional module or software component. This division method can be applicable to the update of modular software structures, such as application modules, driver modules, etc.

[0112] Therefore, modular division enables more flexible adaptation to functional changes and expansion requirements, and supports rapid iteration and updating.

[0113] Optionally, by dividing the data packet into specific components, refined control and management of each component can be achieved, ensuring the independence and integrity of each component.

[0114] Exemplarily, the second data packet is divided according to predefined physical or logical components, each component may correspond to a specific hardware or functional component. This division method can be applicable to situations where specific hardware components need to be updated, such as sensor firmware, communication modules, etc.

[0115] It is understandable that if a problem occurs in a component, it can be quickly located and resolved without affecting other components, which helps to improve stability and reliability. Different components can be personalized and optimized according to specific needs to meet diverse application scenarios and user needs.

[0116] It should be noted that the embodiment of the present disclosure does not specifically limit the second data packet division method. The above is only an example. For example, it can also be divided in response to the user's configuration operation.

[0117] This, through a rational partitioning approach, enables more granular management of data packet contents, ensuring efficient and accurate update processing. Different partitioning methods provide flexibility, allowing for adjustments based on specific structures and update requirements. This adapts to diverse device architectures and update strategies. Furthermore, by dividing data packets into logically independent blocks, the update process becomes easier to manage and execute, reducing complexity. Furthermore, by targeting updates to specific partitions, modules, or components, risk is mitigated during the update process, ensuring both reliability and security.

[0118] Optionally, the method further includes: after sending the differential packet to the object to be upgraded, receiving verification information fed back by the object to be upgraded; if the verification information indicates failure, sending the second data packet to the object to be upgraded for upgrading.

[0119] For example, the server sends the generated differential package to the target object. After receiving the differential package, the target object applies the update and performs a verification. The verification verifies the successful application of the update and the integrity of the data. The target object then sends the verification result back to the server, which may include a success or failure status.

[0120] Optionally, if the verification information indicates that the update was successful, the upgrade process ends and the object to be upgraded has been successfully updated to the new version. If the verification information indicates that the update failed, it may be due to a data transmission error or an application error. To ensure that the object to be upgraded is correctly updated, the server can send the complete second data packet to the object to be upgraded for a full update.

[0121] In this way, by prioritizing the sending of differential packets, network traffic and server load can be reduced, saving bandwidth and storage resources. After receiving the verification information fed back by the object to be upgraded, the correctness of the differential packet can be verified. If the verification fails, it indicates that there may be a problem with the differential packet. At this time, sending the complete second data packet can ensure the integrity and reliability of the upgrade. Therefore, through the verification mechanism, timely measures can be taken when the differential packet upgrade fails, allowing automatic switching to a full update when the differential update fails, thereby reducing the risk of upgrade failure, ensuring the normal operation of the object to be upgraded, and increasing the security of the upgrade process.

[0122] Optionally, the method also includes: obtaining the network bandwidth for the object to be upgraded to receive the differential packet; determining the first duration required for upgrading based on the second data packet and the second duration required for upgrading based on the differential packet based on the network bandwidth and the first data volume of the second data packet, and the second data volume corresponding to the differential packet; sending the first duration and the second duration to the user terminal for visual display; wherein, the object to be upgraded establishes a communication connection with the user terminal.

[0123] In the embodiment of the present disclosure, the network bandwidth can be achieved through a network monitoring tool or protocol to provide real-time data of the current network conditions. The embodiment of the present disclosure does not specifically limit the method for obtaining the network bandwidth.

[0124] In this step, the first data size of the second data packet refers to the data size of the data packet corresponding to the complete upgraded firmware version; the second data size of the differential packet refers to the data size of the generated differential packet. The first duration required to transmit the second data packet is calculated based on the current network bandwidth and the data size of the second data packet. Similarly, the second duration required to transmit the differential packet is calculated based on the current network bandwidth and the data size of the differential packet. The calculated first and second durations are sent to the user terminal to let the user understand the time costs of different update solutions. The user terminal can receive and visualize this duration information.

[0125] By providing a visual representation of update times, users can clearly understand the time costs of different update plans, improving user satisfaction and optimizing the user experience. Furthermore, by understanding network bandwidth and update duration, users can choose to update during periods with better network conditions, optimizing bandwidth utilization.

[0126] For example, Figure 4 A flowchart of another method for upgrading an object to be upgraded provided by an embodiment of the present disclosure is shown as follows: Figure 4 As shown, the upgrade method of the object to be upgraded can be applied to the object to be upgraded, and the object to be upgraded establishes a communication connection with the server; the upgrade method of the object to be upgraded includes the following steps:

[0127] S401: Receive a differential packet sent by a server.

[0128] The differential packet is formed by the server, after receiving the current firmware version sent by the object to be upgraded, determining the first data packet corresponding to the current firmware version, and determining the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version according to pre-configured rules. The difference between the data in the first data packet and the second data packet determined based on the non-transparent data is packaged with the transparent data. The pre-configured rules are configured to classify the data in the second data packet based on transmission requirements.

[0129] In this step, when the object to be upgraded requests an upgrade, it can send an upgrade request to the server. Upon receiving the upgrade request, the server obtains the current firmware version information. Upon receiving the current firmware version information, the server can proceed as follows: Based on the received current firmware version information, it identifies the corresponding first data packet. Then, based on preconfigured rules, it identifies the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version. Based on the non-transparent data, it calculates the data difference between the first data packet and the second data packet, packages the calculated data difference and the transparent data into a differential packet, and sends the generated differential packet to the object to be upgraded.

[0130] S402: Upgrade based on the differential package.

[0131] In this step, the target device receives a differential packet from the server and uses the data differences and transparent data in the differential packet to update the current firmware version to the new version. This upgrade process typically involves applying the differential data to the current version and replacing or updating the necessary parts. This embodiment of the disclosure does not specifically limit the upgrade process.

[0132] Optionally, after the non-transparent data is restored based on the differential packet, the upgrade can be performed directly based on the non-transparent data and the transparent data in the differential packet, or the complete second data packet can be packaged and restored based on the non-transparent data and the transparent data in the differential packet, so as to reuse the full upgrade process based on the second data packet.

[0133] It should be noted that the process of S401-S402 corresponds to the process of S201-S202. The difference between the two is that one is based on the server to generate and send differential packets, and the other is based on the reception and upgrade of differential packets. The similarities between the two can be referred to in the above embodiment. Figure 2 The description is not repeated here.

[0134] Therefore, differential packages are typically much smaller than full firmware packages, meaning using differential packages for upgrades can significantly save network bandwidth and storage space on the device being upgraded. Furthermore, due to the reduced amount of data transferred, the upgrade process can be completed more quickly, reducing downtime for the device being upgraded and improving the user experience. Furthermore, the smaller data transfer size means the device being upgraded consumes less power while downloading and processing the update, which is particularly important for battery-powered devices.

[0135] It should be noted that the differential package used in the present disclosure obtains the current firmware version information through the server and is generated based on this information, which can ensure the accuracy of the update and reduce the risk of upgrade failure due to version mismatch.

[0136] Optionally, receive the differential package sent by the server and perform an upgrade based on the differential package, including:

[0137] The differential packet is parsed to obtain data differences and transparent data; based on pre-configured rules and the first data packet, the non-transparent data is restored; the non-transparent data and the transparent data are packaged to obtain a second data packet, and the upgrade is performed based on the second data packet.

[0138] In this step, after receiving the differential packet from the server, the upgrade target first parses the differential packet to decompose it into two parts: data differences and transparent data. Using preconfigured rules and the current first data packet, the data differences are applied to the first data packet. The purpose of this step is to merge the differential data with the current version data to restore the non-transparent data of the upgraded version. The restored non-transparent data is then repackaged with the parsed transparent data to generate a complete second data packet. Using this second data packet, the full upgrade process is reused to upgrade the firmware of the upgrade target.

[0139] For example, Figure 5 A schematic diagram of a scenario of upgrading based on differential packets provided by an embodiment of the present disclosure, such as Figure 5 As shown in the figure, taking the robot as an example, after receiving the complete differential packet, the robot combines the non-transparent content marked in the pre-configured rules, that is, the data in area A and area C. This part of the local firmware (OV) is combined with the corresponding binary differences A(1-0) and C(1-0) in the differential packet to restore the corresponding content in the new firmware (NV). The restored corresponding content (non-transparent data) is combined with other content in the differential packet that is not specified in the configuration (transparent data), and the second data packet corresponding to the complete NV is restored by repackaging. The subsequent upgrade process is reused to perform the full upgrade.

[0140] Among them, the data corresponding to A(1) and C(1) are non-transparent data, and the data corresponding to B(1) and D(1) are transparent data.

[0141] This ensures data integrity and accuracy during the update process by restoring the complete second data packet from the differential packet. This also allows for the reuse of existing upgrade processes, which are typically validated and optimized multiple times for high reliability and stability. This allows for faster deployment and implementation. Combined with the parsing and restoration process, the correctness of the data in the differential packet is verified, reducing the risk of errors during the update process.

[0142] Optionally, before upgrading based on the second data packet, the method also includes: receiving the first hash value corresponding to the differential packet and the second data packet sent by the server; after obtaining the second data packet, determining the second hash value of the second data packet and the differential packet; and using the first hash value and the second hash value for verification.

[0143] In the embodiment of the present disclosure, the first hash value is calculated by the server based on the complete second data packet and is used for subsequent integrity verification.

[0144] In this step, after receiving the differential packet and the first hash value corresponding to the second data packet from the server, the upgrade target parses the differential packet to obtain the data difference and transparent data. The target then applies the data difference to the first data packet and combines it with the transparent data to generate a complete second data packet. The hash calculation is then performed on the generated second data packet.

[0145] At the same time, in this step, a hash calculation can also be performed on the received differential packet to obtain a second hash value. The first hash value sent by the server is then compared with the calculated second hash value. If the two hash values ​​match, it indicates that the second data packet and the differential packet are complete and have not been tampered with, and the update can continue. If the hash values ​​do not match, it indicates that the data may have been damaged or tampered with during transmission, and the data must be retrieved again.

[0146] It should be noted that the embodiment of the present disclosure does not specifically limit the method for calculating the first hash value and the second hash value. It can refer to the existing technology or redefine a new method, wherein the second data packet and the differential packet can correspond to different hash values.

[0147] By comparing the first hash value sent by the server with the locally calculated second hash value, it is possible to verify whether the received differential packet and the generated second data packet have been tampered with or damaged during transmission, thus ensuring data integrity. Furthermore, performing a hash check before an upgrade can identify problems in the data packet in advance, thus avoiding upgrade failures due to data inconsistencies. This also reduces the risk of update failures due to incomplete or erroneous data, improving the reliability of the update process and ensuring that only verified complete data packets are used for upgrades, helping to maintain the stability and normal operation of the object being upgraded.

[0148] Optionally, if the verification fails, the target can quickly identify the issue and take appropriate action, such as re-downloading the data package or notifying the user, simplifying the troubleshooting process. Furthermore, this hash verification can be integrated into automated upgrade processes, reducing manual intervention and improving the efficiency and reliability of the upgrade process.

[0149] In the aforementioned embodiments, the upgrade method for an object to be upgraded provided by the embodiments of the present disclosure has been described. To implement the various functions of the methods provided by the embodiments of the present disclosure, the electronic device serving as the execution subject may include hardware structures and / or software modules, and implement the aforementioned functions in the form of hardware structures, software modules, or hardware structures and software modules. Whether a particular function is implemented in the form of hardware structures, software modules, or hardware structures and software modules depends on the specific application and design constraints of the technical solution.

[0150] For example, Figure 6 Schematic diagram of a structure of an upgrade device for an object to be upgraded provided by an embodiment of the present disclosure. The upgrade device 600 for an object to be upgraded is applied to a server, and a communication connection is established between the server and the object to be upgraded; Figure 6 As shown, the upgrading device 600 of the object to be upgraded includes:

[0151] An acquisition module 601 is configured to acquire a current firmware version of an object to be upgraded and determine a first data packet corresponding to the current firmware version;

[0152] A determination module 602 is configured to determine, according to a preconfigured rule, non-transparently transmitted data and transparently transmitted data in a second data packet corresponding to the upgraded firmware version; the preconfigured rule is configured to classify the data in the second data packet based on transmission requirements;

[0153] The packaging module 603 is configured to determine the data difference between the first data packet and the second data packet based on the non-transparent transmission data, package the data difference and the transparent transmission data into a differential packet, and send the differential packet to the object to be upgraded.

[0154] Optionally, the data difference is a binary difference; the packaging module 603 is specifically configured to:

[0155] Based on the non-transparent data, determine the regional position of the non-transparent data in the second data packet; determine the corresponding to-be-processed data in the first data packet based on the regional position; and calculate the binary difference between the non-transparent data and the to-be-processed data.

[0156] Optionally, the determination module 602 is specifically configured to:

[0157] The data in the second data packet corresponding to the upgraded firmware version is filtered according to preconfigured rules to determine non-transparent data and transparent data; wherein the preconfigured rules are determined by at least one of the following methods: dividing the second data packet into multiple data blocks, and determining the non-transparent data and transparent data based on the amount of data in the multiple data blocks; determining the non-transparent data and transparent data based on the importance of the data in the second data packet.

[0158] Optionally, the determining module 602 includes a determining unit, which is configured to:

[0159] A data block whose data volume is greater than a preset threshold value among the multiple data blocks is determined to be non-transparent transmission data; and a data block whose data volume is less than or equal to the preset threshold value among the multiple data blocks is determined to be transparent transmission data.

[0160] Optionally, dividing the second data packet into multiple data blocks includes any of the following:

[0161] The second data packet is divided into a plurality of data blocks based on the partition mirror; the second data packet is divided into a plurality of data blocks based on a predefined module library; the second data packet is divided into a plurality of data blocks based on a predefined component.

[0162] Optionally, the upgrading device 600 for the object to be upgraded further includes a receiving module, and the receiving module is configured to:

[0163] After sending the differential packet to the object to be upgraded, verification information fed back by the object to be upgraded is received; if the verification information indicates failure, the second data packet is sent to the object to be upgraded for upgrading.

[0164] Optionally, the upgrading device 600 for the object to be upgraded further includes a display module, and the display module is configured to:

[0165] Obtain the network bandwidth for the object to be upgraded to receive the differential packet; based on the network bandwidth and the first data volume of the second data packet, and the second data volume corresponding to the differential packet, determine the first duration required for upgrading based on the second data packet and the second duration required for upgrading based on the differential packet respectively; send the first duration and the second duration to the user terminal for visual display; wherein, the object to be upgraded establishes a communication connection with the user terminal.

[0166] It should be noted that the specific implementation principles and effects of the upgrading device 600 for the above-mentioned object to be upgraded can be found in the relevant descriptions and effects corresponding to the above-mentioned embodiments, and will not be elaborated on here.

[0167] For example, Figure 7 Schematic diagram of the structure of another upgrading device for an object to be upgraded provided by an embodiment of the present disclosure. The upgrading device 700 for an object to be upgraded is applied to the object to be upgraded, and the object to be upgraded establishes a communication connection with a server; Figure 7 As shown, the upgrading device 700 of the object to be upgraded includes:

[0168] The upgrade module 701 is used to receive the differential package sent by the server and perform the upgrade based on the differential package;

[0169] Among them, the differential packet is formed by the server determining the first data packet corresponding to the current firmware version after receiving the current firmware version sent by the object to be upgraded, and determining the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version according to the pre-configured rules, and the data difference between the first data packet and the second data packet determined based on the non-transparent data and the transparent data.

[0170] Optionally, the upgrade module 701 is specifically used to:

[0171] The differential packet is parsed to obtain data differences and transparent data; based on pre-configured rules and the first data packet, the non-transparent data is restored; the non-transparent data and the transparent data are packaged to obtain a second data packet, and the upgrade is performed based on the second data packet.

[0172] Optionally, the upgrading device 700 for the object to be upgraded further includes a verification module, which is configured to:

[0173] Before upgrading based on the second data packet, the differential packet sent by the server and the first hash value corresponding to the second data packet are received; after obtaining the second data packet, the second hash value of the second data packet and the differential packet is determined; and the first hash value and the second hash value are used for verification.

[0174] It should be noted that the specific implementation principles and effects of the upgrading device 700 for the above-mentioned object to be upgraded can be found in the corresponding relevant descriptions and effects of the above-mentioned embodiments, and will not be elaborated on here.

[0175] For example, Figure 8 A structural diagram of a server provided in an embodiment of the present disclosure, wherein the server 800 may include: a processor 801 and a memory 802 communicatively connected to the processor 801; the memory 802 stores a computer program; the processor 801 executes the computer program stored in the memory 802, so that the processor 801 executes the method described in any of the above embodiments.

[0176] The memory 802 and the processor 801 may be connected via a bus 803 .

[0177] Optionally, the server 800 may be a cloud server, an edge server, an application server, a database server, etc. The embodiment of the present disclosure does not specifically limit the type of the server 800.

[0178] It should be noted that the specific implementation principles and effects of the above-mentioned server 800 can be found in the relevant descriptions and effects corresponding to the above-mentioned embodiments, and will not be elaborated here.

[0179] For example, Figure 9A structural diagram of an object to be upgraded provided in an embodiment of the present disclosure, the object to be upgraded 900 may include: a processor 901 and a memory 902 communicatively connected to the processor 901; the memory 902 stores a computer program; the processor 901 executes the computer program stored in the memory 902, so that the processor 901 executes the method executed by the object to be upgraded 900 in any of the above embodiments.

[0180] The memory 902 and the processor 901 may be connected via a bus 903 .

[0181] The object to be upgraded 900 may be a cleaning robot, an industrial robot, a medical robot, an agricultural robot, etc. For example, the cleaning robot may be a sweeping robot, a sweeping and mopping robot, etc. The embodiment of the present disclosure does not specifically limit the type of the object to be upgraded 900.

[0182] It should be noted that the specific implementation principles and effects of the above-mentioned object to be upgraded 900 can be found in the corresponding relevant descriptions and effects of the above-mentioned embodiments, and will not be elaborated here.

[0183] The embodiment of the present disclosure also provides an upgrade system for an object to be upgraded. Figure 10 A schematic diagram of a system for upgrading an object to be upgraded provided by an embodiment of the present disclosure is shown in FIG. Figure 10 As shown, the upgrade system 100 for the object to be upgraded includes a server 800 and an object to be upgraded 900 that establish a communication connection;

[0184] The server is used to execute any method executable by the server in the above embodiment, and the object to be upgraded is used to execute any method executable by the object to be upgraded in the above embodiment.

[0185] It should be noted that the specific implementation principles and effects of the upgrade system 100 for the above-mentioned object to be upgraded can be found in the corresponding descriptions and effects of the server and the object to be upgraded in the above-mentioned embodiment, and will not be elaborated here.

[0186] An embodiment of the present disclosure further provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are executed by a processor, they are used to implement the method described in any of the aforementioned embodiments of the present disclosure.

[0187] An embodiment of the present disclosure further provides a chip for executing instructions, wherein the chip is used to execute the method described in any of the aforementioned embodiments as executed by the processor in any of the aforementioned embodiments of the present disclosure.

[0188] An embodiment of the present disclosure further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the method described in any of the aforementioned embodiments of the present disclosure and executed by the processor can be implemented.

[0189] In the several embodiments provided in the present disclosure, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of modules is only a logical function division. In actual implementation, there may be other division methods, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0190] Modules described as separate components may or may not be physically separate, and components shown as modules may or may not be physical units, that is, they may be located in one place or distributed across multiple network elements. Some or all of these modules may be selected to implement the solution of this embodiment based on actual needs.

[0191] In addition, the functional modules in the various embodiments of the present disclosure may be integrated into a single processing unit, each module may exist physically separately, or two or more modules may be integrated into a single unit. The aforementioned modules may be implemented in the form of hardware or hardware plus software functional units.

[0192] The integrated modules implemented in the form of software function modules can be stored in a computer-readable storage medium. The software function modules stored in a storage medium include several instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute some of the steps of the methods described in various embodiments of the present disclosure.

[0193] It should be understood that the processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the application may be directly implemented by a hardware processor or implemented by a combination of hardware and software modules in the processor.

[0194] The memory may include high-speed random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage, and may also be a USB flash drive, a mobile hard disk, a read-only memory, a magnetic disk or an optical disk.

[0195] A bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. Buses can be categorized as address buses, data buses, and control buses. For ease of illustration, the buses in the figures of this disclosure are not limited to just one bus or just one type of bus.

[0196] The storage medium may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0197] An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the storage medium can also be present in a cleaning device or a main control device as discrete components.

[0198] It should be noted that for the aforementioned method embodiments, for simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present disclosure is not limited by the order of the actions described, because according to the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present disclosure.

[0199] It should be further noted that, although the various steps in the flowchart are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps may be performed in other orders. Moreover, at least a portion of the steps in the flowchart may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily performed at the same time, but may be performed at different times. The execution order of these sub-steps or stages is not necessarily to be performed in sequence, but may be performed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.

[0200] In the above embodiments, the description of each embodiment has its own emphasis. For parts not described in detail in a particular embodiment, please refer to the relevant description of other embodiments. The technical features of the above embodiments can be combined in any way. To keep the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0201] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the claims.

[0202] The above description is merely a specific implementation of the embodiments of the present disclosure, but the scope of protection of the embodiments of the present disclosure is not limited thereto. Any changes or substitutions within the technical scope disclosed in the embodiments of the present disclosure shall be included in the scope of protection of the embodiments of the present disclosure. Therefore, the scope of protection of the embodiments of the present disclosure shall be based on the scope of protection of the claims.

Claims

1. A method for upgrading an object to be upgraded, characterized in that: Applied to a server, the server establishes a communication connection with the object to be upgraded; the method includes: Obtaining a current firmware version of the object to be upgraded, and determining a first data packet corresponding to the current firmware version; Determining, according to a preconfigured rule, the non-transparently transmitted data and the transparently transmitted data in the second data packet corresponding to the upgraded firmware version; the preconfigured rule is configured to classify the data in the second data packet based on transmission requirements; A data difference between the first data packet and the second data packet is determined based on the non-transparent transmission data, the data difference and the transparent transmission data are packaged into a differential packet, and the differential packet is sent to the object to be upgraded.

2. The method according to claim 1, characterized in that The data difference is a binary difference; and determining the data difference between the first data packet and the second data packet based on the non-transparently transmitted data includes: Based on the non-transparently transmitted data, determining a region where the non-transparently transmitted data is located in the second data packet; Determining corresponding to-be-processed data in the first data packet based on the regional location; The binary difference between the non-transparently transmitted data and the data to be processed is calculated.

3. The method according to claim 1, characterized in that The determining, according to the preconfigured rule, the non-transparently transmitted data and the transparently transmitted data in the second data packet corresponding to the upgraded firmware version includes: Filtering the data in the second data packet corresponding to the upgraded firmware version according to a preconfigured rule to determine the non-transparently transmitted data and the transparently transmitted data; The pre-configured rule is determined by at least one of the following methods: Dividing the second data packet into a plurality of data blocks, and determining non-transparent transmission data and transparent transmission data based on the amount of data in the plurality of data blocks; The non-transparent transmission data and the transparent transmission data are determined based on the importance of the data in the second data packet.

4. The method according to claim 3, characterized in that The determining of the non-transparent transmission data and the transparent transmission data based on the data amounts in the multiple data blocks includes: Determining that a data block with a data amount greater than a preset threshold among the multiple data blocks is non-transparent transmission data; Determine, among the multiple data blocks, a data block whose data volume is less than or equal to the preset threshold as transparent transmission data.

5. The method according to claim 3, characterized in that The dividing the second data packet into a plurality of data blocks includes any one of the following: Dividing the second data packet into a plurality of data blocks based on the partition mirror; Dividing the second data packet into a plurality of data blocks based on a predefined module library; The second data packet is divided into a plurality of data blocks based on predefined components.

6. The method according to claim 1, wherein The method further comprises: After sending the differential packet to the object to be upgraded, receiving verification information fed back by the object to be upgraded; If the verification information is failed, the second data packet is sent to the object to be upgraded for upgrading.

7. The method according to claim 1, characterized in that The method further comprises: Obtaining the network bandwidth of the object to be upgraded for receiving the differential packet; Determining, based on the network bandwidth and the first data volume of the second data packet, and the second data volume corresponding to the differential packet, a first duration required for upgrading based on the second data packet and a second duration required for upgrading based on the differential packet; Sending the first duration and the second duration to a user terminal for visual display; Wherein, the object to be upgraded establishes a communication connection with the user terminal.

8. A method for upgrading an object to be upgraded, characterized in that: Applied to an object to be upgraded, the object to be upgraded establishes a communication connection with a server; the method includes: receiving a differential package sent by the server, and performing an upgrade based on the differential package; Among them, the differential packet is formed by the server determining the first data packet corresponding to the current firmware version after receiving the current firmware version sent by the object to be upgraded, and determining the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version according to the pre-configured rules, and the data difference between the first data packet and the second data packet determined based on the non-transparent data and the transparent data; the pre-configured rules are configured to classify the data in the second data packet based on transmission requirements.

9. The method according to claim 8, characterized in that The receiving the differential package sent by the server and performing the upgrade based on the differential package includes: Parsing the differential packet to obtain the data difference and the transparent transmission data; Restoring the non-transparently transmitted data based on the preconfigured rule and the first data packet; The non-transparent transmission data and the transparent transmission data are packaged to obtain the second data packet, and an upgrade is performed based on the second data packet.

10. The method according to claim 8, characterized in that Before performing the upgrade based on the second data packet, the method further includes: Receive a first hash value corresponding to the differential packet and the second data packet sent by the server; After obtaining the second data packet, determining a second hash value of the second data packet and the differential packet; Verification is performed using the first Hash value and the second Hash value.

11. An upgrading device for an object to be upgraded, characterized in that: Applied to a server, the server establishes a communication connection with the object to be upgraded; the device comprises: an acquisition module, configured to acquire a current firmware version of the object to be upgraded, and determine a first data packet corresponding to the current firmware version; a determination module, configured to determine, according to a preconfigured rule, non-transparently transmitted data and transparently transmitted data in a second data packet corresponding to the upgraded firmware version; wherein the preconfigured rule is configured to classify the data in the second data packet based on transmission requirements; A packaging module is used to determine the data difference between the first data packet and the second data packet based on the non-transparent transmission data, package the data difference and the transparent transmission data into a differential packet, and send the differential packet to the object to be upgraded.

12. An upgrading device for an object to be upgraded, characterized in that: Applied to an object to be upgraded, the object to be upgraded establishes a communication connection with a server; the device comprises: An upgrade module, configured to receive the differential packet sent by the server and perform an upgrade based on the differential packet; Among them, the differential packet is formed by the server determining the first data packet corresponding to the current firmware version after receiving the current firmware version sent by the object to be upgraded, and determining the non-transparent data and transparent data in the second data packet corresponding to the upgraded firmware version according to pre-configured rules, and the data difference between the first data packet and the second data packet determined based on the non-transparent data and the transparent data.

13. A server, characterized in that: include: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 7.

14. An object to be upgraded, characterized in that: include: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 8 to 10.

15. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 10 when executed by a processor.

16. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 10 when being executed by a processor.