Method and apparatus for upgrading terminal device, electronic device, and storage medium
By managing the software upgrade process of terminal equipment on the server side, obtaining the device status and determining the upgradeable equipment, the problem of software upgrade in the existing technology affecting the business functions of terminal equipment is solved, and a more reasonable and efficient software upgrade is achieved.
Patent Information
- Application Number
- PCT/CN2024/113798
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-22
- Filing Date
- 2024-08-21
- Publication Date
- 2025-05-30
AI Technical Summary
The existing OTA-based software upgrade method is prone to software upgrades and business data processing to compete for resources, or prioritize software upgrades, which affects the normal implementation of the business functions of the terminal equipment.
By responding to the software upgrade request on the server side, obtaining the target upgrade task to the device to be upgraded, sending device status acquisition instructions, determining the upgradeable device, and sending it to the software data packet to be upgraded, ensuring that software upgrades are performed when the device status allows.
When the terminal device is upgrading software, this method first obtains the device status information to ensure that the device can be upgraded and then sends software data packets, avoiding forced upgrades to terminal devices with poor equipment conditions, and improving the rationality and efficiency of terminal device software upgrades.
Smart Images

Figure CN2024113798_30052025_PF_FP_ABST
Abstract
Description
Terminal device upgrade method, device, electronic device and storage medium
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is based on the Chinese patent application with application number 202311572226.4 and application date of November 22, 2023, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby introduced into this application in its entirety. Technical Field
[0003] The present disclosure relates to the field of network communication technology, and in particular to a terminal device upgrading method, apparatus, electronic device, and non-transitory computer-readable storage medium. Background Art
[0004] Over-the-Air Technology (OTA) is a technology that remotely manages the firmware (also known as software) in terminal devices through the air interface of mobile communications. Especially in the field of Internet of Things, since IoT devices are usually widely distributed or located in remote areas, OTA-based software upgrades can save the upgrade costs of IoT terminals.
[0005] In the related art, the OTA-based software upgrade method can broadcast the latest version information of the target software to the terminal device, and perform the software upgrade when the terminal device determines that the current version information of the target software is inconsistent with the latest version information.
[0006] However, this software upgrade method is usually a forced upgrade method. When the terminal device is processing other business data, the software upgrade and the processing of business data will compete for resources, or the software upgrade will be given priority, affecting the normal implementation of the business functions of the terminal device.
[0007] Summary of the Invention
[0008] The present disclosure provides a terminal device upgrade method, apparatus, electronic device, and storage medium, which can improve the rationality of the software upgrade function of the terminal device. The technical solution of the present disclosure is as follows:
[0009] According to a first aspect of the present disclosure, a terminal device upgrade method is provided, the method being applied to a server and comprising:
[0010] In response to obtaining the software upgrade request, obtaining a target upgrade task to be processed;
[0011] Sending a device status acquisition instruction to a plurality of devices to be upgraded associated with the target upgrade task, and receiving device status information returned by each device to be upgraded;
[0012] Determining at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded;
[0013] A software data packet to be upgraded is sent to each upgradeable device, wherein the upgradeable device is used to perform software upgrade based on the software data packet to be upgraded.
[0014] According to a second aspect of the present disclosure, there is provided a terminal device upgrade apparatus, the apparatus being a server, comprising:
[0015] an acquisition module, configured to acquire a target upgrade task to be processed in response to acquiring a software upgrade request;
[0016] a transceiver module configured to send a device status acquisition instruction to a plurality of devices to be upgraded associated with the target upgrade task, and receive device status information returned by each device to be upgraded;
[0017] a determining module configured to determine at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded;
[0018] The sending module is configured to send a software data packet to be upgraded to each upgradeable device, wherein the upgradeable device is used to perform software upgrade based on the software data packet to be upgraded.
[0019] According to a third aspect of the present disclosure, there is provided an electronic device, including:
[0020] processor; and
[0021] Memory for storing programs,
[0022] The program includes instructions, which, when executed by the processor, cause the processor to perform the method as described in the first aspect.
[0023] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the method according to the first aspect.
[0024] The terminal device upgrade method, apparatus, electronic device and storage medium provided by the embodiments of the present disclosure obtain a target upgrade task to be processed in response to a software upgrade request; send a device status acquisition instruction to multiple devices to be upgraded associated with the target upgrade task, and receive device status information returned by each device to be upgraded; determine at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded; send a software data packet to be upgraded to each upgradeable device; and when performing a software upgrade on the terminal device, first obtain the device status information of the terminal device, and when the device status information of the terminal device indicates that the terminal device is upgradeable, send the software data packet to be upgraded to the terminal device, thereby preventing forced upgrades on terminal devices with unsatisfactory device conditions and improving the rationality of the software upgrade function of the terminal device. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Further details, features and advantages of the present disclosure are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which:
[0026] FIG1 is a schematic diagram showing an exemplary system of a terminal device upgrade method according to an exemplary embodiment of the present disclosure;
[0027] FIG2 shows a flow chart of a terminal device upgrading method according to an exemplary embodiment of the present disclosure;
[0028] FIG3 shows an interactive relationship flow chart of a terminal device upgrade method according to an exemplary embodiment of the present disclosure;
[0029] FIG4 shows an interactive relationship flow chart of another terminal device upgrade method according to an exemplary embodiment of the present disclosure;
[0030] FIG5 shows a schematic block diagram of a terminal device upgrading apparatus according to an exemplary embodiment of the present disclosure;
[0031] FIG6 shows a schematic block diagram of a chip according to an exemplary embodiment of the present disclosure;
[0032] FIG7 shows a block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure. DETAILED DESCRIPTION
[0033] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.
[0034] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0035] The term "including" and its variations used in this document are open inclusions, that is, "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc. mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0036] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".
[0037] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0038] In the related art, during the process of upgrading the software of a terminal device based on OTA technology, the OTA server can broadcast the latest version information of the software to be upgraded to the terminal device. After receiving the latest version information of the target software to be upgraded, the terminal device can directly perform the software upgrade when it determines that the latest version information of the target software and the current version information of the target software in the terminal device are inconsistent. The target software can be any software in the terminal device, such as a device system or a client, etc., and the embodiments of the present disclosure do not limit this.
[0039] However, the software upgrade method provided in the relevant technology is usually a forced upgrade method, which can achieve reliable upgrade of the target software when the terminal device is in an idle state; however, if the software upgrade is forced when the terminal device is processing other business data, the software upgrade and the processing of business data will compete for resources, or the software upgrade will be directly prioritized, affecting the normal implementation of the business functions of the terminal device.
[0040] To address the aforementioned issues, an embodiment of the present disclosure provides a terminal device upgrade solution. Figure 1 illustrates a schematic diagram of an implementation scenario for a terminal device upgrade system according to an exemplary embodiment of the present disclosure. As shown in Figure 1 , implementation scenario 100 includes a terminal device 101 and a server 102. Terminal device 101 may be a device in a mobile communication network, such as a terminal device in the Internet of Things (IoT). Server 102 may be a service device that manages the terminal device. The terminal device may be a computer, mobile phone, tablet computer, wearable device, or IoT terminal.
[0041] As shown in FIG1 , when executing the terminal device upgrade solution provided by the embodiment of the present disclosure, the terminal device 101 may establish a wireless or wired link with the server 102 to implement the terminal device upgrade solution provided by the embodiment of the present disclosure.
[0042] It should be noted that, in the embodiment of the present disclosure, the server 102 can be a single server, or a cluster of multiple servers, which is not limited in the embodiment of the present disclosure. For example, the server 102 can include a software server and a device management server, wherein the software server is used to obtain a target upgrade task to be processed in response to a software upgrade request, and the device management server is used to send a device status acquisition instruction to multiple devices to be upgraded associated with the target upgrade task, and receive the device status information returned by each device to be upgraded, and based on the device status information returned by each device to be upgraded, determine at least one upgradeable device among the multiple devices to be upgraded; further, the software server is used to send a software data packet to be upgraded to each upgradeable device, wherein the upgradeable device is used to perform a software upgrade based on the software data packet to be upgraded.
[0043] FIG2 shows a flow chart of a terminal device upgrade method according to an exemplary embodiment of the present disclosure. The method may be applied to a server. As shown in FIG2 , the method according to the embodiment of the present disclosure may include:
[0044] Step S201, in response to receiving a software upgrade request, obtaining a target upgrade task to be processed;
[0045] Step S202: Send a device status acquisition instruction to multiple devices to be upgraded that are associated with the target upgrade task, and receive device status information returned by each device to be upgraded;
[0046] Step S203: determining at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded;
[0047] Step S204, sending the software data package to be upgraded to each upgradeable device;
[0048] The upgradeable device is used to perform software upgrade based on the software data package to be upgraded.
[0049] To sum up, the terminal device upgrade method provided by the embodiment of the present disclosure obtains a target upgrade task to be processed in response to a software upgrade request; sends a device status acquisition instruction to multiple devices to be upgraded associated with the target upgrade task, and receives device status information returned by each device to be upgraded; based on the device status information returned by each device to be upgraded, determines at least one upgradeable device among the multiple devices to be upgraded; sends a software data packet to be upgraded to each upgradeable device; when performing software upgrade on the terminal device, the device status information of the terminal device can be first obtained, and when the device status information of the terminal device indicates that the terminal device can be upgraded, the software data packet to be upgraded is sent to the terminal device, thereby preventing forced upgrade of terminal devices with unsatisfactory device conditions, and improving the rationality of the software upgrade function of the terminal device.
[0050] The specific implementation of each step in the embodiment shown in Figure 2 is described in detail below:
[0051] In step S201 , the server may obtain a target upgrade task to be processed in response to obtaining a software upgrade request.
[0052] In an embodiment of the present disclosure, a software upgrade request may be sent by a terminal device of a software developer, and the software upgrade request may include a software data packet to be upgraded, and a device list of multiple devices to be upgraded; wherein, the software data packet to be upgraded is a data packet of the target software to be upgraded, and the software data packet to be upgraded may include the software package of the target software, as well as the differential package, patch package and rollback package of the target software, etc., which is not limited in this embodiment of the present disclosure; the target software is any software in the terminal device, for example, a device system.
[0053] In an optional embodiment, the server may respond to a software upgrade request, and the process of obtaining a target upgrade task to be processed may include: the server may respond to a software upgrade request, obtain a software data package to be upgraded, and a device list of multiple devices to be upgraded, and create a target upgrade task to be processed based on the software data package to be upgraded and the device list of multiple devices to be upgraded.
[0054] In step S202, the server may send a device status acquisition instruction to multiple devices to be upgraded that are associated with the target upgrade task, and receive device status information returned by each device to be upgraded.
[0055] In an embodiment of the present disclosure, the multiple devices to be upgraded associated with the target upgrade task may include multiple devices to be upgraded that execute the target upgrade task; the device status information may include whether the device is in an idle state, the hardware resource parameters of the device to be upgraded, such as the remaining power and remaining storage space of the device to be upgraded, and the idle waiting time of the device to be upgraded, wherein the idle state of the device to be upgraded refers to a state in which the device to be upgraded does not use network resources and hardware resources, for example, no business data processing or other software upgrades are performed; the idle waiting time is the waiting time for the device to be upgraded to change from a non-idle state to an idle state, and the idle waiting time can be estimated based on the speed at which the device to be upgraded currently processes business based on the terminal device.
[0056] In an optional embodiment, the process of the server sending a device status acquisition instruction to multiple devices to be upgraded associated with a target upgrade task and receiving device status information returned by each device to be upgraded may include: obtaining multiple device identifiers from a device list carried in the target upgrade task, and sending a device status acquisition instruction to the device to be upgraded corresponding to each device identifier. It is understood that the device status acquisition instruction is used to instruct the device to be upgraded to return the device status information of the device to be upgraded to the server.
[0057] In step S203, the server may determine at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded.
[0058] In the embodiments of the present disclosure, an upgradeable device is a device to be upgraded that meets upgrade conditions. The upgrade conditions may include the device to be upgraded being in an idle state. The upgrade conditions may also include the hardware resources of the device to be upgraded meeting the upgrade requirements. Whether the hardware resources meet the upgrade requirements can be determined based on actual needs and is not limited in the embodiments of the present disclosure. For example, the remaining storage space of the device to be upgraded is greater than the data volume of the software data package to be upgraded, and / or the remaining power of the device to be upgraded is greater than or equal to a preset power threshold. It will be understood that the upgrade condition including the device to be upgraded being in an idle state can ensure that the software upgrade does not affect other business processing in the terminal device; the upgrade condition including the hardware resources of the device to be upgraded meeting the upgrade requirements can ensure the success rate of the software upgrade.
[0059] It should be noted that, in the embodiment of the present disclosure, the server can provide software developers with the ability to upgrade multiple devices to be upgraded according to different upgrade consistency requirements. The software upgrade request sent by the software developer can also include upgrade consistency information, which is used to characterize the degree of upgrade consistency of the multiple devices to be upgraded. If the upgrade consistency information indicates that the degree of upgrade consistency of the multiple devices to be upgraded is low, the server successfully upgrades the upgradeable devices among the multiple devices to be upgraded, indicating that the upgrade task is successfully executed; if the upgrade consistency information indicates that the degree of upgrade consistency of the multiple devices to be upgraded is medium, the server successfully upgrades the upgradeable devices among the multiple devices to be upgraded, and successfully delays the upgrade of the non-upgradeable devices among the multiple devices to be upgraded, indicating that the upgrade task is successfully executed; if the upgrade consistency information indicates that the degree of upgrade consistency of the multiple devices to be upgraded is high, the server successfully upgrades the multiple devices to be upgraded synchronously, indicating that the upgrade task is successfully executed.
[0060] In an optional embodiment, the process of determining at least one upgradeable device among multiple devices to be upgraded based on the device status information returned by each device to be upgraded may include: determining at least one upgradeable device among multiple devices to be upgraded based on the upgrade consistency information in the target upgrade task and the device status information returned by each device to be upgraded. It should be noted that in the process of the server creating a target upgrade task, the upgrade consistency information obtained from the software upgrade request can be added to the target upgrade task; based on the user's upgrade consistency requirements and device status for multiple devices to be upgraded, the device that can be upgraded can be determined among multiple devices to be upgraded, which will not affect other business processing of the devices to be upgraded, and can also meet the diverse needs of software upgrades and improve the software upgrade experience of software developers.
[0061] In an optional embodiment, based on the upgrade consistency information in the target upgrade task and the device status information returned by each device to be upgraded, the process of determining at least one upgradeable device among multiple devices to be upgraded may include: if the upgrade consistency information indicates that the upgrade consistency of the multiple devices to be upgraded is low or medium, then determining as an upgradeable device the device to be upgraded whose device status information indicates that it meets the upgrade conditions. If the upgrade consistency of multiple devices to be upgraded is medium or low, the device to be upgraded that meets the upgrade conditions among the multiple devices to be upgraded may be determined as an upgradeable device, thereby satisfying the software developer's software upgrade requirements under medium and low upgrade consistency requirements.
[0062] In an optional embodiment, the server determines at least one upgradeable device among multiple devices to be upgraded based on the upgrade consistency information in the target upgrade task and the device status information returned by each device to be upgraded. The process may include: if the upgrade consistency information indicates that the upgrade consistency level of multiple devices to be upgraded is high, then according to the device status information of each device to be upgraded, determine the synchronous upgrade time of the multiple devices to be upgraded, and determine each device to be upgraded as an upgradeable device; when the upgrade consistency of multiple devices to be upgraded is high, the synchronous upgrade time when the multiple devices to be upgraded are all in an idle state can be determined according to the device status information of each device to be upgraded, so that the multiple devices to be upgraded can be upgraded at the synchronous upgrade time, meeting the software upgrade needs of the software developer under the medium and high upgrade consistency requirements.
[0063] It should be noted that, in the embodiment of the present disclosure, multiple devices to be upgraded may all be in an idle state, or all be in a non-space state, or some be in an idle state. The process by which the server determines the synchronous upgrade time of multiple devices to be upgraded based on the device status information of each device to be upgraded may include: if the device status information of each device to be upgraded indicates that the device to be upgraded is in an idle state, then the current moment is determined as the synchronous upgrade time of multiple devices to be upgraded; or, if the device status information of each device to be upgraded indicates that the device to be upgraded is in a non-idle state, then the idle waiting time in the device status information of each device to be upgraded is obtained, and the first longest idle waiting time among the multiple idle waiting times is determined, and the moment after the current moment is delayed by the first longest idle waiting time is determined as the synchronous upgrade time of multiple devices to be upgraded; or, if the device status information of at least one device to be upgraded indicates that at least one device to be upgraded is in a non-idle state, then the idle waiting time in the device status information of at least one non-idle device to be upgraded is obtained, and the second longest idle waiting time among the at least one idle waiting time is determined, and the moment after the current moment is delayed by the second longest idle waiting time is determined as the synchronous upgrade time of multiple devices to be upgraded.
[0064] In an optional embodiment, when the software developer has no requirements for upgrade consistency of multiple devices to be upgraded, the software upgrade request may not carry upgrade consistency information. The server then determines, based on the device status information returned by each device to be upgraded, that at least one upgradeable device among multiple devices to be upgraded. The process may include: determining, among the multiple devices to be upgraded, a device whose device status information indicates that the device meets the upgrade conditions as an upgradeable device.
[0065] In step S204, the server may send a software data package to be upgraded to each upgradeable device.
[0066] In the embodiment of the present disclosure, the upgradeable device is used to perform software upgrade based on the software data package to be upgraded. It is understandable that the software upgraded by the upgradeable device is the target software.
[0067] In an optional embodiment, the process of the server sending the software data package to be upgraded to each upgradeable device may include: the server may send the software data package to be upgraded to each upgradeable device based on the Message Queuing Telemetry Transport (MQTT) protocol. It is understandable that in the embodiment of the present disclosure, during the deployment phase of the terminal device, the terminal device may be configured so that the terminal device subscribes to a target topic, so that during the software upgrade phase, the server may publish the software data package to be upgraded to the target topic and synchronize it to the upgradeable device, wherein the target topic may be the identifier of the target software. Since the terminal device and the server are in a long link state during the process of transmitting the software data package based on MQTT, the resource overhead in the process of the server synchronizing the software data package to the terminal device can be reduced, and the efficiency of data package transmission can be improved.
[0068] It should be noted that in the disclosed embodiment, if the upgrade consistency information indicates that the upgrade consistency of multiple devices to be upgraded is high, the process of the server sending the upgrade software data package to each upgradeable device may include: sending the upgrade software data package to each upgradeable device at the synchronization upgrade time. This facilitates the simultaneous upgrade of multiple terminal devices to be upgraded in scenarios with high upgrade consistency requirements.
[0069] It should also be noted that in an embodiment of the present disclosure, if the upgrade consistency of multiple devices to be upgraded is medium, it is necessary to delay the upgrade of non-upgradeable devices among the multiple devices to be upgraded. In an optional embodiment, if the upgrade consistency information indicates that the upgrade consistency of the multiple devices to be upgraded is medium, the server can also determine the upgrade delay period for the delayed upgrade device based on the device status information of the delayed upgrade device among the multiple devices to be upgraded. Furthermore, a delayed upgrade instruction generated based on the upgrade delay period is sent to the delayed upgrade device, wherein the delayed upgrade device is a non-upgradeable device among the multiple devices to be upgraded, and the delayed upgrade instruction is used to instruct the delayed upgrade device to perform a software upgrade based on the upgrade software data package sent by the server after the upgrade delay period. It is understood that after the upgrade delay period, the server can send the upgrade software data package to each delayed upgrade device. If the upgrade consistency of multiple devices to be upgraded is medium, the device to be upgraded that cannot be upgraded at the current time among the multiple devices to be upgraded can be determined as a delayed upgrade device, and the delayed upgrade device is delayed to meet the software upgrade requirements of the software developer under the medium upgrade consistency requirement.
[0070] Among them, the process of the server determining the upgrade delay period of the delayed upgrade device based on the device status information of the delayed upgrade device among multiple devices to be upgraded may include: for each delayed upgrade device, if the device status information indicates that the delayed upgrade device is in a non-idle state, then the idle state waiting time of the delayed upgrade device is determined as the upgrade delay period; or, if the device status information indicates that the remaining power of the delayed upgrade device is less than a preset power threshold, then the difference between the current moment and the moment when the first feedback information is obtained is determined as the upgrade delay period, wherein the first feedback information is used to indicate that the remaining power of the delayed upgrade device is greater than or equal to the preset power threshold; or, if the device status information indicates that the remaining storage space of the delayed upgrade device is less than or equal to the data volume of the software data package to be upgraded, then the difference between the current moment and the moment when the second feedback information is obtained is determined as the upgrade delay period, wherein the second feedback information is used to indicate that the remaining storage space of the delayed upgrade device is greater than the data volume of the software data package to be upgraded.
[0071] It should be noted that in the embodiments of the present disclosure, when the number of upgradeable terminal devices includes multiple cases, there are scenarios where multiple upgradeable devices need to be upgraded in sequence; for example; the terminal device can access the network through a base station to establish a link with the server, and the number of devices that each base station can serve at the same time will be limited. Therefore, when the number of upgradeable devices is multiple, the multiple upgradeable devices can be upgraded in batches. During the upgrade of a batch of terminal devices, the next batch of terminal devices that need to be upgraded can be notified to wait, so as to achieve efficient and orderly upgrade of multiple terminal devices; or, there is a dependency relationship between multiple upgradeable devices. During the upgrade of the upgradeable devices, other upgradeable devices that depend on the upgradeable device being upgraded can be notified to wait, so as to achieve efficient and orderly upgrade of terminal devices with dependencies.
[0072] In an optional embodiment, when there are multiple upgradeable devices, before sending the software data package to be upgraded to each upgradeable device, the server may further determine the upgrade duration of each upgradeable device based on historical upgrade information. The process of the server sending the software data package to be upgraded to each upgradeable device may then include: sending the software data package to be upgraded to a first upgradeable device among the multiple upgradeable devices, and sending a first upgrade deferral instruction to a second upgradeable device, wherein the first upgrade deferral instruction is generated based on the first upgrade duration of the first upgradeable device, and the first upgrade deferral instruction is used to instruct the second upgradeable device to perform a software upgrade according to the software data package to be upgraded sent by the server after deferring the software data package to be upgraded sent by the server for the first upgrade duration, and the upgrade order of the second upgradeable device among the multiple upgradeable devices is later than that of the first upgradeable device. For multiple upgradeable devices that have a sequential upgrade order, after sending the software data package to be upgraded to the first upgradeable device among the multiple upgradeable devices, the server may send the upgrade deferral instruction to the second upgradeable device that has an upgrade order later than the first upgradeable device, so that the second upgradeable device can prepare for the upgrade, thereby improving the upgrade order of the multiple upgradeable devices that have a sequential upgrade order.
[0073] Among them, the historical upgrade information is the upgrade information parameters of at least one historical upgrade process within a historical period, wherein the upgrade information parameters can be dimensions such as software data packet size data, network status data and upgrade duration. The process of the server determining the upgrade duration of each upgradeable device based on the historical upgrade information may include: for each upgradeable device, determining a first ratio of the historical software data packet size to the size of the software data packet to be upgraded, and determining a second ratio of the historical network status data to the current network status data of each upgradeable device, then determining the product of the first ratio and the second ratio to obtain a time ratio parameter, and finally determining the product of the time ratio parameter and the historical upgrade duration to obtain the upgrade duration of each upgradeable device.
[0074] It should be noted that in the embodiments of the present disclosure, the historical upgrade information may be information on the historical upgrade process of the terminal devices in the area where the upgradeable device is located, or information on the historical upgrade process of the terminal devices in the area where the upgradeable device is located; wherein, when the historical information includes information on multiple historical upgrade processes, the upgrade duration of the upgradeable device based on each historical upgrade process can be determined, and the average of the upgrade durations determined based on multiple historical upgrade processes can be determined as the upgrade duration of the upgradeable device.
[0075] It can be understood that in the scenario where multiple upgradeable devices are upgraded in batches, the first upgradeable device is an upgradeable device in the first upgradeable device set among multiple upgradeable device sets determined based on the multiple upgradeable devices, and the second upgradeable device is an upgradeable device in the second upgradeable device set among the multiple upgradeable device sets, wherein the upgrade order of the upgradeable devices in the second upgradeable device set is later than the upgradeable devices in the second upgradeable device set; it should be noted that in the embodiment of the present disclosure, the batching rules for batching the multiple upgradeable devices and determining the upgrade order of the multiple upgradeable device sets can be determined based on actual needs, and the embodiment of the present disclosure does not limit this; for example, the multiple upgradeable devices can be randomly divided into multiple upgradeable device sets of the same number, the first upgradeable device set is any one of the multiple upgradeable device sets, the second upgradeable device set is also any one of the multiple upgradeable device sets, and the upgradeable device set and the second upgradeable device set are different.
[0076] In an optional embodiment, as shown in Figure 3, Figure 3 shows an interactive relationship diagram of a terminal device upgrading method, wherein, after the server sends a software data packet to be upgraded to a first upgradeable device among multiple upgradeable devices and sends a first postpone upgrade instruction to a second upgradeable device, if an upgrade suspension request is received from the first upgradeable device during the process of sending the software data packet to be upgraded to the first upgradeable device, the server may suspend sending fragments of the software data packet to be upgraded to the first upgradeable device and send fragments of the software data packet to be upgraded to the second upgradeable device; then, after receiving a continue push instruction sent by the first upgradeable device, suspend sending fragments of the software data packet to be upgraded to the second upgradeable device and send the remaining fragments of the software data packet to be upgraded to the first upgradeable device; further, after determining that the upgrade of the first upgradeable device is completed, send the remaining fragments of the software data packet to be upgraded to the second upgradeable device. Terminal devices that are in the process of upgrading can be allowed to pause the software upgrade process so that the terminal devices that are in the process of upgrading can process business data that is more urgent than the software upgrade business, thereby ensuring the normal progress of business processing; at the same time, after the terminal device in the process of upgrading pauses the upgrade, the software data packets to be upgraded can be sent to the terminal devices waiting for upgrade that are located after the terminal device that paused the upgrade in the upgrade order, and the pause time can be used to push the software data packets to be upgraded to the terminal devices waiting for upgrade, thereby improving the upgrade efficiency while ensuring the orderly upgrade of terminal devices in a certain order.
[0077] In an optional embodiment, as shown in Figure 4, Figure 4 shows an interactive flow chart of a terminal device upgrade method, wherein a dependency relationship exists between multiple upgradeable devices, and the first upgradeable device is a source-end upgradeable device among the multiple upgradeable devices with a dependency relationship, wherein the source-end upgradeable device is an upgradeable device without a dependent device among the multiple upgradeable devices with a dependency relationship. After the server sends a software data packet to be upgraded to a first upgradeable device among multiple upgradeable devices and sends a first upgrade postponement instruction to a second upgradeable device, the server may further: if it is determined that the actual upgrade duration of the first upgradeable device is less than the first upgrade duration and the second upgradeable device is in a dormant state, then after the upgrade of the source-end upgradeable device is completed, send fragments of the software data packet to be upgraded to a third upgradeable device that depends on the second upgradeable device among the multiple upgradeable devices; then, after a target duration, send the software data packet to be upgraded to the second upgradeable device, and send a second upgrade postponement instruction generated based on the second upgrade duration of the second upgradeable device to the third upgradeable device, wherein the first upgrade postponement instruction is used to instruct the third upgradeable device to perform a software upgrade according to the software data packet to be upgraded sent by the server after postponing the second upgrade duration, and the target duration is the difference between the first upgrade duration and the actual upgrade duration of the first upgradeable device. For multiple upgradeable devices with dependent relationships, if the terminal device being upgraded is completed ahead of time and the dependent device of the terminal device that has been upgraded in advance is in sleep mode, the software data packet to be upgraded is sent to the next dependent device, so as to use the device sleep time to push the software data packet to be upgraded to the terminal device waiting for upgrade. Under the premise of ensuring the orderly upgrade of the terminal devices with dependent relationships, the upgrade efficiency of multiple upgradeable devices with dependent relationships is improved.
[0078] Specifically, after receiving the first upgrade postponement instruction, the second upgradeable device may begin to wait for the software data packet to be upgraded sent by the server to perform the software upgrade; however, if the waiting time exceeds a preset time period set by the user, the second upgradeable device may enter a dormant state to reduce energy consumption of the terminal device. It is understood that after receiving the first upgrade postponement instruction, if the second upgradeable device enters a dormant state, it may automatically wake up and perform the upgrade after delaying the first upgrade time period from the time of receiving the first upgrade postponement instruction; after the upgrade of the second upgradeable device is completed, the server may continue to send the remaining fragments of the software data packet to be upgraded to the third upgradeable device to facilitate the upgrade of the third upgradeable device.
[0079] It is understandable that for multiple upgradeable devices with dependencies, after one upgradeable device is successfully upgraded, the next upgradeable device that depends on it can be upgraded, but this does not affect the server sending the software data package to be upgraded to each upgradeable device.
[0080] It should be noted that in the embodiment of the present disclosure, for each upgradeable device, after obtaining the software data package to be upgraded, it is necessary to use the verification information sent by the server to verify the software data package to be upgraded, and if the verification is successful, complete the upgrade and restart and update the software version number, and at the same time send the upgrade success information to the server so that the service can determine that the upgrade status of the upgradeable device is a successful upgrade.
[0081] The above mainly introduces the solution provided by the embodiment of the present disclosure from the perspective of the server. It can be understood that in order to realize the above functions, the server includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present disclosure.
[0082] The embodiments of the present disclosure can divide the server into functional units according to the above method examples. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiments of the present disclosure is schematic and is only a logical functional division. In actual implementation, there may be other division methods.
[0083] In the case of dividing each functional module according to each function, the exemplary embodiment of the present disclosure provides a terminal device upgrade device, which can be a server or a chip applied to a server. Figure 5 shows a schematic block diagram of the functional modules of the terminal device upgrade device according to the exemplary embodiment of the present disclosure. As shown in Figure 5, the terminal device upgrade device 500 includes:
[0084] The acquisition module 501 is configured to acquire a target upgrade task to be processed in response to receiving a software upgrade request;
[0085] The transceiver module 502 is configured to send a device status acquisition instruction to multiple devices to be upgraded associated with the target upgrade task, and receive device status information returned by each device to be upgraded;
[0086] The determining module 503 is configured to determine at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded;
[0087] The sending module 504 is configured to send a software data package to be upgraded to each upgradeable device, wherein the upgradeable device is used to perform software upgrade based on the software data package to be upgraded.
[0088] Optionally, the determining module 503 is configured to:
[0089] At least one upgradeable device is determined from the multiple devices to be upgraded based on the upgrade consistency information in the target upgrade task and the device status information returned by each device to be upgraded. The upgrade consistency information is used to characterize the upgrade consistency degree of the multiple devices to be upgraded.
[0090] Optionally, the determining module 503 is configured to:
[0091] If the upgrade consistency information indicates that the upgrade consistency of the multiple devices to be upgraded is low or medium, the device to be upgraded among the multiple devices to be upgraded, the device to be upgraded whose device status information indicates that it meets the upgrade condition, is determined as the upgradeable device.
[0092] Optionally, the apparatus further includes a first delay processing module 505 configured to:
[0093] Determining, based on device status information of a delayed upgrade device among the multiple devices to be upgraded, an upgrade delay duration of the delayed upgrade device, wherein the delayed upgrade device is a non-upgradeable device among the multiple devices to be upgraded;
[0094] A delayed upgrade instruction generated based on the upgrade delay duration is sent to the delayed upgrade device, wherein the delayed upgrade instruction is used to instruct the delayed upgrade device to perform software upgrade according to the software data packet to be upgraded sent by the server after delaying the upgrade delay duration.
[0095] Optionally, the determining module 503 is configured to:
[0096] If the upgrade consistency information indicates that the upgrade consistency of the multiple devices to be upgraded is high, determining a synchronous upgrade time for the multiple devices to be upgraded according to the device status information of each device to be upgraded, and determining each device to be upgraded as the upgradeable device;
[0097] The step of sending a software data packet to be upgraded to each upgradeable device includes:
[0098] At the synchronous upgrade time, a software data packet to be upgraded is sent to each of the upgradeable devices.
[0099] Optionally, the apparatus further includes a duration determination module 506 configured to:
[0100] Determining an upgrade duration for each of the upgradeable devices based on historical upgrade information;
[0101] The step of sending a software data packet to be upgraded to each upgradeable device includes:
[0102] The software data packet to be upgraded is sent to a first upgradeable device among multiple upgradeable devices, and a first upgrade deferral instruction is sent to a second upgradeable device, where the first upgrade deferral instruction is generated based on a first upgrade duration of the first upgradeable device, and the first upgrade deferral instruction is used to instruct the second upgradeable device to perform a software upgrade according to the software data packet to be upgraded sent by the server after the first upgrade duration is deferred. The upgrade order of the second upgradeable device among the multiple upgradeable devices is later than that of the first upgradeable device.
[0103] Optionally, the apparatus further includes a second delay processing module 507 configured to:
[0104] If, during the process of sending the software data packet to be upgraded to the first upgradeable device, an upgrade suspension request sent by the first upgradeable device is received, suspending sending the fragments of the software data packet to be upgraded to the first upgradeable device and sending the fragments of the software data packet to be upgraded to the second upgradeable device;
[0105] After receiving the continue push instruction sent by the first upgradeable device, suspend sending the fragments of the software data packet to be upgraded to the second upgradeable device, and send the remaining fragments of the software data packet to be upgraded to the first upgradeable device;
[0106] After determining that the upgrade of the first upgradeable device is complete, the remaining fragments of the to-be-upgraded software data packet are sent to the second upgradeable device.
[0107] Optionally, there is a dependency relationship between the multiple upgradeable devices, and the first upgradeable device is a source upgradeable device among the multiple upgradeable devices with the dependency relationship. The apparatus further includes a third delay processing module 508 configured to:
[0108] If it is determined that the actual upgrade duration of the first upgradeable device is less than the first upgrade duration, and the second upgradeable device is in a dormant state, after the upgrade of the source upgradeable device is completed, sending fragments of the to-be-upgraded software data packet to a third upgradeable device that depends on the second upgradeable device among the multiple upgradeable devices;
[0109] After the target duration, the software data packet to be upgraded is sent to the second upgradeable device, and a second upgrade postponement instruction generated based on the second upgrade duration of the second upgradeable device is sent to the third upgradeable device, where the first upgrade postponement instruction is used to instruct the third upgradeable device to perform a software upgrade according to the software data packet to be upgraded sent by the server after postponing the second upgrade duration. The target duration is the difference between the first upgrade duration and the actual upgrade duration of the first upgradeable device.
[0110] Figure 6 shows a schematic block diagram of a chip according to an exemplary embodiment of the present disclosure. As shown in Figure 6, chip 600 includes one or more (including two) processors 601 and a communication interface 602. Communication interface 602 can support the server in executing the data sending and receiving steps in the above-mentioned terminal device upgrade method, and processor 601 can support the server in executing the data processing steps in the above-mentioned terminal device upgrade method.
[0111] Optionally, as shown in FIG6 , the chip 600 further includes a memory 603 , which may include a read-only memory and a random access memory, and provides operating instructions and data to the processor. A portion of the memory may also include a non-volatile random access memory (NVRAM).
[0112] In some embodiments, as shown in FIG6 , the processor 601 performs corresponding operations by calling operation instructions stored in the memory (the operation instructions may be stored in the operating system). The processor 601 controls the processing operations of any one of the terminal devices, and the processor may also be referred to as a central processing unit (CPU). The memory 603 may include a read-only memory and a random access memory, and provides instructions and data to the processor 2201. A portion of the memory 603 may also include NVRAM. For example, in an application, the memory, the communication interface, and the memory are coupled together through a bus system, wherein the bus system may include, in addition to the data bus, a power bus, a control bus, and a status signal bus, etc. However, for the sake of clarity, various buses are labeled as bus system 604 in FIG6 .
[0113] The methods disclosed in the above embodiments of the present disclosure can be applied to or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in the processor or by software instructions. The above processor may be a general-purpose processor, a digital signal processor (DSP), an ASIC, a field-programmable gate array (FPGA), or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The methods, steps, and logic block diagrams disclosed in the embodiments of the present disclosure can be implemented or executed. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in conjunction with the embodiments of the present disclosure can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.
[0114] The exemplary embodiments of the present disclosure further provide an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program executable by the at least one processor, the computer program being configured to cause the electronic device to perform a method according to an exemplary embodiment of the present disclosure when executed by the at least one processor.
[0115] Exemplary embodiments of the present disclosure further provide a non-transitory computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor of a computer, is used to cause the computer to perform a method according to an embodiment of the present disclosure.
[0116] Exemplary embodiments of the present disclosure further provide a computer program product, including a computer program, wherein when the computer program is executed by a processor of a computer, it is used to cause the computer to perform the method according to the embodiment of the present disclosure.
[0117] With reference to Figure 7, a block diagram of a server that can be used as the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. Electronic equipment is intended to represent various forms of digital electronic computer equipment, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic equipment can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0118] As shown in Figure 7, electronic device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In RAM 703, various programs and data required for the operation of electronic device 700 can also be stored. Computing unit 701, ROM 702, and RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to bus 704.
[0119] Multiple components within electronic device 700 are connected to I / O interface 705, including an input unit 706, an output unit 707, a storage unit 708, and a communication unit 709. Input unit 706 can be any type of device capable of inputting information into electronic device 700. Input unit 706 can receive input numeric or character information and generate key input signals related to user settings and / or function control of the electronic device. Output unit 707 can be any type of device capable of presenting information and may include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. Storage unit 708 may include, but is not limited to, a magnetic disk or an optical disk. Communication unit 709 allows electronic device 700 to exchange information / data with other devices via computer networks such as the Internet and / or various telecommunication networks and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver and / or a chipset, such as a Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0120] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units for running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above. For example, in some embodiments, the method of the embodiment of the present disclosure may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 700 via the ROM 702 and / or the communication unit 709. In some embodiments, the computing unit 701 may be configured to perform the method of the embodiment of the present disclosure by any other appropriate means (e.g., by means of firmware).
[0121] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. Such program code may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the program code is executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are implemented. The program code may be executed entirely on the machine, partially on the machine, or partially on the machine as a stand-alone software package.
[0122] The program may be executed on a remote machine and partially on a remote machine or entirely on a remote machine or server.
[0123] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0124] As used in this disclosure, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., a magnetic disk, an optical disk, a memory, a programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0125] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0126] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0127] Computer systems may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The client and server relationship arises through computer programs running on the respective computers and having a client-server relationship to each other.
[0128] In the above embodiments, they can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, they can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present disclosure are performed in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a terminal, a user device, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer program or instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, a hard disk, or a tape; it can also be an optical medium, such as a digital video disc (DVD); it can also be a semiconductor medium, such as a solid state drive (SSD).
[0129] Although the present disclosure has been described with reference to specific features and embodiments thereof, it will be apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present disclosure. Accordingly, this specification and the drawings are merely illustrative of the present disclosure as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present disclosure. Obviously, those skilled in the art may make various modifications and variations to the present disclosure without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is intended to include such modifications and variations if they fall within the scope of the claims of the present disclosure and their equivalents.
Claims
1. A terminal device upgrade method, the method being applied to a server, comprising: In response to obtaining the software upgrade request, obtaining a target upgrade task to be processed; Sending a device status acquisition instruction to a plurality of devices to be upgraded that are associated with the target upgrade task, and receiving device status information returned by each device to be upgraded; Determine at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded; A software data packet to be upgraded is sent to each upgradeable device, wherein the upgradeable device is used to perform software upgrade based on the software data packet to be upgraded.
2. The terminal device upgrade method according to claim 1, wherein: The determining at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded includes: At least one upgradeable device is determined from the multiple devices to be upgraded based on the upgrade consistency information in the target upgrade task and the device status information returned by each device to be upgraded, wherein the upgrade consistency information is used to characterize the upgrade consistency degree of the multiple devices to be upgraded.
3. The terminal device upgrade method according to claim 2, wherein: The determining at least one upgradeable device among the multiple devices to be upgraded based on the upgrade consistency information in the target upgrade task and the device status information returned by each device to be upgraded includes: If the upgrade consistency information indicates that the upgrade consistency of the multiple devices to be upgraded is low or medium, the device to be upgraded whose device status information indicates that it meets the upgrade condition among the multiple devices to be upgraded is determined as the upgradeable device.
4. The terminal device upgrade method according to claim 3, wherein: If the upgrade consistency information indicates that the upgrade consistency of the plurality of devices to be upgraded is medium, the method further includes: Determining the upgrade delay time of the delayed upgrade device according to the device status information of the delayed upgrade device among the multiple devices to be upgraded, wherein the delayed upgrade device is a non-upgradeable device among the multiple devices to be upgraded; A delayed upgrade instruction generated based on the upgrade delay time is sent to the delayed upgrade device, wherein the delayed upgrade instruction is used to instruct the delayed upgrade device to perform software upgrade according to the software data packet to be upgraded sent by the server after delaying the upgrade delay time.
5. The terminal device upgrade method according to claim 2, wherein: The determining at least one upgradeable device among the multiple devices to be upgraded based on the upgrade consistency information in the target upgrade task and the device status information returned by each device to be upgraded includes: If the upgrade consistency information indicates that the upgrade consistency of the multiple devices to be upgraded is high, determining the synchronous upgrade time of the multiple devices to be upgraded according to the device status information of each device to be upgraded, and determining each device to be upgraded as the upgradeable device; The step of sending a software data packet to be upgraded to each upgradeable device comprises: At the synchronous upgrade time, a software data packet to be upgraded is sent to each of the upgradeable devices.
6. The terminal device upgrade method according to any one of claims 1 to 5, characterized in that: in, The number of the upgradeable devices includes a plurality, and before sending the software data packet to be upgraded to each upgradeable device, the method further includes: Determining the upgrade duration of each of the upgradeable devices based on the historical upgrade information; The step of sending a software data packet to be upgraded to each upgradeable device comprises: The software data packet to be upgraded is sent to a first upgradeable device among multiple upgradeable devices, and a first upgrade deferral instruction is sent to a second upgradeable device, wherein the first upgrade deferral instruction is generated based on a first upgrade duration of the first upgradeable device, and the first upgrade deferral instruction is used to instruct the second upgradeable device to perform a software upgrade according to the software data packet to be upgraded sent by the server after the first upgrade duration is deferred, and the upgrade order of the second upgradeable device among the multiple upgradeable devices is later than that of the first upgradeable device.
7. The terminal device upgrade method according to claim 6, wherein: The method comprises: If, in the process of sending the software data packet to be upgraded to the first upgradeable device, an upgrade suspension request sent by the first upgradeable device is received, suspending sending the fragments of the software data packet to be upgraded to the first upgradeable device, and sending the fragments of the software data packet to be upgraded to the second upgradeable device; After receiving the continue pushing instruction sent by the first upgradeable device, suspend sending the fragments of the to-be-upgraded software data packet to the second upgradeable device, and send the remaining fragments of the to-be-upgraded software data packet to the first upgradeable device; After determining that the upgrade of the first upgradeable device is complete, the remaining fragments of the to-be-upgraded software data packet are sent to the second upgradeable device.
8. The terminal device upgrade method according to claim 6, wherein: There may be a dependency relationship between the multiple upgradeable devices, the first upgradeable device is a source upgradeable device among the multiple upgradeable devices with the dependency relationship, and the method further includes: If it is determined that the actual upgrade duration of the first upgradeable device is less than the first upgrade duration, and the second upgradeable device is in a dormant state, after the upgrade of the source-end upgradeable device is completed, sending a fragment of the to-be-upgraded software data packet to a third upgradeable device that depends on the second upgradeable device among the multiple upgradeable devices; After the target duration, the software data packet to be upgraded is sent to the second upgradeable device, and a second postponed upgrade instruction generated based on the second upgrade duration of the second upgradeable device is sent to the third upgradeable device, wherein the first postponed upgrade instruction is used to instruct the third upgradeable device to perform software upgrade according to the software data packet to be upgraded sent by the server after postponing the second upgrade duration, and the target duration is the difference between the first upgrade duration and the actual upgrade duration of the first upgradeable device.
9. A terminal device upgrade device, the device being a server, comprising: An acquisition module, configured to acquire a target upgrade task to be processed in response to acquiring a software upgrade request; A transceiver module is configured to send a device status acquisition instruction to a plurality of devices to be upgraded that are associated with the target upgrade task, and receive device status information returned by each device to be upgraded; A determination module, configured to determine at least one upgradeable device among the multiple devices to be upgraded based on the device status information returned by each device to be upgraded; The sending module is configured to send a software data packet to be upgraded to each upgradeable device, wherein the upgradeable device is used to perform software upgrade based on the software data packet to be upgraded.
10. An electronic device comprising: processor; as well as Memory for storing programs, The program includes instructions, which, when executed by the processor, cause the processor to perform the method according to any one of claims 1 to 8.
11. A non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Terminal software online upgrade method and device
CN105094860A
Over-the-air upgrade method, over-the-air server and terminal
CN105872106A
PLC program upgrade method and PLC program upgrade system based on mobile terminal
CN109302476A
Equipment upgrading method, device and system and storage medium
CN109814892A
Firmware upgrading method, device and system of Internet of Things equipment and storage medium
CN111510323A
Cited By
Upgrading method and device for metadata nodes in distributed cluster, equipment and medium
CN120848925A