WO2021098212A1 - 软件升级方法、装置和系统 - Google Patents

软件升级方法、装置和系统 Download PDF

Info

Publication number
WO2021098212A1
WO2021098212A1 PCT/CN2020/098352 CN2020098352W WO2021098212A1 WO 2021098212 A1 WO2021098212 A1 WO 2021098212A1 CN 2020098352 W CN2020098352 W CN 2020098352W WO 2021098212 A1 WO2021098212 A1 WO 2021098212A1
Authority
WO
WIPO (PCT)
Prior art keywords
upgrade
upgrade package
information
software
components
Prior art date
Application number
PCT/CN2020/098352
Other languages
English (en)
French (fr)
Inventor
郭志鹏
彭建芬
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP20890139.7A priority Critical patent/EP4044024A4/en
Priority to KR1020227019294A priority patent/KR20220092617A/ko
Priority to JP2022528690A priority patent/JP2023501823A/ja
Publication of WO2021098212A1 publication Critical patent/WO2021098212A1/zh
Priority to US17/745,580 priority patent/US11972247B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]

Definitions

  • the invention relates to a software upgrade technology of a terminal, in particular to a software upgrade method, device and system of an intelligent networked vehicle.
  • OTA over-the-air
  • the intelligent networked vehicle includes multiple components, such as the central gateway, T-box (Telematics BOX, vehicle-connected vehicle communication terminal), human-machine interaction controller (HMI, Human-Machine Interaction), and mobile data center (MDC, Mobile Data Controller). ), Advanced Driving Assistant System (ADAS, Advanced Driving Assistant System), the entire vehicle OTA upgrade may need to upgrade the above-mentioned multiple in-vehicle components, which requires downloading upgrade software with a larger amount of storage.
  • terminals also include smart phones, industrial Internet of Things equipment, intelligent robots and other forms of existence. With the advancement of intelligent technology, terminals realize more and more functions and more and more complex internal structures. Therefore, the storage space requirements of the terminal are getting higher and higher when the terminal software is upgraded.
  • the prior art adopts a single-module downloading solution, that is, one upgrade control module is used to complete the download, storage, splitting, and distribution of the terminal software upgrade package, and to control each component in the terminal to complete the upgrade operation.
  • this single module download strategy will put higher requirements on the storage space of the upgrade control module.
  • the upgrade control module After the OTA cloud-side device starts the download, the upgrade control module checks its own storage resources. If it meets the download requirements of the terminal software upgrade package, download all the software upgrade packages from the OTA cloud-side device and verify the download file Completeness.
  • the upgrade control module splits the software upgrade package and distributes it to each component in the terminal that needs to be upgraded.
  • the upgrade control module controls each component that needs to be upgraded, installs the software upgrade package and activates the upgrade software.
  • the method of downloading the terminal software upgrade package based on a single module is shown in Figure 2, including: After the OTA cloud-side device starts the download, the upgrade control module checks its own storage resources. If the terminal software is not satisfied If the storage requirements of the upgrade package are required, a resource shortage message is returned, the download is terminated, and the upgrade fails.
  • a software upgrade method including: receiving storage resource information of at least two components in a terminal, where the storage resource information includes at least the available storage capacity of each of the at least two components, and the at least Two components correspond to at least two available storage capacities; generating storage resource feedback information according to the storage resource information, the storage resource feedback information including at least the available storage capacity of each component; sending the storage resource feedback information To the network side device; receiving the upgrade package block information generated by the network side device, the upgrade package block information includes at least a plurality of upgrade package blocks used for terminal software upgrades and used to store the plurality of upgrade packages One-to-one correspondence between multiple parts in blocks, where the multiple parts are some or all of the at least two parts; according to the block information of the upgrade package, a method for instructing multiple parts to obtain all the parts is generated.
  • the storage resource feedback information further includes an identifier of each of the at least part of the at least two components.
  • the at least two components may be all components in the terminal, or only some components in the terminal. This is because there may be components that have all used up storage resources or reserved storage resources for other operations.
  • the storage resource information of at least two components in the receiving terminal may be received through one or more receiving methods, including but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Global Interoperability Microwave) Access, Worldwide Interoperability for Microwave Access, Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or wire reception on the hardware circuit board, or from The software module obtains parameters or reads information from the storage device.
  • the storage resource information may also include other information, such as the number, identification, or total available storage capacity of the at least two components.
  • the available storage capacity of each of the at least two components may not be all included in the storage resource feedback information, because the terminal side may determine the available storage capacity based on the available storage capacity in the storage resource information.
  • One or more networking modules in the at least two components are not used to store the software upgrade package of the terminal; of course, the above determination operation may be performed on the network side instead of the terminal side. Since it is possible that upgrading the software does not require all of the at least two components, the multiple components may be some of the at least two components.
  • the sending of the at least one indication information may be through one or more sending methods.
  • the sending methods include, but are not limited to, cellular communication, Wifi (Wireless Fidelity, wireless local area network), and Wimax (Worldwide Interoperability).
  • the network side device adaptively divides multiple upgrade packages into blocks according to the actual situation of the terminal storage resources, making full use of the storage resources of multiple components in the terminal.
  • the prior art reduces the software package storage pressure of terminal-side components; in addition, since splitting larger data packets requires more random storage resources, the network side divides the upgrade package into blocks, which can also reduce the need for terminal-side components.
  • the storage resource requirements of components can ultimately increase the success rate of software upgrades, and are more suitable for software upgrades of terminals (especially intelligent networked vehicles).
  • the upgrade package block information further includes the download address of each upgrade package block in the plurality of upgrade package blocks, so Each of the at least one indication information includes a download address of at least one upgrade package block in the plurality of upgrade package blocks.
  • the terminal software can be stored centrally on one device on the network side, or it can be stored on multiple devices on the network side in a distributed manner, so that optionally, the download addresses of the multiple upgrade package blocks are one or more, or the At least part of the upgrade package blocks among the multiple upgrade package blocks share a download address.
  • the download address is used to indicate to the component the network side device where the upgrade package block corresponding to the component is located.
  • the upgrade package block information further includes the multiple upgrade package blocks
  • the verification information of each upgrade package block in the at least one indication information includes the verification information of at least one upgrade package block in the plurality of upgrade package blocks.
  • the independent verification of each upgrade package can further make full use of the computing resources of the equipment in the terminal.
  • the upgrade package block information further includes the number of the multiple upgrade package blocks
  • the method further includes the step of: according to the verification result of each upgrade package block and the multiple upgrades The number of packet blocks is checked as a whole.
  • the at least one piece of indication information includes the multiple components used to obtain the The external communication resource of at least one upgrade package block among the multiple upgrade package blocks.
  • the external communication resource is a communication resource used by a component in the terminal to communicate with a device external to the terminal (for example, a cellular communication resource applied to communication in the vehicle extranet), including but not limited to: the external communication resource includes but It is not limited to communication resources such as communication devices, communication channels or communication interfaces required for cellular communication, satellite communication, Bluetooth communication, Wifi (Wireless Fidelity, wireless local area network) or wired communication.
  • the external communication resources include external communication resources of each of the multiple components, or external communication resources of one or more other components in the terminal except the multiple components.
  • each of the multiple components obtains the information in the multiple upgrade package blocks through its own external communication resources, or through other external communication resources of the terminal other than the own external communication resources.
  • An upgrade package is divided into blocks.
  • the at least one piece of indication information includes the multiple components used to obtain the Time information of at least one upgrade package block among the multiple upgrade package blocks.
  • the time information indicates that multiple components acquire the multiple upgrade package blocks simultaneously or sequentially.
  • the time information indicates that the multiple components periodically obtain the at least one upgrade package block.
  • the method before the generating storage resource feedback information, the method further includes: The available storage capacity of each of the at least two components determines that the available storage resources in the terminal meet the storage requirements of the terminal software upgrade.
  • the network side device initiates the download to the terminal device, it sends the storage requirements of multiple terminal software upgrade packages to be downloaded to the terminal device, and the terminal device determines whether the available storage resources in the terminal meet the storage requirements of multiple terminal software upgrade packages.
  • the terminal device determines whether the available storage resources in the terminal meet the storage requirements of multiple terminal software upgrade packages.
  • the network side device initiates the download to the terminal device, it sends the storage requirements of multiple terminal software upgrade packages to be downloaded to the terminal device, and the terminal device determines whether the available storage resources in the terminal meet the storage requirements of multiple terminal software upgrade packages.
  • the terminal equipment higher autonomy and privacy.
  • the difference between the sum of the available storage capacity minus the sum of the storage space occupied by the software upgrade package exceeds a predetermined threshold, it is determined that the available storage resources in the terminal meet the storage requirements
  • the at least one piece of indication information is multiple pieces of indication information
  • the multiple pieces of The instruction information corresponds to the plurality of components one-to-one
  • the sending the at least one instruction information to the plurality of components includes: separately sending to each of the plurality of components the corresponding One of the multiple indication information.
  • the multiple instructions are sent simultaneously or sequentially.
  • the at least one piece of indication information is one piece of indication information
  • the Sending the at least one piece of indication information by one component includes: sending the one piece of indication information to each component of the multiple components.
  • the one piece of indication information includes information related to obtaining one upgrade package block among the multiple upgrade package blocks by each component of the plurality of components.
  • the one instruction information is sent to each of the multiple components simultaneously or sequentially.
  • the at least one piece of indication information is one piece of indication information
  • the Sending the at least one indication information by the multiple components includes: sending the one indication information to one of the multiple components. In this manner, the multiple components can transmit the one indication information to each other.
  • the method further includes: sending a download instruction to the multiple components, so The download instruction is used to instruct the multiple components to obtain multiple upgrade package blocks corresponding to the multiple components one-to-one.
  • the method further includes: sending an upgrade package distribution instruction to the multiple components ,
  • the upgrade package distribution instruction is used to instruct the multiple components to send one or more upgrade package sub-blocks of the multiple upgrade package sub-blocks to at least one component other than the multiple components in the terminal;
  • the one or more upgrade package blocks are obtained by the multiple components by analyzing the multiple upgrade package blocks corresponding to the multiple components one-to-one.
  • the method further includes: sending an installation activation instruction to the multiple components ,
  • the installation activation instruction is used to instruct to install and activate at least one upgrade software among the plurality of components, wherein the at least one upgrade software is resolved by the plurality of components in a one-to-one correspondence with the plurality of components.
  • the upgrade package is obtained in blocks.
  • the available storage capacity includes the available storage capacity in a random access memory RAM or only Read at least one of the available storage capacity in the memory ROM.
  • each of the multiple upgrade package blocks is divided into blocks It includes all or part of the upgrade software package required for the upgrade of at least one component in the terminal.
  • a software upgrade method is provided.
  • the method is a software upgrade method executed by the network side and the network side.
  • the method includes: receiving storage resource feedback information from a terminal device, where the storage resource feedback information includes at least available information in the terminal device.
  • the upgrade package block corresponds to at least part of the available storage capacity of each component; the upgrade package block information is generated, and the upgrade package block information includes at least the multiple upgrade package blocks and the at least part of the available storage capacity.
  • the corresponding relationship of the available storage capacity of each component; and the block information of the upgrade package is sent to the terminal device.
  • dividing one or more software upgrade packages into multiple upgrade package blocks includes: dividing a software upgrade package (for example, a whole vehicle upgrade package) that occupies a large storage capacity and repackaging it into multiple upgrade package divisions. Block, or group multiple software upgrade packages (for example, one software upgrade package corresponds to one upgrade software) and repackage them into multiple upgrade package blocks.
  • Pack storage pressure in addition, because splitting larger data packets requires more random storage resources, the network side divides the upgrade package into blocks, which can also reduce the storage resource requirements for terminal-side components, and ultimately improve the software
  • the success rate of the upgrade is more suitable for the software upgrade of the terminal (especially the intelligent networked car).
  • the upgrade package block information includes verification information of each upgrade package block in the plurality of upgrade package blocks, and At least one of a download address of a piece of the upgrade package or the quantity of the multiple pieces of the upgrade package.
  • the upgrade package block information includes verification information for each upgrade package block, which can make each upgrade package block independent verification, thereby making full use of the computing resources of multiple available components in the terminal;
  • the upgrade package block The information includes the download address of each upgrade package in blocks, and can indicate to multiple components in the terminal the network side devices used to obtain the blocks in the multiple upgrade packages;
  • the upgrade package block information includes the number of upgrade package blocks , Can be used to check the data integrity of the multiple upgrade package blocks as a whole.
  • the method before the storage resource feedback information is received from the terminal device, the method further Including: sending a software upgrade start message to the terminal device.
  • the software upgrade can also be started by the terminal device.
  • the one or more software upgrade packages are divided into multiple upgrade packages Before partitioning, the method further includes: determining, according to the storage resource feedback information, that the available storage resources in the terminal device meet the storage requirements of the software upgrade.
  • the difference between the sum of the available storage capacity minus the sum of the storage space occupied by the software upgrade package exceeds a predetermined threshold, it is determined that the available storage resources in the terminal device meet the storage requirements of the software upgrade.
  • the one or more software upgrade packages are divided into multiple upgrade package components.
  • the blocks include: priority is given to dividing a software upgrade package that occupies a larger storage space into an upgrade package block corresponding to a component with a larger available storage capacity.
  • the multiple upgrade package blocks correspond to multiple components one-to-one, and this approach can avoid the situation that individual software upgrade packages are too large to be divided into any one of the multiple upgrade package blocks.
  • the method further includes: sending to at least one upgrade software storage device on the network side An upgrade package distribution instruction, where the upgrade package distribution instruction is used to instruct the at least one network-side upgrade software storage device to send at least one upgrade package among the multiple upgrade package blocks to the terminal device in blocks.
  • the method further includes: dividing the plurality of upgrade packages into blocks At least one upgrade package is sent to the terminal device in blocks.
  • the method in the step of dividing at least one upgrade package among the plurality of upgrade packages into blocks and sending Before giving to the terminal device, the method further includes: receiving at least one upgrade package block among the multiple upgrade package blocks from at least one upgrade software storage device on the network side.
  • the available storage capacity includes available storage capacity in a random access memory RAM or read-only At least one of the available storage capacity in the memory ROM.
  • each of the multiple upgrade package blocks includes All or part of the upgrade software package required for the upgrade of at least one component in the terminal.
  • a software upgrade device including: a receiving unit configured to receive storage resource information of at least two components in a terminal, where the storage resource information includes at least the available storage of each of the at least two components The at least two components correspond to at least two available storage capacities; the processing unit is configured to generate storage resource feedback information according to the storage resource information, and the storage resource feedback information includes at least the available storage of each component Capacity; a sending unit, configured to send the storage resource feedback information to the network side device; the receiving unit is also configured to receive upgrade package block information generated by the network side device, the upgrade package block information includes at least One-to-one correspondence between multiple upgrade package blocks used for terminal software upgrade and multiple available storage capacities of the at least two available storage capacities; the processing unit is further configured to generate the upgrade package block information according to the at least two available storage capacities Used to instruct multiple components to obtain at least one piece of indication information for the multiple upgrade package blocks, where the multiple components correspond to the multiple available storage capacities in a one-to-one correspondence; the sending unit is also used to The multiple
  • the device is a software upgrade device on the terminal side.
  • “at least part” is equivalent to “part or all”.
  • the storage resource feedback information further includes an identifier of each of the at least part of the at least two components.
  • the component refers to the component connected to the internal network of the terminal (such as the in-vehicle network).
  • the at least two components may be all components in the terminal, or only some components in the terminal. This is because there may be components that have all used up storage resources or reserved storage resources for other operations.
  • the storage resource information of at least two components in the receiving terminal may be received through one or more receiving methods, including but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Global Interoperability Microwave) Access, Worldwide Interoperability for Microwave Access, Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or wire reception on the hardware circuit board, or from The software module obtains parameters or reads information from the storage device.
  • the storage resource information may also include other information, such as the number, identification, or total available storage capacity of the at least two components.
  • the available storage capacity of each of the at least two components may not be all included in the storage resource feedback information, because the terminal side may determine the available storage capacity based on the available storage capacity in the storage resource information.
  • One or more networking modules in the at least two components are not used to store the software upgrade package of the terminal; of course, the above determination operation may be performed on the network side instead of the terminal side. Since it is possible that upgrading the software does not require all of the at least two components, the multiple components may be some of the at least two components.
  • the sending of the at least one indication information may be through one or more sending methods.
  • the sending methods include, but are not limited to, cellular communication, Wifi (Wireless Fidelity, wireless local area network), and Wimax (Worldwide Interoperability).
  • the network side device adaptively divides multiple upgrade packages into blocks according to the actual situation of the terminal storage resources, making full use of the storage resources of multiple components in the terminal.
  • the prior art reduces the software package storage pressure of terminal-side components; in addition, since splitting larger data packets requires more random storage resources, the network side divides the upgrade package into blocks, which can also reduce the need for terminal-side components.
  • the storage resource requirements of components can ultimately increase the success rate of software upgrades, and are more suitable for software upgrades of terminals (especially intelligent networked vehicles).
  • the receiving unit includes a plurality of sub-receiving units, and the multiple sub-receiving units are respectively configured to receive storage resource information of at least one of the at least two components in the terminal.
  • the multiple sub-receiving units are located in multiple different components in the terminal.
  • the multiple sub-receiving units receive the storage resource information through at least one receiving method, and the receiving method includes but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Global Interoperability Microwave Access) , Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (ZigBee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or wire reception on the hardware circuit board, or from software
  • the module obtains parameters or reads information from the storage device.
  • the storage resource feedback information further includes an identifier of at least one component that corresponds to the available storage capacity of at least some of the components in a one-to-one manner, and the at least one component is part or all of the at least two components. part.
  • the sending unit includes multiple sub-sending units, and the multiple sub-sending units are respectively configured to send the at least one indication information to the multiple components.
  • the multiple sub-sending units are located in multiple different components in the terminal.
  • the multiple sub-sending units send the storage resource information through at least one sending method, and the sending method includes but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Global Interoperability Microwave Access) , Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or routing on the hardware circuit board, or to software Module input parameters, or write information to the memory.
  • Wifi Wireless Fidelity, wireless local area network
  • Wimax Global Interoperability Microwave Access
  • Wimax Global Interoperability Microwave Access
  • Bluetooth Bluetooth
  • ZigBee ZigBee communication technology
  • optical communication satellite communication, inf
  • the upgrade package block information further includes the download address of each upgrade package block in the plurality of upgrade package blocks, so Each of the at least one indication information includes a download address of at least one upgrade package block in the plurality of upgrade package blocks.
  • the terminal software can be stored centrally on one device on the network side, or it can be stored on multiple devices on the network side in a distributed manner, so that optionally, the download addresses of the multiple upgrade package blocks are one or more, or the At least part of the upgrade package blocks among the multiple upgrade package blocks share a download address.
  • the download address is used to indicate to the component the network side device where the upgrade package block corresponding to the component is located.
  • the upgrade package block information further includes the multiple upgrade package blocks
  • the verification information of each upgrade package block in the at least one indication information includes the verification information of at least one upgrade package block in the plurality of upgrade package blocks.
  • the independent verification of each upgrade package can further make full use of the computing resources of the equipment in the terminal.
  • the upgrade package block information further includes the number of the multiple upgrade package blocks
  • the device further includes the step of: according to the verification result of each upgrade package block and the multiple upgrades The number of packet blocks is checked as a whole.
  • the at least one piece of indication information includes the multiple components used to obtain the The external communication resource of at least one upgrade package block among the multiple upgrade package blocks.
  • the external communication resource is a communication resource used by a component in the terminal to communicate with a device external to the terminal (for example, a cellular communication resource applied to communication in the vehicle extranet), including but not limited to: the external communication resource includes but It is not limited to communication resources such as communication devices, communication channels or communication interfaces required for cellular communication, satellite communication, Bluetooth communication, Wifi (Wireless Fidelity, wireless local area network) or wired communication.
  • the external communication resources include external communication resources of each of the multiple components, or external communication resources of one or more other components in the terminal except the multiple components.
  • each of the multiple components obtains the information in the multiple upgrade package blocks through its own external communication resources, or through other external communication resources of the terminal other than the own external communication resources.
  • An upgrade package is divided into blocks.
  • the at least one piece of indication information includes the multiple components used to obtain the Time information of at least one upgrade package block among the multiple upgrade package blocks.
  • the time information indicates that multiple components acquire the multiple upgrade package blocks simultaneously or sequentially.
  • the time information indicates that the multiple components periodically obtain the at least one upgrade package block.
  • the processing unit is further configured to: according to each of the at least two components The available storage capacity of each component determines that the available storage resources in the terminal meet the storage requirements of the terminal software upgrade.
  • the network side device initiates the download to the terminal device, it sends the storage requirements of multiple terminal software upgrade packages to be downloaded to the terminal device, and the terminal device determines whether the available storage resources in the terminal meet the storage requirements of multiple terminal software upgrade packages.
  • the terminal device determines whether the available storage resources in the terminal meet the storage requirements of multiple terminal software upgrade packages.
  • the network side device initiates the download to the terminal device, it sends the storage requirements of multiple terminal software upgrade packages to be downloaded to the terminal device, and the terminal device determines whether the available storage resources in the terminal meet the storage requirements of multiple terminal software upgrade packages.
  • the terminal equipment higher autonomy and privacy.
  • the difference between the sum of the available storage capacity minus the sum of the storage space occupied by the software upgrade package exceeds a predetermined threshold, it is determined that the available storage resources in the terminal meet the storage requirements of the terminal software
  • the at least one piece of indication information is multiple pieces of indication information, and the multiple pieces of indication information
  • the instruction information corresponds to the plurality of components one-to-one
  • the sending the at least one instruction information to the plurality of components includes: separately sending to each of the plurality of components the corresponding One of the multiple indication information.
  • the multiple instructions are sent simultaneously or sequentially.
  • the at least one piece of indication information is one piece of indication information
  • the Sending the at least one piece of indication information by one component includes: sending the one piece of indication information to each component of the multiple components.
  • the one piece of indication information includes information related to obtaining one upgrade package block among the multiple upgrade package blocks by each component of the plurality of components.
  • the one instruction information is sent to each of the multiple components simultaneously or sequentially.
  • the at least one piece of indication information is one piece of indication information
  • the Sending the at least one indication information by the multiple components includes: sending the one indication information to one of the multiple components. In this manner, the multiple components can transmit the one indication information to each other.
  • the sending unit is further configured to: send a download instruction to the multiple components ,
  • the download instruction is used to instruct the multiple components to obtain multiple upgrade package blocks corresponding to the multiple components one-to-one.
  • the sending unit is further configured to: send an upgrade package to the multiple components A distribution instruction, the upgrade package distribution instruction is used to instruct the multiple components to send one or more upgrade package components of the multiple upgrade package blocks to at least one component in the terminal other than the multiple components Block, wherein the one or more upgrade package blocks are obtained by the plurality of components by parsing the plurality of upgrade package blocks corresponding to the plurality of components one-to-one.
  • the sending unit is further configured to: send installation to the multiple components An activation instruction, the installation activation instruction is used to instruct to install and activate at least one upgrade software among the multiple components, wherein the at least one upgrade software is resolved by the multiple components in a one-to-one correspondence with the multiple components Multiple upgrade packages are obtained in blocks.
  • the multiple sub-sending units are respectively configured to send the download instruction, the upgrade package distribution instruction, or the installation activation instruction to the multiple components.
  • the available storage capacity includes the available storage capacity in a random access memory RAM or only Read at least one of the available storage capacity in the memory ROM.
  • each of the multiple upgrade package blocks is divided into blocks It includes all or part of the upgrade software package required for the upgrade of at least one component in the terminal.
  • a software upgrade device configured to communicate with a terminal device, where the storage resource feedback information includes at least the terminal device.
  • the available storage capacity of each of the multiple components that can be used to store multiple upgrade packages in blocks the processing unit is used to divide one or more software upgrade packages into multiple upgrade packages according to the storage resource feedback information
  • the multiple upgrade package blocks correspond to at least part of the available storage capacity of each component;
  • the processing unit is further configured to generate upgrade package block information, where the upgrade package block information includes at least Correspondence between the multiple upgrade package blocks and the available storage capacity of at least part of each component;
  • the sending unit is configured to send the upgrade package block information to the terminal device.
  • the storage resources of multiple components in the terminal are fully utilized, and the software of the terminal-side components is reduced compared with the prior art.
  • Pack storage pressure in addition, because splitting larger data packets requires more random storage resources, the network side divides the upgrade package into blocks, which can also reduce the storage resource requirements for terminal-side components, and ultimately improve the software
  • the success rate of the upgrade is more suitable for the software upgrade of the terminal (especially the intelligent networked car).
  • the receiving unit may use one or more receiving methods, and the receiving methods include, but are not limited to, cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or wire reception on the hardware circuit board, or obtain parameters from software modules, or read from storage devices ⁇ .
  • Wifi Wireless Fidelity, wireless local area network
  • Wimax Worldwide Interoperability for Microwave Access
  • Bluetooth Bluetooth communication technology
  • ZigBee ZigBee communication technology
  • optical communication satellite communication, infrared communication, transmission line communication, hardware interface or wire reception on the hardware circuit board, or obtain parameters from software modules, or read from storage devices ⁇ .
  • the receiving unit includes a plurality of sub-receiving units, and the multiple sub-receiving units are respectively configured to receive storage resource information of at least one of the at least two components in the terminal.
  • the multiple sub-receiving units are located in multiple different components in the terminal.
  • the multiple sub-receiving units receive the storage resource information through at least one receiving method, and the receiving method includes but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Global Interoperability Microwave Access) , Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (ZigBee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or wire reception on the hardware circuit board, or from software
  • the module obtains parameters or reads information from the storage device.
  • the sending unit may use one or more sending methods, and the sending methods include, but are not limited to, cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or wire transmission on the hardware circuit board, or input parameters to the software module, or write to the memory information.
  • Wifi Wireless Fidelity, wireless local area network
  • Wimax Worldwide Interoperability for Microwave Access
  • Bluetooth Bluetooth communication technology
  • ZigBee ZigBee communication technology
  • optical communication satellite communication, infrared communication, transmission line communication, hardware interface or wire transmission on the hardware circuit board, or input parameters to the software module, or write to the memory information.
  • the sending unit includes multiple sub-sending units, and the multiple sub-sending units are respectively configured to send the at least one indication information to the multiple components.
  • the multiple sub-sending units are located in multiple different components in the terminal.
  • the multiple sub-sending units send the storage resource information through at least one sending method, and the sending method includes but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Global Interoperability Microwave Access) , Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or routing on the hardware circuit board, or to software Module input parameters, or write information to the memory.
  • Wifi Wireless Fidelity, wireless local area network
  • Wimax Global Interoperability Microwave Access
  • Wimax Global Interoperability Microwave Access
  • Bluetooth Bluetooth
  • ZigBee ZigBee communication technology
  • optical communication satellite communication, inf
  • dividing one or more software upgrade packages into multiple upgrade package blocks includes: dividing a software upgrade package (for example, a whole vehicle upgrade package) that occupies a large storage capacity and repackaging it into multiple upgrade package divisions. Block, or group multiple software upgrade packages (for example, one software upgrade package corresponds to one upgrade software) and repackage them into multiple upgrade package blocks.
  • dividing one or more software upgrade packages into multiple upgrade package blocks corresponding to the at least part of the components the storage resources of the terminal can be fully utilized, the software upgrade success rate of the terminal can be improved, and it is more suitable for the terminal (especially Intelligent networked vehicle) software upgrade.
  • the upgrade package block information includes check information of each upgrade package block in the plurality of upgrade package blocks, and At least one of a download address of a piece of the upgrade package or the quantity of the multiple pieces of the upgrade package.
  • the upgrade package block information includes verification information for each upgrade package block, which can make each upgrade package block independent verification, thereby making full use of the computing resources of multiple available components in the terminal;
  • the upgrade package block The information includes the download address of each upgrade package in blocks, and can indicate to multiple components in the terminal the network side devices used to obtain the blocks in the multiple upgrade packages;
  • the upgrade package block information includes the number of upgrade package blocks , Can be used to check the data integrity of the multiple upgrade package blocks as a whole.
  • the sending unit is further configured to send a software upgrade start message to the terminal device.
  • the software upgrade can also be started by the terminal device.
  • the processing unit is further configured to: determine the storage resource feedback information according to the storage resource feedback information.
  • the available storage resources in the terminal device meet the storage requirements of the software upgrade.
  • the difference between the sum of the available storage capacity minus the sum of the storage space occupied by the software upgrade package exceeds a predetermined threshold, it is determined that the available storage resources in the terminal device meet the storage requirements of the software upgrade.
  • the one or more software upgrade packages are divided into multiple upgrade packages.
  • the blocks include: priority is given to dividing a software upgrade package that occupies a larger storage space into an upgrade package block corresponding to a component with a larger available storage capacity.
  • the multiple upgrade package blocks correspond to multiple components one-to-one, and this approach can avoid the situation that individual software upgrade packages are too large to be divided into any one of the multiple upgrade package blocks.
  • the sending unit is further configured to: store upgrade software to at least one network side
  • the device sends an upgrade package distribution instruction, where the upgrade package distribution instruction is used to instruct the at least one network-side upgrade software storage device to send at least one upgrade package of the plurality of upgrade package blocks to the terminal device in blocks .
  • the sending unit is further configured to: divide the multiple upgrade packages into blocks At least one upgrade package in is sent to the terminal device in blocks.
  • the receiving unit is further configured to: receive the upgrade software storage device from at least one network side At least one upgrade package among the multiple upgrade package blocks.
  • the available storage capacity includes the available storage capacity in a random access memory RAM or read-only At least one of the available storage capacity in the memory ROM.
  • each of the multiple upgrade package blocks includes All or part of the upgrade software package required for the upgrade of at least one component in the terminal.
  • a software upgrade device including a memory and a processor, the memory stores computer program instructions, and the processor runs the computer program instructions to execute the first aspect or any implementation of the first aspect above Way of operation.
  • the device further includes a transceiver for receiving the storage resource information or the upgrade package block information, or using Sending at least one of the storage resource feedback information, the at least one instruction information, the download instruction, the upgrade package distribution instruction, and the installation activation instruction.
  • the software upgrade device described in the third or fifth aspect above, or any one of the implementations of the third or fifth aspect above, can be applied to terminal equipment including but not limited to smart connected vehicles, robots, and smart homes.
  • the software upgrade device may be the intelligent networked vehicle itself, or a component of the intelligent networked vehicle, such as a central gateway, T-box (Telematics BOX, vehicle-end communication terminal for connected vehicles), Human-Machine Interaction Controller (HMI, Human-Machine Interaction), Mobile Data Center (MDC, Mobile Data Controller), Advanced Driving Assistant System (ADAS, Advanced Driving Assistant System), or Electronic Control Unit (ECU, Electronic Control Unit), and Or it may be a sub-device in the above-mentioned components, or it may be an independent device in the intelligent networked vehicle in addition to the above-mentioned components.
  • T-box Telematics BOX, vehicle-end communication terminal for connected vehicles
  • HMI Human-Machine Interaction Controller
  • MDC Mobile Data Center
  • ADAS Advanced Driving Assistant
  • a software upgrade device including a memory and a processor, the memory stores computer program instructions, and the processor runs the computer program instructions to execute the second aspect or any implementation of the second aspect above Way of operation.
  • the device further includes a transceiver for receiving at least one of the storage resource feedback information or the multiple upgrade package blocks One upgrade package block, or used to send at least one of the upgrade package block information, the software upgrade start message, the upgrade package distribution instruction, and the at least one upgrade package block.
  • the software upgrade device described in the fourth or sixth aspect, or any one of the implementations of the fourth or sixth aspect above, can be applied to the network side, for example, in the form of a server on the network side.
  • a terminal software upgrade system which includes the software upgrade device of the third aspect or any one of the foregoing third aspects and the fourth aspect or any one of the foregoing fourth aspects. .
  • a terminal software upgrade system including the software upgrade device of the fifth aspect or any one of the above fifth aspects and the sixth aspect or any one of the above sixth aspects. .
  • a computer storage medium including computer instructions, which, when the computer instructions are executed by a processor, cause the software upgrade apparatus to execute the first aspect or any one of the implementation methods of the first aspect above .
  • a computer storage medium including computer instructions, which when the computer instructions are executed by a processor, cause the software upgrade apparatus to execute the second aspect or any one of the implementation methods of the second aspect above .
  • a computer program product which when the computer program product runs on a processor, causes the software upgrade apparatus to execute the method of the first aspect or any one of the foregoing first aspects.
  • a computer program product which when the computer program product runs on a processor, causes the software upgrade apparatus to execute the second aspect or any one of the implementation methods of the second aspect above.
  • a vehicle-mounted software upgrade method including: receiving storage resource information of at least two components in a vehicle, where the storage resource information includes at least the available storage capacity of each of the at least two components;
  • the multiple components in the vehicle send at least one instruction information, and the at least one instruction information is used to instruct the multiple components to obtain multiple upgrade package blocks, wherein the multiple upgrade package blocks are based on the storage resource
  • the information is obtained by dividing one or more upgrade software packages, and the multiple components have a one-to-one correspondence with at least part of the available storage capacity of each of the at least two components.
  • a vehicle-mounted software upgrade device including: a receiving unit configured to receive storage resource information of at least two components in the vehicle, where the storage resource information at least includes information about each of the at least two components. Available storage capacity; a sending unit, configured to send at least one piece of indication information to multiple components in the vehicle, where the at least one piece of indication information is used to indicate to the multiple components to obtain multiple upgrade package blocks, wherein the multiple The upgrade package segmentation is obtained by dividing one or more upgrade software packages according to the storage resource information, and the multiple components correspond to at least part of the available storage capacity of each of the at least two components in a one-to-one correspondence.
  • a method for upgrading in-vehicle software including: sending storage resource feedback information in the vehicle to a network side device, where the storage resource feedback information at least includes the Available storage capacity; receiving upgrade package block information generated by the network side device from the network side device, where the upgrade package block information includes at least a plurality of upgrade package blocks used for vehicle-mounted software upgrades and at least part of the One-to-one correspondence between the available storage capacity of each component.
  • an in-vehicle software upgrade device including: a sending unit for sending storage resource feedback information in the vehicle to a network side device, where the storage resource feedback information includes at least two components in the vehicle The available storage capacity of each component in the device; the receiving unit is configured to receive from the network side device the upgrade package block information generated by the network side device, where the upgrade package block information includes at least multiple pieces of information used for vehicle software upgrades One-to-one correspondence between each upgrade package block and at least part of the available storage capacity of each component.
  • a vehicle-mounted software upgrade method which includes: receiving storage resource feedback information from a vehicle, where the storage resource feedback information includes at least each of the multiple components in the vehicle that can be used to store multiple upgrade packages.
  • the available storage capacity of each component includes: sending the upgrade package block information to the terminal device, where the upgrade package block information includes at least one of a plurality of upgrade package blocks and at least part of the available storage capacity of each component Correspondence.
  • a vehicle-mounted software upgrade device including: a receiving unit configured to receive storage resource feedback information from a vehicle, where the storage resource feedback information includes at least information that can be used to store multiple upgrade packages in the vehicle.
  • the available storage capacity of each of the multiple components a sending unit, configured to send upgrade package block information to the terminal device, where the upgrade package block information includes at least a plurality of upgrade package blocks and at least part of the One-to-one correspondence between the available storage capacity of each component.
  • Fig. 1 is a flowchart of a software upgrade method when storage resources are sufficient in the prior art
  • Figure 2 is a flowchart of a software upgrade method when storage resources are insufficient in the prior art
  • Figure 3 is a schematic diagram of a typical application scenario of the present invention.
  • FIG. 4 is a schematic diagram of a first form of existence of a software upgrade device on the terminal side provided by an embodiment of the present invention
  • FIG. 5 is a schematic diagram of the second and third existence forms of the software upgrade apparatus on the terminal side according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a fourth form of existence of the software upgrade device on the terminal side according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of the first working mode of the software upgrade apparatus on the network side provided by the embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a second working mode of the software upgrade device on the network side provided by the embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a third working mode of the software upgrade device on the network side provided by the embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a fourth working mode of the software upgrade apparatus on the network side provided by the embodiment of the present invention.
  • FIG. 11 is a schematic diagram of a fifth working mode of the software upgrade device on the network side provided by the embodiment of the present invention.
  • FIG. 12 is a flowchart of a software upgrade method on the terminal side according to Embodiment 1 of the present invention.
  • FIG. 13 is a flowchart of a software upgrade method on the network side of the network side according to the second embodiment of the present invention.
  • FIG. 16 is a first flow chart of the sending stage of the block information and instruction information of the upgrade package in the software upgrade method provided in the third embodiment of the present invention.
  • FIG. 17 is a second flow chart of the sending stage of upgrade package block information and indication information in the software upgrade method provided in the third embodiment of the present invention.
  • 19 is a fourth flow chart of the sending phase of the block information and indication information of the upgrade package in the software upgrade method provided in the third embodiment of the present invention.
  • 20 is a structural block diagram of the software upgrade apparatus provided by the fourth embodiment and the fifth embodiment of the present invention.
  • FIG. 21 is a structural block diagram of a software upgrade system provided by Embodiment 6 of the present invention.
  • FIG. 22 is a structural block diagram of the software upgrade apparatus provided by the seventh embodiment and the eighth embodiment of the present invention.
  • FIG. 23 is a schematic diagram of the implementation of the software upgrade apparatus on the terminal side on the T-box according to the seventh embodiment of the present invention.
  • FIG. 24 is a schematic diagram of the implementation of the terminal-side software upgrade apparatus on the human-computer interaction controller according to the seventh embodiment of the present invention.
  • Fig. 3 is a schematic diagram of a typical application scenario of the present invention, in which the intelligent networked car is connected to the OTA cloud through a wireless communication channel, thereby uploading or downloading messages and data related to the on-board software upgrade.
  • the wireless communication channels include but are not limited to 2G (second-generation mobile communication technology), 3G (third-generation mobile communication technology), 4G (fourth-generation mobile communication technology), 5G (fifth-generation mobile communication technology), Wifi (Wireless Fidelity, wireless local area network), Wimax (Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical transmission, satellite communication or infrared communication and other forms of wireless communication channel.
  • 2G second-generation mobile communication technology
  • 3G third-generation mobile communication technology
  • 4G fourth-generation mobile communication technology
  • 5G fifth-generation mobile communication technology
  • Wifi Wireless Fidelity, wireless local area network
  • Wimax Worldwide Interoperability for Microwave Access
  • Bluetooth Bluetooth communication technology
  • ZigBee ZigBee communication technology
  • optical transmission satellite communication or infrared communication and other forms of wireless communication channel.
  • the internal components of the intelligent networked vehicle include a central gateway, T-box (Telematics BOX, vehicle-mounted communication terminal for Internet of Vehicles), human-machine interaction controller (HMI, Human-Machine Interaction), and mobile data center (MDC, Mobile Data Controller) , Advanced Driving Assistant System (ADAS, Advanced Driving Assistant System) and multiple electronic control units (ECU, Electronic Control Unit) and other components.
  • T-box Telematics BOX, vehicle-mounted communication terminal for Internet of Vehicles
  • HMI Human-Machine Interaction
  • MDC Mobile Data Center
  • ADAS Advanced Driving Assistant System
  • ECU Electronic Control Unit
  • the software upgrade device can exist as an independent component in the intelligent networked vehicle (see the software upgrade device 401 in FIG. 4), and it has both the communication function of the vehicle external network and the vehicle internal network, and is used to communicate with the network.
  • the side device exchanges signaling or data and coordinates storage, distribution, installation, or activation of upgrade software for other components in the vehicle, and the software upgrade device 401 itself may also be an in-vehicle component that needs to be upgraded, and receives and stores the software upgrade package from the network side device.
  • the software upgrade device may be a conventional component in an intelligent networked vehicle (for example, T-box 501 in FIG. 5), or a sub-device in the conventional component, both
  • the communication function of the car's extranet and the car's intranet is used to exchange signaling or data with the network side equipment and coordinate the storage, distribution, installation or activation of other components in the car to upgrade the software.
  • the T-box 501 itself may also need to be upgraded.
  • In-vehicle components receive and store the software upgrade package from the network side device.
  • the software upgrade device may be the intelligent networked vehicle itself (for example, the intelligent networked vehicle 601 in FIG. 6), through the cooperation of multiple components (for example, T-box 602 and MDC 603 in FIG. 6) Complete the software upgrade method on the terminal side provided by the embodiment of the present invention.
  • MDC 603 does not have the communication function of the car's extranet. It exchanges signaling or data with network side equipment through T-box 602, and coordinates the storage, distribution, installation or activation of other components in the car through the MDC 603's own intranet communication function. Upgrade the software.
  • the following takes the application scenario of the intelligent networked vehicle as an example to introduce the five typical working modes of the network side software upgrade device provided by the embodiment of the present invention (the actual situation is not limited to these five typical working modes), including:
  • the server 701 is the network provided by the embodiment of the present invention.
  • Software upgrade device on the network side The server 701 receives the storage resource feedback information from the smart car network connected car 704, and sends the upgrade package block information and each of the multiple upgrade package blocks to the smart car network connected car 704.
  • the server 801 is a software upgrade device on the network side of the network side provided by the embodiment of the present invention.
  • the multiple upgrade packages required for the software upgrade of the components in the smart car network connected car 804 are divided into blocks on the network side.
  • Distributed storage on multiple servers for example, including servers 802 and 803, and may or may not include server 801).
  • the server 801 receives the storage resource feedback information from the smart car network connected car 804, receives at least one upgrade package block from the servers 802 and 803 respectively, and sends the upgrade package block information and multiple upgrade package blocks to the smart car network connected car 804 Each upgrade package in is divided into blocks.
  • the server 901 is a software upgrade device on the network side of the network side provided by the embodiment of the present invention.
  • the multiple upgrade packages required for the software upgrade of the components in the smart car network connected car 904 are divided into blocks on the network side.
  • Distributed storage on multiple servers for example, servers 902 and 903 are included, but server 901 is not included).
  • the server 901 receives the storage resource feedback information from the smart car network connected car 904, and sends the upgrade package block information to the smart car network connected car 804.
  • the servers 902 and 903 receive the upgrade package distribution instruction sent by the server 901, they respectively send at least one upgrade package segment stored in themselves to the smart car network connected vehicle 904.
  • the server 1001 is a software upgrade device on the network side of the network side provided by the embodiment of the present invention.
  • the multiple upgrade packages required for the software upgrade of the components in the smart car network connected car 1004 are divided into blocks on the network side.
  • Distributed storage on multiple servers including servers 1002, 1003, and 1001, for example).
  • the server 1001 receives the storage resource feedback information from the smart car network connected car 1004, and sends the upgrade package block information to the smart car network connected car 1004.
  • the servers 1002 and 1003 receive the upgrade package distribution instruction sent by the server 1001, they respectively send at least one upgrade package stored by themselves to the smart car network connected car 1004, and the server 1001 also divides at least one upgrade package stored by itself to the smart car. 1004 car network connected car.
  • the server 1101 is a software upgrade device on the network side of the network side provided by the embodiment of the present invention.
  • the multiple upgrade packages required for the software upgrade of the components in the smart car network connected car 1104 are divided into blocks on the network side.
  • Distributed storage on multiple servers for example, including servers 1102 and 1103, and may or may not include server 1101).
  • the server 1101 receives the storage resource feedback information from the smart car network connected car 1104, and sends the upgrade package block information to the smart car network connected car 1104.
  • the server 1102 receives the upgrade package distribution instruction sent by the server 1101, it sends at least one upgrade package stored in itself to the smart car network connected car 1104 in blocks.
  • the server 1103 sends at least one upgrade package stored by itself to the server 1101 in blocks.
  • the server 1101 sends at least one upgrade package block (including at least one upgrade package block stored by the server 1103) to the smart car network connected vehicle 1104.
  • the first embodiment of the present invention provides a software upgrade method on the terminal side.
  • the method is implemented by a software upgrade device on the terminal side (such as the aforementioned software upgrade device 401, T-box 501, T-box 501, a sub-device or an intelligent network).
  • a software upgrade device on the terminal side such as the aforementioned software upgrade device 401, T-box 501, T-box 501, a sub-device or an intelligent network. 601) is executed, see Figure 12, including:
  • Step 1201 Receive storage resource information of at least two components in the terminal, where the storage resource information includes at least the available storage capacity of each of the at least two components, and the at least two components correspond to the at least two available storages. capacity.
  • the first embodiment of the present invention includes step 1202, according to the available storage capacity of each of the at least two components, determining that the available storage resources in the terminal meet the storage requirements of the terminal software upgrade.
  • Step 1203 Generate storage resource feedback information according to the storage resource information, where the storage resource feedback information includes at least the available storage capacity of each component.
  • Step 1204 Send the storage resource feedback information to the network side device.
  • Step 1205 Receive upgrade package block information generated by the network side device, where the upgrade package block information includes at least a plurality of upgrade package blocks for terminal software upgrade and a block for storing the plurality of upgrade packages A one-to-one correspondence of multiple components in the at least two components.
  • the multiple components are part or all of the at least two components.
  • Step 1206 Generate at least one piece of instruction information for instructing multiple components to obtain the multiple upgrade package partitions according to the upgrade package block information, where the multiple components and the multiple available storage capacities One-to-one correspondence.
  • Step 1207 Send the at least one indication information to the multiple components.
  • the first embodiment of the present invention includes step 1208 of sending a download instruction to the multiple components, where the download instruction is used to instruct the multiple components to obtain multiple upgrade packages corresponding to the multiple components one-to-one Block.
  • the first embodiment of the present invention includes step 1209 of sending an upgrade package distribution instruction to the multiple components, where the upgrade package distribution instruction is used to instruct the multiple components to remove the multiple components from the terminal
  • At least one other component sends one or more upgrade package blocks of the plurality of upgrade package blocks, wherein the one or more upgrade package blocks are analyzed by the plurality of components and the plurality of components are identical.
  • One corresponding multiple upgrade packages are obtained in blocks.
  • the first embodiment of the present invention includes step 1210 of sending an installation activation instruction to the multiple components, where the installation activation instruction is used to instruct to install and activate at least one upgrade software among the multiple components, wherein the at least One piece of upgrade software is obtained from the multiple components by parsing multiple upgrade packages that correspond to the multiple components one-to-one in blocks.
  • the second embodiment of the present invention provides a software upgrade method on the network side of the network side.
  • the method is executed by the software upgrade device on the network side of the network side (for example, the aforementioned software upgrade device 701, 801, 901, 1001 or 1101), see FIG. 13 ,include:
  • the second embodiment of the present invention includes step 1301, sending a software upgrade start message to the terminal device.
  • Step 1302 Receive storage resource feedback information from a terminal device, where the storage resource feedback information includes at least the available storage capacity of each of the multiple components that can be used to store multiple upgrade package blocks in the terminal device.
  • Step 1303 Determine, according to the storage resource feedback information, that the available storage resources in the terminal device meet the storage requirements of the software upgrade.
  • Step 1304 According to the storage resource feedback information, divide one or more software upgrade packages into multiple upgrade package blocks, and the multiple upgrade package blocks are one-to-one with at least part of the available storage capacity of each component. correspond.
  • Step 1305 Generate upgrade package block information, where the upgrade package block information includes at least a correspondence between the multiple upgrade package blocks and the at least part of the available storage capacity of each component.
  • Step 1306 Send the upgrade package block information to the terminal device.
  • the second embodiment of the present invention includes step 1307 of receiving at least one upgrade package block among the multiple upgrade package blocks from at least one upgrade software storage device on the network side.
  • the second embodiment of the present invention includes step 1308 of sending at least one upgrade package among the multiple upgrade package blocks to the terminal device.
  • the second embodiment of the present invention includes step 1309 of sending an upgrade package distribution instruction to at least one network-side upgrade software storage device, where the upgrade package distribution instruction is used to instruct the at least one network-side upgrade software storage device to At least one upgrade package among the multiple upgrade package blocks is sent to the terminal device in blocks.
  • the software upgrade methods provided in the first and second embodiments of the present invention make full use of the storage resources of multiple components in the terminal, improve the download success rate, and are more suitable for software upgrade requirements of more complex terminals (especially intelligent networked vehicles).
  • the verification makes full use of the computing resources in the terminal, and will not affect the upgrade of other components due to the incomplete data of the upgrade software block of individual components.
  • the first embodiment and the second embodiment of the present invention are about the software upgrade method on the network side or the one-side terminal respectively.
  • the third embodiment of the present invention provides a two-side software upgrade method between the network side and the terminal, which can be based on the present invention.
  • the two software upgrade methods on the network side and the one-side terminal provided in the first embodiment and the second embodiment are implemented in combination. Since there are many parallel schemes in the terminal storage resource query and reporting phase, the software upgrade package block phase, and the upgrade package block information and instruction information transmission phase, the above stages are described in detail through Figures 14-19. It should be noted that Embodiment 1, Embodiment 2 and Embodiment 3 of the present invention can be referred to each other.
  • the unilateral operation steps on the terminal side or the network side involved in Figure 14-19 can also be applied to this invention.
  • FIG. 14 The flowchart of the terminal storage resource query and report stage in the third embodiment of the present invention is shown in FIG. 14, and includes the following steps:
  • Step 1401 The network-side software upgrade device sends a message for starting the terminal software upgrade to the terminal software upgrade device;
  • Step 1402 the terminal software upgrade device checks its own available storage resources (denoted as t 1 );
  • Step 1403 The terminal software upgrade device initiates a storage resource query request to the terminal component 1 and the terminal component 2;
  • Step 1404 the terminal component 1 and the terminal component 2 check their available storage resources
  • Step 1405 The terminal component 1 and the terminal component 2 report their available storage resources (denoted as t 2 and t 3 respectively ) to the terminal software upgrade device;
  • Step 1406 The terminal software upgrade apparatus calculates the sum of available storage resources in the terminal, that is, calculates t 1 + t 2 + t 3 , so as to determine whether the available storage resources in the terminal meet the storage requirements of the terminal software upgrade;
  • step 1407a is further executed, the terminal software upgrade device generates storage resource feedback information, and 1408a is executed, and the terminal software upgrade device sends the storage resource feedback information to the network-side software Upgrade the device.
  • step 1407b is further executed, and the terminal software upgrade device returns an error to the network-side software upgrade device, and the terminal software upgrade is terminated.
  • the network-side software upgrade device divides the multiple terminal software upgrade packages into multiple upgrade packages with hash check values.
  • Block the block process is shown in Figure 15, including the following steps:
  • Step 1502 Arrange the M software upgrade packages in descending order to obtain package 1 , package 2 , ..., package M.
  • Each software upgrade contains data required for a terminal component software upgrade, and the storage space occupied is P i .
  • step 1505 is further executed to return the failure message of block, and the download is terminated;
  • step 1503 For package 2 to package M in turn, until package 2 to package M can be successfully added to the set, perform step 1504 to pack each non-empty set and the corresponding hash value, Get the upgrade package divided into blocks, denoted as J 1 ,..., J K.
  • K is the number of non-empty sets
  • J i I u
  • H u is the hash check value corresponding to I u
  • the network-side software upgrade device stores the device key (key u ) corresponding to multiple components (Id u ) in the terminal, and is the same as the device key stored locally in each component.
  • Step 1506 The network-side software upgrade device generates a block information packet J 0 .
  • Block J 0 of a packet comprising: a block number K, each block i, J Download Address i, corresponding to the download means and a hash check value Id u H 0.
  • the software upgrade package block phase takes the software upgrade package required for a single upgrade component of the terminal as the smallest unit, and gives priority to the software upgrade package occupying the largest space, and allocates it to the block with the largest remaining space.
  • the block is completed through iteration, and then The hash check value is calculated for each block of data to prepare for the subsequent data integrity check.
  • the first solution is shown in Figure 16, including:
  • Step 1601 The terminal software upgrade device receives the upgrade package block information from the network-side software upgrade device.
  • step 1602 the terminal software upgrade apparatus generates first instruction information for the terminal component 1 for instructing the terminal component 1 to obtain an upgrade package block corresponding to the terminal component 1, and generates for the terminal component 2 for instructing the terminal component 2 to obtain and The second indication information of an upgrade package block corresponding to the terminal component 2.
  • Step 1603 The terminal software upgrading apparatus sends the first instruction information and the second instruction information to the terminal component 1 and the terminal component 2, respectively.
  • Step 1701 The terminal software upgrade device receives the upgrade package block information from the network-side software upgrade device.
  • step 1702 the terminal software upgrade apparatus generates an instruction message for the terminal component 1 and the terminal component 2 for instructing the terminal component 1 and the terminal component 2 to respectively obtain an upgrade package block corresponding to itself.
  • Step 1703 The terminal software upgrade apparatus sends the one instruction information to the terminal component 1 and the terminal component 2 respectively.
  • the terminal software upgrade apparatus sending the one instruction information to the terminal component 1 and the terminal component 2 may be sent at the same time, or may be sent sequentially in sequence.
  • Step 1801 The terminal software upgrade device receives the upgrade package block information from the network-side software upgrade device.
  • step 1802 the terminal software upgrade apparatus generates, for the terminal component 1 and the terminal component 2, first instruction information for instructing the terminal component 1 and the terminal component 2 to respectively obtain an upgrade package block corresponding to itself.
  • Step 1803 The terminal software upgrade apparatus sends the first instruction information to the terminal component 1.
  • Step 1804 The terminal component 1 forwards the first instruction information to the terminal component 2.
  • the fourth scheme is shown in Figure 19, including:
  • Step 1901 The terminal software upgrade device receives the upgrade package block information from the network-side software upgrade device.
  • step 1902 the terminal software upgrade apparatus generates first instruction information for the terminal component 1 and the terminal component 2 for instructing the terminal component 1 and the terminal component 2 to respectively obtain an upgrade package block corresponding to itself.
  • Step 1903 The terminal software upgrade apparatus sends the first instruction information to the terminal component 1.
  • Step 1904 The terminal component 1 deletes the information related to its own acquisition of the upgrade package block from the first instruction information, and generates second instruction information according to the remaining information in the first instruction information.
  • Step 1905 The terminal component 1 sends the second instruction information to the terminal component 2.
  • the fourth embodiment and the fifth embodiment of the present invention respectively provide a software upgrade device on the terminal side and the network side of the network side, see FIG. 20.
  • the software upgrade device 20 on the terminal side provided in the fourth embodiment of the present invention includes:
  • the receiving unit 2001 is configured to receive storage resource information of at least two components in the terminal and upgrade package block information generated by the network side device, where the storage resource information includes at least the availability of each component of the at least two components Storage capacity, the upgrade package block information includes at least a one-to-one correspondence between a plurality of upgrade package blocks used for terminal software upgrade and a plurality of components used to store the plurality of upgrade package blocks, and the multiple The component is part or all of the at least two components;
  • the processing unit 2002 is configured to generate storage resource feedback information according to the storage resource information, and according to the upgrade package block information, to generate at least one indication information for instructing multiple components to acquire the multiple upgrade package blocks , wherein the multiple components have a one-to-one correspondence with the multiple available storage capacities, and the storage resource feedback information includes at least the available storage capacity of each of the at least two components;
  • the sending unit 2003 is configured to send the storage resource feedback information to the network side device, and send the at least one indication information to the multiple components.
  • the software upgrade device 20 on the terminal side provided in the fourth embodiment of the present invention is, for example, a sub-device in the aforementioned software upgrade device 401, T-box 501, and T-box 501 or an intelligent network connected vehicle 601.
  • the network side software upgrade device 20 provided by the fifth embodiment of the present invention includes:
  • the receiving unit 2001 is configured to receive storage resource feedback information from a terminal device, where the storage resource feedback information includes at least the available storage capacity of each of the multiple components that can be used to store multiple upgrade package blocks in the terminal device;
  • the processing unit 2002 is configured to divide one or more software upgrade packages into multiple upgrade package blocks according to the storage resource feedback information, and generate upgrade package block information, where the multiple upgrade package blocks are related to the At least some of the multiple components have a one-to-one correspondence, and the upgrade package block information includes at least the correspondence between the multiple upgrade package blocks and the at least some of the components;
  • the sending unit 2003 is configured to send the block information of the upgrade package to the terminal device.
  • the software upgrade device 20 on the network side provided by the fifth embodiment of the present invention is, for example, the aforementioned software upgrade device 701, 801, 901, 1001, or 1101.
  • the software or firmware includes but is not limited to computer program instructions or codes, and can be executed by a hardware processor.
  • the hardware includes, but is not limited to, various integrated circuits, such as central processing unit (CPU, Central Processing Unit), digital signal processor (DSP, Digital Signal Processor), field programmable gate array (FPGA, Field Programmable Gate Array) or Application Specific Integrated Circuit (ASIC, Application Specific Integrated Circuit).
  • the receiving unit 2001 in the fourth and fifth embodiments above can use one or more receiving methods, including but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax ( Worldwide Interoperability for Microwave Access, Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or wire reception on the hardware circuit board , Or get the parameters from the software module, or read the information from the storage device.
  • Wifi Wireless Fidelity, wireless local area network
  • Wimax Worldwide Interoperability for Microwave Access
  • Bluetooth Bluetooth communication technology
  • ZigBee ZigBee communication technology
  • optical communication satellite communication
  • infrared communication transmission line communication
  • hardware interface or wire reception on the hardware circuit board Or get the parameters from the software module, or read the information from the storage device.
  • the receiving unit 2001 in the fourth and fifth embodiments above includes multiple sub-receiving units, and the multiple sub-receiving units are respectively configured to receive storage resource information of at least one of the at least two components in the terminal.
  • the multiple sub-receiving units are located in multiple different components in the terminal.
  • the multiple sub-receiving units receive the storage resource information through at least one receiving method, and the receiving method includes but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Global Interoperability Microwave Access) , Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (ZigBee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or wire reception on the hardware circuit board, or from software
  • the module obtains parameters or reads information from the storage device.
  • the sending unit 2003 in the fourth and fifth embodiments above can use one or more sending methods, including but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax ( Global Interoperability for Microwave Access, Worldwide Interoperability for Microwave Access, Bluetooth (Bluetooth Communication Technology), ZigBee (Zigbee Communication Technology), Optical Communication, Satellite Communication, Infrared Communication, Transmission Line Communication, Hardware Interface or Wire Transmission on Hardware Circuit Board , Or input parameters to the software module, or write information to the memory.
  • Wifi Wireless Fidelity, wireless local area network
  • Wimax Global Interoperability for Microwave Access, Worldwide Interoperability for Microwave Access, Bluetooth (Bluetooth Communication Technology), ZigBee (Zigbee Communication Technology), Optical Communication, Satellite Communication, Infrared Communication, Transmission Line Communication, Hardware Interface or Wire Transmission on Hardware Circuit Board , Or input parameters to the software module, or write information to the memory.
  • the sending unit 2003 in the fourth and fifth embodiments above includes multiple sub-sending units, and the multiple sub-sending units are respectively configured to send the at least one indication information to the multiple components.
  • the multiple sub-sending units are located in multiple different components in the terminal.
  • the multiple sub-sending units send the storage resource information through at least one sending method, and the sending method includes but not limited to cellular communication, Wifi (Wireless Fidelity, wireless local area network), Wimax (Global Interoperability Microwave Access) , Worldwide Interoperability for Microwave Access), Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication, infrared communication, transmission line communication, hardware interface or routing on the hardware circuit board, or to software Module input parameters, or write information to the memory.
  • Wifi Wireless Fidelity, wireless local area network
  • Wimax Global Interoperability Microwave Access
  • Wimax Global Interoperability Microwave Access
  • Bluetooth Bluetooth communication technology
  • ZigBee ZigBee communication technology
  • optical communication satellite communication, infrared communication, transmission line communication, hardware interface or routing on the hardware circuit board, or to software Module input parameters, or write information to the memory.
  • the sixth embodiment of the present invention provides a software upgrade system. See FIG. 21, which includes a network-side software upgrade device 2101 and a terminal software upgrade device 2105.
  • the network-side software upgrade device 2101 includes a receiving unit 2102, a processing unit 2103, and a sending unit 2104
  • the terminal software upgrade device 2105 includes a sending unit 2106, a processing unit 2107, and a receiving unit 2108, and the network-side software upgrade device 2101 and terminal software upgrade
  • the device 2105 can be implemented with reference to Embodiment 4 and Embodiment 5 of the present invention respectively.
  • the seventh embodiment of the present invention provides yet another software upgrade device on the terminal side. See FIG. 22, which includes a memory 2201, a processor 2202, and a transceiver 2203.
  • the memory 2201 stores computer program instructions
  • the processor 2202 runs the The computer program instructions are used to execute the terminal-side software upgrade method described in the first embodiment
  • the transceiver 2203 is used to receive the storage resource information or the upgrade package block information, or to send the storage resource feedback information , At least one of the at least one instruction information, the download instruction, the upgrade package distribution instruction, and the installation activation instruction.
  • the software upgrade device on the terminal side provided in the seventh embodiment of the present invention is, for example, a sub-device in the aforementioned software upgrade device 401, T-box 501, and T-box 501 or an intelligent networked vehicle 601.
  • the implementation of the software upgrade device on the T-box (see Figure 23) and the human-computer interaction controller (see Figure 24) is taken as examples to introduce the implementation of the seventh embodiment of the present invention on specific components in the smart terminal.
  • T-box 23 An exemplary internal composition structure of the T-box is shown as T-box 23 in FIG. 23.
  • T-box23 includes: GPS (Global Positioning System) antenna, 3G/4G antenna, C-V2X (Cellular Vehicle-to-Everything) antenna, WLAN (Wireless Local Area Network, wireless local area network) antenna And multiple radio frequency units for communication with the external network of the vehicle; System On Chip (SOC, System On Chip) integrates a processor, a memory, a system-on-chip control logic module, a variety of interface control modules, and a variety of interconnection buses, which are T- Box23 provides functions such as control, calculation or storage; as an implementation form of the processor, the micro-control unit can also provide control or calculation functions for T-box23; when the intelligent networked car is used as a mobile communication terminal to access the cellular communication network , Use the embedded SIM (Subscriber Identification Module) card in T-box23 to identify identity; embedded multimedia card provides storage function for T-box23; security hardware module provides security for intelligent network
  • the memory 2201 in the seventh embodiment can be implemented by relying on the memory integrated in the system-on-chip in FIG. 23 or other internal storage units (such as embedded multimedia cards), and the processor 2202 can rely on the micro-control unit in FIG. 23 or the integration in the system-on-chip.
  • the transceiver 2203 can rely on the radio frequency unit in Figure 23, GPS antenna, 3G/4G antenna, C-V2X antenna, WLAN antenna, CAN (Controller Area Network, Controller Area Network) bus, Ethernet bus or Pin connector implementation.
  • the human-computer interaction controller 24 includes: a Wifi (Wireless Fidelity, wireless local area network) communication module and a Bluetooth communication module for vehicle extranet communication; a system on chip ( SOC, System On Chip) integrates processors, memory, system-on-chip control logic modules, multiple interface control modules, and multiple interconnected buses to provide the human-computer interaction controller 24 with functions such as control, calculation, or storage; the micro-control unit serves as An implementation form of the processor can also provide control or computing functions for the human-computer interaction controller 24; the multimedia processor provides data processing functions for multimedia information such as images, audio, and video; the human-computer interaction controller 24 uses LVDS (Low- Voltage Differential Signaling (low-level differential signal) interface obtains signal input from a variety of camera sensors and data input from a microphone through an analog signal interface; the human-computer interaction controller 24 uses USB (Universal Serial Bus) or The LVDS interface provides signal output to the USB panel, the central control
  • LVDS Low- Voltage Differential Signaling (low-level differential
  • the memory 2201 in the seventh embodiment can be implemented by relying on the memory integrated in the system-on-chip in Figure 24 or other internal storage units (such as embedded multimedia cards), and the processor 2202 can be implemented by relying on the microcontroller in Figure 24 or the integration in the system-on-chip.
  • the transceiver 2203 can be implemented by the Wifi (Wireless Fidelity, wireless local area network) communication module, the Bluetooth communication module or the communication bus with the vehicle intranet gateway in FIG. 24.
  • the eighth embodiment of the present invention provides yet another software upgrade device on the network side. See FIG. 22, which includes a memory 2201, a processor 2202, and a transceiver 2203.
  • the memory 2201 stores computer program instructions
  • the processor 2202 runs The computer program instructions are used to execute the software upgrade method on the network side described in the second embodiment for receiving the storage resource feedback information or at least one upgrade package block among the multiple upgrade package blocks, or It is used to send at least one of the upgrade package block information, the software upgrade start message, the upgrade package distribution instruction, and the at least one upgrade package block.
  • the software upgrade device on the network side provided by the eighth embodiment of the present invention is, for example, the aforementioned software upgrade device 701, 801, 901, 1001 or 1101.
  • the processors in the seventh and eighth embodiments of the present invention include, but are not limited to, various types of CPUs, DSPs, microcontrollers, microprocessors, or artificial intelligence processors.
  • the transceivers in the seventh and eighth embodiments of the present invention include but are not limited to communication interfaces or communication modules or communication connectors.
  • the communication forms of the transceivers include but are not limited to 2G (second-generation mobile communication technology), 3G ( Third-generation mobile communication technology), 4G (fourth-generation mobile communication technology), 5G (fifth-generation mobile communication technology), Wifi (Wireless Fidelity, wireless local area network), Wimax (Worldwide Interoperability for Microwave Access) , Bluetooth (Bluetooth communication technology), ZigBee (Zigbee communication technology), optical communication, satellite communication or infrared communication, etc.
  • the computer may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
  • the disclosed system, device, and method can be implemented in other ways without exceeding the scope of this application.
  • the above-described embodiments are only illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be other division methods for example, multiple units or components may be combined. Or it can be integrated into another system, or some features can be ignored or not implemented.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. .
  • Some or all of the modules can be selected according to actual needs to achieve the objectives of the solutions of the embodiments. Those of ordinary skill in the art can understand and implement it without creative work.
  • the described systems, devices, methods, and schematic diagrams of different embodiments may be combined or integrated with other systems, modules, technologies, or methods without departing from the scope of the present application.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electronic, mechanical or other forms.

Abstract

本发明实施例提供了一种软件升级方法、装置和系统,接收终端内至少两个部件的存储资源信息;生成存储资源反馈信息;将所述存储资源反馈信息发送给网络侧设备;接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与用于存储所述多个升级包分块的多个部件的一一对应关系;生成用于向所述多个部件指示获取所述多个升级包分块的至少一个指示信息;向所述多个部件发送所述至少一个指示信息。通过充分利用智能网联车内多个部件的存储资源,提高了软件升级的成功率。

Description

[根据细则37.2由ISA制定的发明名称] 软件升级方法、装置和系统
相关申请的交叉引用
本申请要求在2019年11月18日提交中国专利局、申请号为201911129069.3、申请名称为“软件升级方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及终端的软件升级技术,尤其涉及一种智能网联车的软件升级方法、装置和系统。
背景技术
随着智能网联车的发展,通过空中下载技术(Over the Air,OTA)对汽车部件进行在线升级成为了智能网联汽车的重要功能,整车厂商通过OTA功能升级汽车的相关软件,有利于厂商减少召回成本、快速响应需求、提升用户体验。
智能网联车包含多个部件,例如中央网关、T-box(Telematics BOX,车联网车载通信终端)、人机交互控制器(HMI,Human-Machine Interaction)、移动数据中心(MDC,Mobile Data Controller)、高级驾驶辅助系统(ADAS,Advanced Driving Assistant System),整车OTA升级可能需要对上述多个车内部件进行升级,从而需要下载较大存储量的升级软件。除了智能网联车以外,终端还包括智能手机、工业物联网设备、智能机器人等多种存在形式,并且随着智能化技术的进步,终端实现的功能越来越多、内部结构越来越复杂,因此在升级终端软件时对于终端的存储空间要求越来越高。
现有技术采用单一模块下载的方案,即使用一个升级控制模块来完成终端软件升级包的下载、存储、拆分和分发,并且控制终端内各部件完成升级操作。当软件升级包数据量很大时,这种单一模块下载的策略就会对升级控制模块的存储空间提出较高要求。
当升级控制模块的存储资源充足时,基于单一模块下载终端软件升级包的方法参见图1所示,包括:
①下载阶段:OTA云侧设备启动下载后,升级控制模块检查自身的存储资源,如果满足终端软件升级包的下载要求,则从OTA云侧设备下载全部的软件升级包,并校验下载文件的完整性。
②分发阶段:升级控制模块将软件升级包拆分,并分发给终端内各个需要升级的部件。
③安装阶段:升级控制模块控制各个需要升级的部件安装软件升级包并激活升级软件。
当升级控制模块的存储资源不足时,基于单一模块下载终端软件升级包的方法参见图2所示,包括:OTA云侧设备启动下载后,升级控制模块检查自身的存储资源,如果不满足终端软件升级包的存储要求,则返回资源不足信息,终止下载,导致升级失败。
可见,升级控制模块本地存储资源的不足非常容易导致终端软件升级失败,亟需一种提高终端软件升级成功率的方法。。
发明内容
针对现有技术中存在的上述技术问题,本发明实施例提出一种软件升级方法、装置和系统。本发明权利要求书和说明书发明内容部分中的“软件”为广义概念的软件,包括但不限于固件、计算机程序、操作系统、驱动程序、系统软件或应用程序。
第一方面,提供一种软件升级方法,包括:接收终端内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述至少两个部件对应于至少两个可用存储容量;根据所述存储资源信息生成存储资源反馈信息,所述存储资源反馈信息至少包括所述每个部件的可用存储容量;将所述存储资源反馈信息发送给网络侧设备;接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与用于存储所述多个升级包分块的多个部件的一一对应关系,所述多个部件是所述至少两个部件中的部分或全部部件;根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应;向所述多个部件发送所述至少一个指示信息。
上述方法为终端侧执行的软件升级方法。其中,“至少部分”等同于“部分或者全部”。可选地,所述存储资源反馈信息还包括所述至少部分所述至少两个部件中每个部件的标识。至少两个部件可能是终端内的全部部件,也可能仅是终端内的部分部件,这是因为可能存在存储资源已全部用完或者为其他操作预留存储资源的部件。所述接收终端内至少两个部件的存储资源信息,可以通过一种或多种接收方式,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。所述存储资源信息除了包括所述至少两个部件中每个部件的可用存储容量以外,还可能包括其它信息,例如所述至少两个部件的数量、标识或总的可用存储容量。所述至少两个部件中每个部件的可用存储容量可能不会全部放入所述存储资源反馈信息中,因为可能会在终端侧根据所述存储资源信息中的所述可用存储容量,确定所述至少两个部件中的一个或多个联网模块不用于存储终端的软件升级包;当然,也可能不在终端侧而在网络侧网络侧执行上述确定操作。由于可能升级软件不需要占用全部的所述至少两个部件,因此所述多个部件可能是所述至少两个部件中的部分部件。所述发送所述至少一个指示信息,可以通过一种或多种发送方式,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。通过将终端的存储资源信息上报给网络侧设备,由网络侧设备根据终端存储资源的实 际情况适应性地进行多个升级包分块的划分,充分利用了终端内多个部件的存储资源,相对现有技术降低了终端侧部件的软件包存储压力;另外,由于对较大数据包拆分需要占用较多的随机存储资源,因此由网络侧对升级包划分分块,也能够降低对终端侧部件的存储资源要求,最终能够提高软件升级的成功率,更适用于终端(尤其是智能网联车)的软件升级。
根据第一方面,在所述软件升级方法的第一种可能的实现方式中,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的下载地址,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的下载地址。终端软件可以集中存储于网络侧的一个设备,也可以分布式存储于网络侧的多个设备,从而可选地,所述多个升级包分块的下载地址为一个或者多个,或者所述多个升级包分块中的至少部分升级包分块共享一个下载地址。所述下载地址用于向部件指示与所述部件对应的升级包分块所位于的网络侧设备。
根据第一方面或第一方面的第一种可能的实现方式,在所述软件升级方法的第二种可能的实现方式中,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的校验信息,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的校验信息。每个升级包分块独立校验可以进一步充分利用终端内设备的运算资源。可选地,所述升级包分块信息还包括所述多个升级包分块的数量,所述方法还包括步骤:根据所述每个升级包分块的校验结果和所述多个升级包分块的数量进行整体校验。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第三种可能的实现方式中,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的对外通信资源。所述对外通信资源是终端内的部件用于与所述终端外部的设备进行通信的通信资源(例如应用于车外网通信的蜂窝通信资源),包括但不限于:所述对外通信资源包括但不限于蜂窝通信、卫星通信、蓝牙通信、Wifi(Wireless Fidelity,无线局域网)或有线通信所需的通信器件、通信信道或通信接口等通信资源。可选地,所述对外通信资源包括所述多个部件中每个部件自身的对外通信资源,或者所述终端内除所述多个部件以外的一个或多个其他部件的对外通信资源。可选地,所述多个部件中的每个部件通过自身的对外通信资源,或者通过除所述自身的对外通信资源以外的终端的其它对外通信资源获取所述多个升级包分块中的一个升级包分块。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第四种可能的实现方式中,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的时间信息。可选地,所述时间信息指示多个部件同时或者按顺序依次获取所述多个升级包分块。可选地,所述时间信息指示所述多个部件定时地获取所述至少一个升级包分块。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第五种可能的实现方式中,在所述生成存储资源反馈信息之前,所述方法还包括:根据所述至少两个部件中每个部件的可用存储容量,确定终端内的可用存储资源满足所述终端软件升级的存储需求。在网络侧设备向终端设备启动下载时,将待下载的多个终端软件升级包的存储需求发送给终端设备,由终端设备判断终端内可用存储资源是否满足多个终端软件升级包的存储需求,赋予终端设备更高的自主性和私密性。可选地,如果可用存储容量之和减 去软件升级包占用存储空间之和的差超过预定阈值,则确定终端内的可用存储资源满足所述终端软件升级的存储需求。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第六种可能的实现方式中,所述至少一个指示信息为多个指示信息,并且所述多个指示信息与所述多个部件一一对应,所述向所述多个部件发送所述至少一个指示信息包括:分别向所述多个部件中的每个部件发送与所述每个部件对应的所述多个指示信息中的一个指示信息。可选地,所述多个指示信息同时或者按顺序依次被发送。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第七种可能的实现方式中,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的每个部件发送所述一个指示信息。在这种方式下,所述一个指示信息包括所述多个部件中每个部件获取所述多个升级包分块中的一个升级包分块的相关信息。可选地,向所述多个部件中的每个部件同时或者按顺序依次发送所述一个指示信息。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第八种可能的实现方式中,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的一个部件发送所述一个指示信息。在这种方式下,所述多个部件之间可相互传输所述一个指示信息。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第九种可能的实现方式中,所述方法还包括:向所述多个部件发送下载指令,所述下载指令用于指示所述多个部件获取与所述多个部件一一对应的多个升级包分块。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第十种可能的实现方式中,所述方法还包括:向所述多个部件发送升级包分发指令,所述升级包分发指令用于指示所述多个部件向所述终端内除所述多个部件以外的至少一个部件发送所述多个升级包分块中一个或多个升级包分块,其中所述一个或多个升级包分块由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第十一种可能的实现方式中,所述方法还包括:向所述多个部件发送安装激活指令,所述安装激活指令用于指示所述多个部件中安装并激活至少一个升级软件,其中所述至少一个升级软件由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第十二种可能的实现方式中,所述可用存储容量包括随机存储器RAM中的可用存储容量或只读存储器ROM中的可用存储容量中的至少一种。
根据第一方面,或以上第一方面的任意一种实现方式,在所述软件升级方法的第十三种可能的实现方式中,所述多个升级包分块中的每个升级包分块包括所述终端内至少一个部件升级所需的全部或部分升级软件包。
第二方面,提供一种软件升级方法,所述方法为网络侧网络侧执行的软件升级方法,包括:从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,所述多个升级包分块与至少 部分所述每个部件的可用存储容量一一对应;生成升级包分块信息,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分所述每个部件的可用存储容量的对应关系;将所述升级包分块信息发送给所述终端设备。
可选地,将一个或多个软件升级包划分为多个升级包分块包括:将一个占用存储容量较大的软件升级包(例如整车升级包)分割并重新封装为多个升级包分块,或者将多个软件升级包(例如一个软件升级包对应一个升级软件)分组并重新封装为多个升级包分块。通过将一个或多个软件升级包划分为与所述至少部分部件一一对应多个升级包分块,充分利用了终端内多个部件的存储资源,相对现有技术降低了终端侧部件的软件包存储压力;另外,由于对较大数据包拆分需要占用较多的随机存储资源,因此由网络侧对升级包划分分块,也能够降低对终端侧部件的存储资源要求,最终能够提高软件升级的成功率,更适用于终端(尤其是智能网联车)的软件升级。
根据第二方面,在所述软件升级方法的第一种可能的实现方式中,所述升级包分块信息包括所述多个升级包分块中每个升级包分块的校验信息、每个升级包分块下载地址或所述多个升级包分块的数量中的至少一项。所述升级包分块信息包括每个升级包分块的校验信息,可以使每个升级包分块独立校验,从而充分利用终端内多个可用部件的运算资源;所述升级包分块信息包括每个升级包分块下载地址,可以向终端内多个部件指示用于获取与所述多个升级包分块的网络侧设备;所述升级包分块信息包括升级包分块的数量,可用于所述多个升级包分块整体的数据完整性校验。
根据第二方面或第二方面的第一种可能的实现方式,在所述软件升级方法的第二种可能的实现方式中,在所述从终端设备接收存储资源反馈信息之前,所述方法还包括:向终端设备发送软件升级启动消息。除了由网络侧设备启动所述软件升级以外,还可由终端设备启动所述软件升级。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第三种可能的实现方式中,在所述将一个或多个软件升级包划分为多个升级包分块之前,所述方法还包括:根据所述存储资源反馈信息,确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。可选地,如果可用存储容量之和减去软件升级包占用存储空间之和的差超过预定阈值,则确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第四种可能的实现方式中,所述将一个或多个软件升级包划分为多个升级包分块包括:优先把占用存储空间较大的一个软件升级包划分到与可用存储容量较大的一个部件对应的一个升级包分块中。所述多个升级包分块与多个部件一一对应,该方式可以尽量避免因为个别软件升级包过大而无法划分到所述多个升级包分块中任何一个软件升级包的情况。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第五种可能的实现方式中,所述方法还包括:向至少一个网络侧的升级软件存储装置发送升级包分发指令,所述升级包分发指令用于指示所述至少一个网络侧的升级软件存储装置将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第六种可能的实现方式中,所述方法还包括:将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
根据第二方面的第六种可能的实现方式,在所述软件升级方法的第七种可能的实现方式中,在所述将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备之前,所述方法还包括:从至少一个网络侧的升级软件存储装置接收所述多个升级包分块中的至少一个升级包分块。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第八种可能的实现方式中,所述可用存储容量包括随机存储器RAM中的可用存储容量或只读存储器ROM中的可用存储容量中的至少一种。
根据第二方面,或以上第二方面的任意一种实现方式,在所述软件升级方法的第九种可能的实现方式中,所述多个升级包分块中的每个升级包分块包括所述终端内至少一个部件升级所需的全部或部分升级软件包。
第三方面,提供一种软件升级装置,包括:接收单元,用于接收终端内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述至少两个部件对应于至少两个可用存储容量;处理单元,用于根据所述存储资源信息生成存储资源反馈信息,所述存储资源反馈信息至少包括所述每个部件的可用存储容量;发送单元,用于将所述存储资源反馈信息发送给网络侧设备;所述接收单元还用于接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与所述至少两个可用存储容量中多个可用存储容量的一一对应关系;所述处理单元还用于根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应;所述发送单元,还用于向所述多个部件发送所述至少一个指示信息。
所述装置是终端侧的软件升级装置。其中,“至少部分”等同于“部分或者全部”。可选地,所述存储资源反馈信息还包括所述至少部分所述至少两个部件中每个部件的标识。所述部件指连接到终端内部网络(如车内网)的部件。至少两个部件可能是终端内的全部部件,也可能仅是终端内的部分部件,这是因为可能存在存储资源已全部用完或者为其他操作预留存储资源的部件。所述接收终端内至少两个部件的存储资源信息,可以通过一种或多种接收方式,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。所述存储资源信息除了包括所述至少两个部件中每个部件的可用存储容量以外,还可能包括其它信息,例如所述至少两个部件的数量、标识或总的可用存储容量。所述至少两个部件中每个部件的可用存储容量可能不会全部放入所述存储资源反馈信息中,因为可能会在终端侧根据所述存储资源信息中的所述可用存储容量,确定所述至少两个部件中的一个或多个联网模块不用于存储终端的软件升级包;当然,也可能不在终端侧而在网络侧网络侧执行上述确定操作。由于可能升级软件不需要占用全部的所述至少两个部件,因此所述多个部件可能是所述至少两个部件中的部分部件。所述发送所述至少一个指示信息,可以通过一种或多种发送方式,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、 卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。通过将终端的存储资源信息上报给网络侧设备,由网络侧设备根据终端存储资源的实际情况适应性地进行多个升级包分块的划分,充分利用了终端内多个部件的存储资源,相对现有技术降低了终端侧部件的软件包存储压力;另外,由于对较大数据包拆分需要占用较多的随机存储资源,因此由网络侧对升级包划分分块,也能够降低对终端侧部件的存储资源要求,最终能够提高软件升级的成功率,更适用于终端(尤其是智能网联车)的软件升级。
可选地,所述接收单元包括多个子接收单元,所述多个子接收单元分别用于接收终端内所述至少两个部件中至少一个部件的存储资源信息。可选地,所述多个子接收单元位于终端内不同的多个部件之中。可选地,所述多个子接收单元通过至少一种接收方式接收所述存储资源信息,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
可选地,所述存储资源反馈信息还包括与多个部件中至少部分部件的可用存储容量一一对应的至少一个部件的标识,所述至少一个部件是所述至少两个部件的部分或者全部部件。
可选地,所述发送单元包括多个子发送单元,所述多个子发送单元分别用于向所述多个部件发送所述至少一个指示信息。可选地,所述多个子发送单元位于终端内不同的多个部件之中。可选地,所述多个子发送单元通过至少一种发送方式发送所述存储资源信息,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
根据第三方面,在所述软件升级装置的第一种可能的实现方式中,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的下载地址,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的下载地址。终端软件可以集中存储于网络侧的一个设备,也可以分布式存储于网络侧的多个设备,从而可选地,所述多个升级包分块的下载地址为一个或者多个,或者所述多个升级包分块中的至少部分升级包分块共享一个下载地址。所述下载地址用于向部件指示与所述部件对应的升级包分块所位于的网络侧设备。
根据第三方面或第三方面的第一种可能的实现方式,在所述软件升级装置的第二种可能的实现方式中,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的校验信息,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的校验信息。每个升级包分块独立校验可以进一步充分利用终端内设备的运算资源。可选地,所述升级包分块信息还包括所述多个升级包分块的数量,所述装置还包括步骤:根据所述每个升级包分块的校验结果和所述多个升级包分块的数量进行整体校验。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第三种可能的实现方式中,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的对外通信资源。所述对外通信资源是终端内的部件用于与所述终端外部的设备进行通信的通信资源(例如应用于车外网通信的蜂窝通信资源),包括但不限于:所述对外通信资源包括但不限于蜂窝通信、卫星通信、蓝牙通信、Wifi(Wireless Fidelity,无线局域网)或有线通信所需的通信器件、通信信道或通信接口等通信资源。可选地,所述对外通信资源包括所述多个部件中每个部件自身的对外通信资源,或者所述终端内除所述多个部件以外的一个或多个其他部件的对外通信资源。可选地,所述多个部件中的每个部件通过自身的对外通信资源,或者通过除所述自身的对外通信资源以外的终端的其它对外通信资源获取所述多个升级包分块中的一个升级包分块。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第四种可能的实现方式中,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的时间信息。可选地,所述时间信息指示多个部件同时或者按顺序依次获取所述多个升级包分块。可选地,所述时间信息指示所述多个部件定时地获取所述至少一个升级包分块。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第五种可能的实现方式中,所述处理单元还用于:根据所述至少两个部件中每个部件的可用存储容量,确定终端内的可用存储资源满足所述终端软件升级的存储需求。在网络侧设备向终端设备启动下载时,将待下载的多个终端软件升级包的存储需求发送给终端设备,由终端设备判断终端内可用存储资源是否满足多个终端软件升级包的存储需求,赋予终端设备更高的自主性和私密性。可选地,如果可用存储容量之和减去软件升级包占用存储空间之和的差超过预定阈值,则确定终端内的可用存储资源满足所述终端软件升级的存储需求。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第六种可能的实现方式中,所述至少一个指示信息为多个指示信息,并且所述多个指示信息与所述多个部件一一对应,所述向所述多个部件发送所述至少一个指示信息包括:分别向所述多个部件中的每个部件发送与所述每个部件对应的所述多个指示信息中的一个指示信息。可选地,所述多个指示信息同时或者按顺序依次被发送。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第七种可能的实现方式中,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的每个部件发送所述一个指示信息。在这种方式下,所述一个指示信息包括所述多个部件中每个部件获取所述多个升级包分块中的一个升级包分块的相关信息。可选地,向所述多个部件中的每个部件同时或者按顺序依次发送所述一个指示信息。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第八种可能的实现方式中,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的一个部件发送所述一个指示信息。在这种方式下,所述多个部件之间可相互传输所述一个指示信息。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第九种可能的实现方式中,所述发送单元还用于:向所述多个部件发送下载指令,所述下载指令 用于指示所述多个部件获取与所述多个部件一一对应的多个升级包分块。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第十种可能的实现方式中,所述发送单元还用于:向所述多个部件发送升级包分发指令,所述升级包分发指令用于指示所述多个部件向所述终端内除所述多个部件以外的至少一个部件发送所述多个升级包分块中一个或多个升级包分块,其中所述一个或多个升级包分块由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第十一种可能的实现方式中,所述发送单元还用于:向所述多个部件发送安装激活指令,所述安装激活指令用于指示所述多个部件中安装并激活至少一个升级软件,其中所述至少一个升级软件由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
可选地,所述多个子发送单元分别用于向所述多个部件发送所述下载指令、所述升级包分发指令或所述安装激活指令。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第十二种可能的实现方式中,所述可用存储容量包括随机存储器RAM中的可用存储容量或只读存储器ROM中的可用存储容量中的至少一种。
根据第三方面,或以上第三方面的任意一种实现方式,在所述软件升级装置的第十三种可能的实现方式中,所述多个升级包分块中的每个升级包分块包括所述终端内至少一个部件升级所需的全部或部分升级软件包。
第四方面,提供一种软件升级装置,所述软件升级装置位于网络侧网络侧,包括:接收单元,用于从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;处理单元,用于根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,所述多个升级包分块与至少部分所述每个部件的可用存储容量一一对应;所述处理单元还用于生成升级包分块信息,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分所述每个部件的可用存储容量的对应关系;发送单元,用于将所述升级包分块信息发送给所述终端设备。通过将一个或多个软件升级包划分为与所述至少部分部件一一对应多个升级包分块,充分利用了终端内多个部件的存储资源,相对现有技术降低了终端侧部件的软件包存储压力;另外,由于对较大数据包拆分需要占用较多的随机存储资源,因此由网络侧对升级包划分分块,也能够降低对终端侧部件的存储资源要求,最终能够提高软件升级的成功率,更适用于终端(尤其是智能网联车)的软件升级。
所述接收单元可以使用一种或多种接收方式,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
可选地,所述接收单元包括多个子接收单元,所述多个子接收单元分别用于接收终端内所述至少两个部件中至少一个部件的存储资源信息。可选地,所述多个子接收单元位于终端内不同的多个部件之中。可选地,所述多个子接收单元通过至少一种接收方式接收所述存储资源信息,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无 线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
所述发送单元可以使用一种或多种发送方式,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
可选地,所述发送单元包括多个子发送单元,所述多个子发送单元分别用于向所述多个部件发送所述至少一个指示信息。可选地,所述多个子发送单元位于终端内不同的多个部件之中。可选地,所述多个子发送单元通过至少一种发送方式发送所述存储资源信息,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
可选地,将一个或多个软件升级包划分为多个升级包分块包括:将一个占用存储容量较大的软件升级包(例如整车升级包)分割并重新封装为多个升级包分块,或者将多个软件升级包(例如一个软件升级包对应一个升级软件)分组并重新封装为多个升级包分块。通过将一个或多个软件升级包划分为与所述至少部分部件一一对应多个升级包分块,可以充分利用终端的存储资源,提高终端的软件升级成功率,更适用于终端(尤其是智能网联车)的软件升级。
根据第四方面,在所述软件升级装置的第一种可能的实现方式中,所述升级包分块信息包括所述多个升级包分块中每个升级包分块的校验信息、每个升级包分块下载地址或所述多个升级包分块的数量中的至少一项。所述升级包分块信息包括每个升级包分块的校验信息,可以使每个升级包分块独立校验,从而充分利用终端内多个可用部件的运算资源;所述升级包分块信息包括每个升级包分块下载地址,可以向终端内多个部件指示用于获取与所述多个升级包分块的网络侧设备;所述升级包分块信息包括升级包分块的数量,可用于所述多个升级包分块整体的数据完整性校验。
根据第四方面或第四方面的第一种可能的实现方式,在所述软件升级装置的第二种可能的实现方式中,所述发送单元还用于:向终端设备发送软件升级启动消息。除了由网络侧设备启动所述软件升级以外,还可由终端设备启动所述软件升级。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第三种可能的实现方式中,所述处理单元还用:根据所述存储资源反馈信息,确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。可选地,如果可用存储容量之和减去软件升级包占用存储空间之和的差超过预定阈值,则确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第四种 可能的实现方式中,所述将一个或多个软件升级包划分为多个升级包分块包括:优先把占用存储空间较大的一个软件升级包划分到与可用存储容量较大的一个部件对应的一个升级包分块中。所述多个升级包分块与多个部件一一对应,该方式可以尽量避免因为个别软件升级包过大而无法划分到所述多个升级包分块中任何一个软件升级包的情况。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第五种可能的实现方式中,所述发送单元还用于:向至少一个网络侧的升级软件存储装置发送升级包分发指令,所述升级包分发指令用于指示所述至少一个网络侧的升级软件存储装置将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第六种可能的实现方式中,所述发送单元还用于:将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
根据第四方面的第六种可能的实现方式,在所述软件升级装置的第七种可能的实现方式中,所述接收单元还用于:从至少一个网络侧的升级软件存储装置接收所述多个升级包分块中的至少一个升级包分块。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第八种可能的实现方式中,所述可用存储容量包括随机存储器RAM中的可用存储容量或只读存储器ROM中的可用存储容量中的至少一种。
根据第四方面,或以上第四方面的任意一种实现方式,在所述软件升级装置的第九种可能的实现方式中,所述多个升级包分块中的每个升级包分块包括所述终端内至少一个部件升级所需的全部或部分升级软件包。
第五方面,提供一种软件升级装置,包括存储器和处理器,所述存储器存储计算机程序指令,所述处理器运行所述计算机程序指令以执行第一方面或以上第一方面的任意一种实现方式的操作。
根据第五方面,在所述软件升级装置的第一种可能的实现方式中,所述装置还包括收发器,用于用于接收所述存储资源信息或所述升级包分块信息,或者用于发送所述存储资源反馈信息、所述至少一个指示信息、所述下载指令、所述升级包分发指令和所述安装激活指令中的至少一项。
上述第三或第五方面,或以上第三或第五方面的任意一种实现方式所描述的软件升级装置,可应用于包括但不限于智能网联车、机器人和智能家居等形式的终端设备。当应用于智能网联车时,所述软件升级装置可以智能网联车本身,或者是智能网联车的一个部件,例如中央网关、T-box(Telematics BOX,车联网车端通信终端)、人机交互控制器(HMI,Human-Machine Interaction)、移动数据中心(MDC,Mobile Data Controller)、高级驾驶辅助系统(ADAS,Advanced Driving Assistant System)或电子控制单位(ECU,Electronic Control Unit),又或者是上述部件内的一个子装置,还可以是除了上述部件以外智能网联车内的一个独立的装置。
第六方面,提供一种软件升级装置,包括存储器和处理器,所述存储器存储计算机程序指令,所述处理器运行所述计算机程序指令以执行第二方面或以上第二方面的任意一种实现方式的操作。
根据第六方面,在所述软件升级装置的第一种可能的实现方式中,所述装置还包括收 发器,用于接收所述存储资源反馈信息或所述多个升级包分块中的至少一个升级包分块,或者用于发送所述升级包分块信息、所述软件升级启动消息、所述升级包分发指令和所述至少一个升级包分块中的至少一项。
上述第四或第六方面,或以上第四或第六方面的任意一种实现方式所描述的软件升级装置,可应用于网络侧,例如以网络侧的一个服务器形式存在。
第七方面,提供一种终端软件升级系统,包括第三方面或以上第三方面的任意一种实现方式的软件升级装置和第四方面或以上第四方面的任意一种实现方式的软件升级装置。
第八方面,提供一种终端软件升级系统,包括第五方面或以上第五方面的任意一种实现方式的软件升级装置和第六方面或以上第六方面的任意一种实现方式的软件升级装置。
第九方面,提供一种计算机存储介质,包括计算机指令,当所述计算机指令在被处理器运行时,使得所述软件升级装置执行第一方面或以上第一方面的任意一种实现方式的方法。
第十方面,提供一种计算机存储介质,包括计算机指令,当所述计算机指令在被处理器运行时,使得所述软件升级装置执行第二方面或以上第二方面的任意一种实现方式的方法。
第十一方面,提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,使得所述软件升级装置执行第一方面或以上第一方面的任意一种实现方式的方法。
第十二方面,提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,使得所述软件升级装置执行第二方面或以上第二方面的任意一种实现方式的方法。
第十三方面,提供一种车载软件升级方法,包括:接收车内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量;向车内多个部件发送至少一个指示信息,所述至少一个指示信息用于向所述多个部件指示获取多个升级包分块,其中,所述多个升级包分块是根据所述存储资源信息通过划分一个或多个升级软件包得到的,所述多个部件与至少部分所述至少两个部件中每个部件的可用存储容量一一对应。
第十四方面,提供一种车载软件升级装置,包括:接收单元,用于接收车内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量;发送单元,用于向车内多个部件发送至少一个指示信息,所述至少一个指示信息用于向所述多个部件指示获取多个升级包分块,其中,所述多个升级包分块是根据所述存储资源信息通过划分一个或多个升级软件包得到的,所述多个部件与至少部分所述至少两个部件中每个部件的可用存储容量一一对应。
第十五方面,提供一种车载软件升级方法,包括:将车内的存储资源反馈信息发送给网络侧设备,所述存储资源反馈信息至少包括所述车内至少两个部件中每个部件的可用存储容量;从所述网络侧设备接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于车载软件升级的多个升级包分块与至少部分所述每个部件的可用存储容量的一一对应关系。
第十六方面,提供一种车载软件升级装置,包括:发送单元,用于将车内的存储资源反馈信息发送给网络侧设备,所述存储资源反馈信息至少包括所述车内至少两个部件中每个部件的可用存储容量;接收单元,用于从所述网络侧设备接收所述网络侧设备生成的升 级包分块信息,所述升级包分块信息至少包括用于车载软件升级的多个升级包分块与至少部分所述每个部件的可用存储容量的一一对应关系。
第十七方面,提供一种车载软件升级方法,包括:从车接收存储资源反馈信息,所述存储资源反馈信息至少包括所述车内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;将升级包分块信息发送给所述终端设备,所述升级包分块信息至少包括多个升级包分块与至少部分所述每个部件的可用存储容量的一一对应关系。
第十八方面,提供一种车载软件升级装置,包括:接收单元,用于从车接收存储资源反馈信息,所述存储资源反馈信息至少包括所述车内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;发送单元,用于将升级包分块信息发送给所述终端设备,所述升级包分块信息至少包括多个升级包分块与至少部分所述每个部件的可用存储容量的一一对应关系。
附图说明
图1为现有技术中存储资源充足时的软件升级方法的流程图;
图2为现有技术中存储资源不足时的软件升级方法的流程图;
图3为本发明的一个典型应用场景的示意图;
图4为本发明实施例提供终端侧的软件升级装置的第一种存在形式的示意图;
图5为本发明实施例提供终端侧的软件升级装置的第二种和第三种存在形式的示意图;
图6为本发明实施例提供终端侧的软件升级装置的第四种存在形式的示意图;
图7为本发明实施例提供网络侧网络侧的软件升级装置的第一种工作方式的示意图;
图8为本发明实施例提供网络侧网络侧的软件升级装置的第二种工作方式的示意图;
图9为本发明实施例提供网络侧网络侧的软件升级装置的第三种工作方式的示意图;
图10为本发明实施例提供网络侧网络侧的软件升级装置的第四种工作方式的示意图;
图11为本发明实施例提供网络侧网络侧的软件升级装置的第五种工作方式的示意图;
图12为本发明实施例一提供的终端侧的软件升级方法的流程图;
图13为本发明实施例二提供的网络侧网络侧的软件升级方法的流程图;
图14为本发明实施例三提供的软件升级方法中终端存储资源查询及上报阶段的流程图;
图15为本发明实施例三提供的软件升级方法中软件升级包分块阶段的流程图;
图16为本发明实施例三提供的软件升级方法中升级包分块信息和指示信息发送阶段的第一种流程图;
图17为本发明实施例三提供的软件升级方法中升级包分块信息和指示信息发送阶段的第二种流程图;
图18为本发明实施例三提供的软件升级方法中升级包分块信息和指示信息发送阶段的第三种流程图;
图19为本发明实施例三提供的软件升级方法中升级包分块信息和指示信息发送阶段的第四种流程图;
图20为本发明实施例四和实施例五提供的软件升级装置的结构框图;
图21为本发明实施例六提供的软件升级系统的结构框图;
图22为本发明实施例七和实施例八提供的软件升级装置的结构框图;
图23为本发明实施例七提供的终端侧的软件升级装置在T-box上实现的示意图;
图24为本发明实施例七提供的终端侧的软件升级装置在人机交互控制器上实现的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可应用于升级终端(包括但不限于智能网联车、机器人或智能家居)内多个部件的应用场景。图3为本发明的一个典型应用场景的示意图,其中智能网联汽车通过无线通信信道与OTA云相连接,从而上传或下载车载软件升级相关的消息和数据。所述无线通信信道包括但不限于2G(第二代移动通信技术)、3G(第三代移动通信技术)、4G(第四代移动通信技术)、5G(第五代移动通信技术)、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光传输、卫星通信或者红外线通信等形式的无线通信信道。所述智能网联车内部件包括中央网关、T-box(Telematics BOX,车联网车载通信终端)、人机交互控制器(HMI,Human-Machine Interaction)、移动数据中心(MDC,Mobile Data Controller)、高级驾驶辅助系统(ADAS,Advanced Driving Assistant System)以及多个电子控制单位(ECU,Electronic Control Unit)等部件。
下面以智能网联车的应用场景为例,介绍本发明实施例提供终端侧的软件升级装置的四种典型存在形式(实际情况不限于这四种典型存在形式),包括:
第一种,所述软件升级装置可在智能网联车内作为一个独立的部件存在(参见图4中的软件升级装置401),兼具车外网和车内网通信功能,用于与网络侧设备交互信令或数据以及协调车内其他部件存储、分发、安装或激活升级软件,并且软件升级装置401本身也可能是需要升级的车内部件,从网络侧设备接收并存储软件升级包。
第二种和第三种,所述软件升级装置可以是智能网联车内的一个常规部件(例如图5中的T-box 501),或者是所述常规部件内的一个子装置,兼具车外网和车内网通信功能,用于与网络侧设备交互信令或数据以及协调车内其他部件存储、分发、安装或激活升级软件,并且此时T-box 501本身也可能是需要升级的车内部件,从网络侧设备接收并存储软件升级包。
第四种,所述软件升级装置可以是智能网联车本身(例如图6中的智能网联车601),通过其中多个部件(例如图6中的T-box 602和MDC 603)的配合完成本发明实施例提供的终端侧的软件升级方法。例如,MDC 603不具备车外网通信功能,通过T-box 602与网络侧设备交互信令或数据,并且通过MDC 603自身的车内网通信功能协调车内其他部件存储、分发、安装或激活升级软件。
下面以智能网联车的应用场景为例,介绍本发明实施例提供的网络侧网络侧的软件升 级装置的五种典型工作方式(实际情况不限于这五种典型工作方式),包括:
第一种(参见图7),智能车网联车704内的部件软件升级所需的所有升级包分块均集中存储于网络侧的服务器701内,服务器701即为本发明实施例提供的网络侧网络侧的软件升级装置。服务器701从智能车网联车704接收存储资源反馈信息,并向智能车网联车704发送升级包分块信息和多个升级包分块中的每个升级包分块。
第二种(参见图8),服务器801为本发明实施例提供的网络侧网络侧的软件升级装置,智能车网联车804内的部件软件升级所需的多个升级包分块在网络侧多个服务器(例如包括服务器802和803,可能包括也可能不包括服务器801)上分布式存储。服务器801从智能车网联车804接收存储资源反馈信息,分别从服务器802和803接收至少一个升级包分块,并向智能车网联车804发送升级包分块信息和多个升级包分块中的每个升级包分块。
第三种(参见图9),服务器901为本发明实施例提供的网络侧网络侧的软件升级装置,智能车网联车904内的部件软件升级所需的多个升级包分块在网络侧多个服务器(例如包括服务器902和903,但是不包括服务器901)上分布式存储。服务器901从智能车网联车904接收存储资源反馈信息,并向智能车网联车804发送升级包分块信息。服务器902和903接收到服务器901发送的升级包分发指令后,分别发送自身存储的至少一个升级包分块给智能车网联车904。
第四种(参见图10),服务器1001为本发明实施例提供的网络侧网络侧的软件升级装置,智能车网联车1004内的部件软件升级所需的多个升级包分块在网络侧多个服务器(例如包括服务器1002、1003和1001)上分布式存储。服务器1001从智能车网联车1004接收存储资源反馈信息,并向智能车网联车1004发送升级包分块信息。服务器1002、1003接收到服务器1001发送的升级包分发指令后,分别发送自身存储的至少一个升级包分块给智能车网联车1004,服务器1001也将自身存储的至少一个升级包分块给智能车网联车1004。
第五种(参见图11),服务器1101为本发明实施例提供的网络侧网络侧的软件升级装置,智能车网联车1104内的部件软件升级所需的多个升级包分块在网络侧多个服务器(例如包括服务器1102和1103,可能包括也可能不包括服务器1101)上分布式存储。服务器1101从智能车网联车1104接收存储资源反馈信息,并向智能车网联车1104发送升级包分块信息。服务器1102接收到服务器1101发送的升级包分发指令后,将自身存储的至少一个升级包分块发送给智能车网联车1104。服务器1103将自身存储的至少一个升级包分块发送给服务器1101。服务器1101发送至少一个升级包分块(包括服务器1103存储的至少一个升级包分块)到智能车网联车1104。
本发明实施例一提供了一种终端侧的软件升级方法,该方法由终端侧的软件升级装置(例如前述软件升级装置401、T-box 501、T-box 501内的一个子装置或智能网联车601)执行,参见图12,包括:
步骤1201,接收终端内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述至少两个部件对应于至少两个可用存储容量。
可选地,本发明实施例一包括步骤1202,根据所述至少两个部件中每个部件的可用 存储容量,确定终端内的可用存储资源满足所述终端软件升级的存储需求。
步骤1203,根据所述存储资源信息生成存储资源反馈信息,所述存储资源反馈信息至少包括所述每个部件的可用存储容量。
步骤1204,将所述存储资源反馈信息发送给网络侧设备。
步骤1205,接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与用于存储所述多个升级包分块的多个部件的一一对应关系,所述多个部件是所述至少两个部件中的部分或全部部件。
步骤1206,根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应。
步骤1207,向所述多个部件发送所述至少一个指示信息。
可选地,本发明实施例一包括步骤1208,向所述多个部件发送下载指令,所述下载指令用于指示所述多个部件获取与所述多个部件一一对应的多个升级包分块。
可选地,本发明实施例一包括步骤1209,向所述多个部件发送升级包分发指令,所述升级包分发指令用于指示所述多个部件向所述终端内除所述多个部件以外的至少一个部件发送所述多个升级包分块中一个或多个升级包分块,其中所述一个或多个升级包分块由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
可选地,本发明实施例一包括步骤1210,向所述多个部件发送安装激活指令,所述安装激活指令用于指示所述多个部件中安装并激活至少一个升级软件,其中所述至少一个升级软件由所述多个部件通过解析与所述多个部件一一对应的多个升级包分块得到。
本发明实施例二提供了一种网络侧网络侧的软件升级方法,该方法由网络侧网络侧的软件升级装置(例如前述软件升级装置701、801、901、1001或1101)执行,参见图13,包括:
可选地,本发明实施例二包括步骤1301,向终端设备发送软件升级启动消息。
步骤1302,从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量。
步骤1303,根据所述存储资源反馈信息,确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。
步骤1304,根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,所述多个升级包分块与至少部分所述每个部件的可用存储容量一一对应。
步骤1305,生成升级包分块信息,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分所述每个部件的可用存储容量的对应关系。
步骤1306,将所述升级包分块信息发送给所述终端设备。
可选地,本发明实施例二包括步骤1307,从至少一个网络侧的升级软件存储装置接收所述多个升级包分块中的至少一个升级包分块。
可选地,本发明实施例二包括步骤1308,将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
可选地,本发明实施例二包括步骤1309,向至少一个网络侧的升级软件存储装置发送升级包分发指令,所述升级包分发指令用于指示所述至少一个网络侧的升级软件存储装置将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
本发明实施例一和实施例二提供的软件升级方法充分利用终端内多个部件的存储资源,提高了下载成功率,更适合于较复杂终端(尤其是智能网联车)的软件升级需求。另外,可以使用终端内多个部件的对外通信资源下载多个升级包分块,充分利用了终端的通信资源,提高了下载速度和下载可靠性;多个升级包分块还可由多个部件独立校验,充分利用了终端内的计算资源,并且不会因为个别部件的升级软件分块数据不完整而影响其他部件的升级。
本发明实施例一和实施例二是分别关于网络侧或终端单侧的软件升级方法,本发明实施例三提供了一种网络侧与终端之间双侧的软件升级方法,其可以基于本发明实施例一和实施例二提供的网络侧和终端单侧的两个软件升级方法结合实现。由于其中终端存储资源查询及上报阶段、软件升级包分块阶段以及升级包分块信息和指示信息发送阶段有较多的并列方案,下面通过图14-19对上述几个阶段进行详细介绍。需要说明的是,本发明实施例一、实施例二与实施例三之间可以相互参考借鉴,图14-图19中涉及的终端侧或网络侧网络侧的单侧操作步骤也可应用于本发明实施例一和实施例二的单侧操作方法。
本发明实施例三中的终端存储资源查询及上报阶段的流程图如图14所示,包括以下步骤:
步骤1401,网络侧软件升级装置向终端软件升级装置发送用于启动终端软件升级的消息;
步骤1402,终端软件升级装置检查自身可用存储资源(记为t 1);
步骤1403,终端软件升级装置向终端部件1和终端部件2发起存储资源查询请求;
步骤1404,终端部件1和终端部件2检查自身可用存储资源;
步骤1405,终端部件1和终端部件2将自身可用存储资源(分别记为t 2和t 3)报告给终端软件升级装置;
步骤1406,终端软件升级装置计算终端内可用存储资源总和,即计算t 1+t 2+t 3,从而判断终端内可用存储资源是否满足终端软件升级的存储要求;
如果终端内可用存储资源满足终端软件升级的存储要求,则进一步执行步骤1407a,终端软件升级装置生成存储资源反馈信息,以及执行1408a,终端软件升级装置将所述存储资源反馈信息发送给网络侧软件升级装置。
如果终端内可用存储资源不满足终端软件升级的存储要求,则进一步执行步骤1407b,终端软件升级装置向网络侧软件升级装置返回错误,终止终端的软件升级。
需要说明的是,关于所述终端内可用存储资源是否满足终端软件升级的存储要求,既可以由终端设备判断,也可以由网络侧设备判断。
在软件升级包分块阶段,网络侧软件升级装置收到终端软件升级装置发来的存储资源反馈信息后,将多个终端软件升级包划分成多个带有哈希校验值的升级包分块,分块流程如图15所示,包括以下步骤:
步骤1501,构造N个空集合,分别记为I 1,…,I N,并使用N个变量s 1,…,s N标记每个集合的容量最大值,其中s i=t i-C,t i是终端第i个部件的可用存储资源,C是哈希校验值所占用的存储空间;
步骤1502,将M个软件升级包按照从大到小的顺序排列,得到package 1,package 2,…,package M,每个软件升级包含一个终端部件软件升级所需的数据,占用存储空间为P i
步骤1503,从最大的软件升级包(即package 1)开始,将package i放入当前剩余可用容量最大的集合I u中,1≤u≤N,然后令s u=s u-P i
若此时s u<0,则说明分块失败,进一步执行步骤1505,返回分块失败信息,终止下载;
若此时s u≥0,则依次对package 2到package M执行步骤1503,直到package 2到package M都能成功加入集合,执行步骤1504,将每个非空集合及对应的哈希值打包,得到升级包分块,记为J 1,…,J K。其中,K为非空集合的数量,J i=I u||H u,1≤i≤K,H u为I u对应的哈希校验值,计算方法为H u=Hash(I u||key u)。网络侧软件升级装置保存着终端内多个部件(Id u)对应的设备密钥(key u),且与各部件本地存储的设备密钥相同。
步骤1506,网络侧软件升级装置生成分块信息包J 0。分块信息包J 0的内容包括:分块数量K,每个分块J i的下载地址Address i、对应的下载部件Id u以及哈希校验值H 0
软件升级包分块阶段以终端单个升级部件所需的软件升级包为最小单位,优先考虑占用空间最大的软件升级包,将其分配给剩余空间最大的分块,通过迭代完成分块,随后为每个分块数据计算哈希校验值,为后续数据完整性校验作准备。
下面介绍升级包分块信息和指示信息发送阶段的执行流程,包括四种并列的技术方案。
第一种方案参见图16,包括:
步骤1601,终端软件升级装置从网络侧软件升级装置接收升级包分块信息。
步骤1602,终端软件升级装置为终端部件1生成用于指示终端部件1获取与终端部件1对应的一个升级包分块的第一指示信息,并且为终端部件2生成用于指示终端部件2获取与终端部件2对应的一个升级包分块的第二指示信息。
步骤1603,终端软件升级装置分别向终端部件1和终端部件2发送第一指示信息和第二指示信息。
第二种方案参见图17,包括:
步骤1701,终端软件升级装置从网络侧软件升级装置接收升级包分块信息。
步骤1702,终端软件升级装置为终端部件1和终端部件2生成用于指示终端部件1和终端部件2分别获取与自身对应的一个升级包分块的一个指示信息。
步骤1703,终端软件升级装置分别向终端部件1和终端部件2发送所述一个指示信息。可选地,终端软件升级装置向终端部件1和终端部件2发送所述一个指示信息可以同时发送,也可以按照顺序依次发送。
第三种方案参见图18,包括:
步骤1801,终端软件升级装置从网络侧软件升级装置接收升级包分块信息。
步骤1802,终端软件升级装置为终端部件1和终端部件2生成用于指示终端部件1和终端部件2分别获取与自身对应的一个升级包分块的第一指示信息。
步骤1803,终端软件升级装置向终端部件1发送所述第一指示信息。
步骤1804,终端部件1向终端部件2转发所述第一指示信息。
第四种方案参见图19,包括:
步骤1901,终端软件升级装置从网络侧软件升级装置接收升级包分块信息。
步骤1902,终端软件升级装置为终端部件1和终端部件2生成用于指示终端部件1和终端部件2分别获取与自身对应的一个升级包分块的第一指示信息。
步骤1903,终端软件升级装置向终端部件1发送所述第一指示信息。
步骤1904,终端部件1从所述第一指示信息中删除与自身获取升级包分块相关的信息,根据所述第一指示信息中剩余的信息生成第二指示信息。
步骤1905,终端部件1向终端部件2发送所述第二指示信息。
本发明实施例四和实施例五分别提供终端侧和网络侧网络侧的软件升级装置,参见图20。
本发明实施例四提供的终端侧的软件升级装置20包括:
接收单元2001,用于接收终端内至少两个部件的存储资源信息和所述网络侧设备生成的升级包分块信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与用于存储所述多个升级包分块的多个部件的一一对应关系,所述多个部件是所述至少两个部件中的部分或全部部件;
处理单元2002,用于根据所述存储资源信息生成存储资源反馈信息,以及根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应,所述存储资源反馈信息至少包括所述至少两个部件中每个部件的可用存储容量;
发送单元2003,用于将所述存储资源反馈信息发送给网络侧设备,以及向所述多个部件发送所述至少一个指示信息。
本发明实施例四提供的终端侧的软件升级装置20例如是前述软件升级装置401、T-box 501、T-box 501内的一个子装置或智能网联车601。
本发明实施例五提供的网络侧网络侧的软件升级装置20包括:
接收单元2001,用于从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;
处理单元2002,用于根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,以及生成升级包分块信息,所述多个升级包分块与所述多个部件中的至少部分部件一一对应,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分部件的对应关系;
发送单元2003,用于将所述升级包分块信息发送给所述终端设备。
本发明实施例五提供的网络侧网络侧的软件升级装置20例如是前述软件升级装置701、801、901、1001或1101。
以上实施例四和实施例五中的各个单元的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、现场可编程门阵列(FPGA,Field Programmable Gate Array)或专用集成电路(ASIC,Application Specific Integrated Circuit)。
可选地,以上实施例四和实施例五中的接收单元2001可以使用一种或多种接收方式,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙 通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
可选地,以上实施例四和实施例五中的接收单元2001包括多个子接收单元,所述多个子接收单元分别用于接收终端内所述至少两个部件中至少一个部件的存储资源信息。可选地,所述多个子接收单元位于终端内不同的多个部件之中。可选地,所述多个子接收单元通过至少一种接收方式接收所述存储资源信息,所述接收方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线接收,或者从软件模块获取参数,或者从存储器件读取信息。
可选地,以上实施例四和实施例五中的发送单元2003可以使用一种或多种发送方式,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
可选地,以上实施例四和实施例五中的发送单元2003包括多个子发送单元,所述多个子发送单元分别用于向所述多个部件发送所述至少一个指示信息。可选地,所述多个子发送单元位于终端内不同的多个部件之中。可选地,所述多个子发送单元通过至少一种发送方式发送所述存储资源信息,所述发送方式包括但不限于通过蜂窝通信、Wifi(Wireless Fidelity,无线局域网)、Wimax(全球互通微波访问,Worldwide Interoperability for Microwave Access)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信、红外线通信、传输线通信、硬件接口或者硬件电路板上的走线发送,或者向软件模块输入参数,或者向存储器写入信息。
本发明实施例六提供了一种软件升级系统,参见图21,其包括网络侧软件升级装置2101和终端软件升级装置2105。其中,网络侧软件升级装置2101包括接收单元2102、处理单元2103和发送单元2104,终端软件升级装置2105包括发送单元2106、处理单元2107和接收单元2108,并且网络侧软件升级装置2101和终端软件升级装置2105可分别参考本发明实施例四和实施例五实现。
本发明实施例七提供了又一种终端侧的软件升级装置,参见图22,包括存储器2201、处理器2202和收发器2203,所述存储器2201存储计算机程序指令,所述处理器2202运行所述计算机程序指令以执行实施例一所描述的终端侧的软件升级方法,所述收发器2203用于接收所述存储资源信息或所述升级包分块信息,或者用于发送所述存储资源反馈信息、所述至少一个指示信息、所述下载指令、所述升级包分发指令和所述安装激活指令中的至少一项。
本发明实施例七提供的终端侧的软件升级装置例如是前述软件升级装置401、T-box 501、T-box 501内的一个子装置或智能网联车601。下面分别以所述软件升级装置在T-box(参见图23)和人机交互控制器(参见图24)上实现为例,介绍本发明实施例七在智能 终端内具体部件上的实现方式。
T-box的一个示例性内部组成结构如图23中的T-box23所示。T-box23包括:GPS(Global Positioning System,全球定位系统)天线、3G/4G天线、C-V2X(Cellular Vehicle-to-Everything,蜂窝车联)天线、WLAN(Wireless Local Area Network,无线局域网)天线和多个射频单元,用于车外网通信;片上系统(SOC,System On Chip)集成了处理器、存储器、系统级芯片控制逻辑模块、多种接口控制模块和多种互联总线,为T-box23提供控制、运算或存储等功能;微控制单元作为处理器的一种实现形式,也可以为T-box23提供控制或运算功能;智能网联车作为一种移动通信终端接入蜂窝通信网络时,使用T-box23中的嵌入式SIM(Subscriber Identification Module,用户身份识别)卡标识身份;嵌入式多媒体卡为T-box23提供存储功能;安全硬件模块为智能网联车接入车外网提供安全保护功能;电源管理单元为T-box23的提供供电管理;另外,T-box23还通过多个总线(例如CAN总线、以太网总线)和接口(例如麦克风接口、扬声器接口)与车内其他部件进行交互。
实施例七中的存储器2201可依托图23中的片上系统内集成的存储器或者其他内部存储单元(如嵌入式多媒体卡)实现,处理器2202可依托图23中的微控制单元或者片上系统内集成的处理器实现,收发器2203可依托图23中的射频单元、GPS天线、3G/4G天线、C-V2X天线、WLAN天线、CAN(Controller Area Network,控制器局域网络)总线、以太网总线或插脚连接器实现。
人机交互控制器的一个示例性内部组成结构如图24中的人机交互控制器24,包括:Wifi(Wireless Fidelity,无线局域网)通信模块和蓝牙通信模块用于车外网通信;片上系统(SOC,System On Chip)集成了处理器、存储器、系统级芯片控制逻辑模块、多种接口控制模块和多种互联总线,为人机交互控制器24提供控制、运算或存储等功能;微控制单元作为处理器的一种实现形式,也可以为人机交互控制器24提供控制或运算功能;多媒体处理器针对图像、音频和视频等多媒体信息提供数据处理功能;人机交互控制器24通过LVDS(Low-Voltage Differential Signaling,低电平差分信号)接口从多种摄像头传感器获取信号输入,以及通过模拟信号接口从麦克风获取数据输入;人机交互控制器24通过USB(Universal Serial Bus,通用串行总线)或LVDS接口向USB面板、中控屏、控制屏、仪表屏和风挡式抬头显示器提供信号输出;另外,人机交互控制器24还与车内网网关相连,从而与T-box等车内部件进行车内网通信。
实施例七中的存储器2201可依托图24中的片上系统内集成的存储器或者其他内部存储单元(如嵌入式多媒体卡)实现,处理器2202可依托图24中的微控制器或者片上系统内集成的处理器实现,收发器2203可依托图24中的Wifi(Wireless Fidelity,无线局域网)通信模块、蓝牙通信模块或者与车内网网关之间的通信总线实现。
本发明实施例八提供了又一种网络侧网络侧的软件升级装置,参见图22,包括存储器2201、处理器2202和收发器2203,所述存储器2201存储计算机程序指令,所述处理器2202运行所述计算机程序指令以执行实施例二所描述的网络侧网络侧的软件升级方法,用于接收所述存储资源反馈信息或所述多个升级包分块中的至少一个升级包分块,或者用于发送所述升级包分块信息、所述软件升级启动消息、所述升级包分发指令和所述至少一个升级包分块中的至少一项。
本发明实施例八提供的网络侧网络侧的软件升级装置例如是前述软件升级装置701、801、901、1001或1101。
本发明实施例七和实施例八中的处理器包括但不限于各类CPU、DSP、微控制器、微处理器或人工智能处理器。
本发明实施例七和实施例八中的收发器包括但不限于通信接口或通信模块或通信连接器,所述收发器的通信形式包括但不限于2G(第二代移动通信技术)、3G(第三代移动通信技术)、4G(第四代移动通信技术)、5G(第五代移动通信技术)、Wifi(Wireless Fidelity,无线局域网)、Wimax(Worldwide Interoperability for Microwave Access,全球互通微波访问)、Bluetooth(蓝牙通信技术)、ZigBee(紫蜂通信技术)、光通信、卫星通信或者红外线通信等。
本领域的技术人员可以清楚地了解到,本申请提供的各实施例的描述可以相互参照,为描述的方便和简洁,例如关于本申请实施例提供的各装置、设备的功能以及执行的步骤可以参照本申请方法实施例的相关描述,各方法实施例之间、各装置实施例之间也可以互相参照。
本领域技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的全部或部分步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,在没有超过本申请的范围内,可以通过其他的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,所描述系统、装置和方法以及不同实施例的示意图,在不超出本申请的范围内, 可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电子、机械或其它的形式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (34)

  1. 一种软件升级方法,其特征在于,包括:
    接收终端内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述至少两个部件对应于至少两个可用存储容量;
    根据所述存储资源信息生成存储资源反馈信息,所述存储资源反馈信息至少包括所述每个部件的可用存储容量;
    将所述存储资源反馈信息发送给网络侧设备;
    接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与所述至少两个可用存储容量中多个可用存储容量的一一对应关系;
    根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应;
    向所述多个部件发送所述至少一个指示信息。
  2. 根据权利要求1所述的方法,其特征在于,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的下载地址或校验信息中的至少一项,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的下载地址或校验信息中的至少一项。
  3. 根据权利要求1或2任一项所述的方法,其特征在于,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的对外通信资源或时间信息中的至少一项。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,在所述生成存储资源反馈信息之前,所述方法还包括:根据所述至少两个部件中每个部件的可用存储容量,确定终端内的可用存储资源满足所述终端软件升级的存储需求。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述至少一个指示信息为多个指示信息,并且所述多个指示信息与所述多个部件一一对应,所述向所述多个部件发送所述至少一个指示信息包括:分别向所述多个部件中的每个部件发送与所述每个部件对应的所述多个指示信息中的一个指示信息。
  6. 根据权利要求1-4任一项所述的方法,其特征在于,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的每个部件发送所述一个指示信息。
  7. 根据权利要求1-4任一项所述的方法,其特征在于,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的一个部件发送所述一个指示信息。
  8. 一种软件升级方法,其特征在于,包括:
    从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;
    根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,所述多个升级包分块与至少部分所述每个部件的可用存储容量一一对应;
    生成升级包分块信息,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分所述每个部件的可用存储容量的对应关系;
    将所述升级包分块信息发送给所述终端设备。
  9. 根据权利要求8所述的方法,其特征在于,所述升级包分块信息包括所述多个升级包分块中每个升级包分块的校验信息、每个升级包分块下载地址或所述多个升级包分块的数量中的至少一项。
  10. 根据权利要求8或9所述的方法,其特征在于,在所述将一个或多个软件升级包划分为多个升级包分块之前,所述方法还包括:根据所述存储资源反馈信息,确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。
  11. 根据权利要求8-10任一项所述的方法,其特征在于,所述方法还包括:
    向至少一个网络侧的升级软件存储装置发送升级包分发指令,所述升级包分发指令用于指示所述至少一个网络侧的升级软件存储装置将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
  12. 根据权利要求8-11任一项所述的方法,其特征在于,所述方法还包括:
    将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
  13. 根据权利要求12所述的方法,其特征在于,在所述将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备之前,所述方法还包括:
    从至少一个网络侧的升级软件存储装置接收所述多个升级包分块中的至少一个升级包分块。
  14. 一种软件升级装置,其特征在于,包括:
    接收单元,用于接收终端内至少两个部件的存储资源信息,所述存储资源信息至少包括所述至少两个部件中每个部件的可用存储容量,所述至少两个部件对应于至少两个可用存储容量;
    处理单元,用于根据所述存储资源信息生成存储资源反馈信息,所述存储资源反馈信息至少包括所述每个部件的可用存储容量;
    发送单元,用于将所述存储资源反馈信息发送给网络侧设备;
    所述接收单元还用于接收所述网络侧设备生成的升级包分块信息,所述升级包分块信息至少包括用于终端软件升级的多个升级包分块与所述至少两个可用存储容量中多个可用存储容量的一一对应关系;
    所述处理单元还用于根据所述升级包分块信息,生成用于向多个部件指示获取所述多个升级包分块的至少一个指示信息,其中,所述多个部件与所述多个可用存储容量一一对应;
    所述发送单元,还用于向所述多个部件发送所述至少一个指示信息。
  15. 根据权利要求14所述的装置,其特征在于,所述升级包分块信息还包括所述多个升级包分块中每个升级包分块的下载地址或校验信息中的至少一项,所述至少一个指示信息中的每个指示信息包括所述多个升级包分块中至少一个升级包分块的下载地址或校验信息中的至少一项。
  16. 根据权利要求14或15所述的装置,其特征在于,所述至少一个指示信息包括所述多个部件用于获取所述多个升级包分块中至少一个升级包分块的对外通信资源或时间 信息中的至少一项。
  17. 根据权利要求14-16任一项所述的装置,其特征在于,所述处理单元还用于:根据所述至少两个部件中每个部件的可用存储容量,确定终端内的可用存储资源满足所述终端软件升级的存储需求。
  18. 根据权利要求14-17任一项所述的装置,其特征在于,所述至少一个指示信息为多个指示信息,并且所述多个指示信息与所述多个部件一一对应,所述向所述多个部件发送所述至少一个指示信息包括:分别向所述多个部件中的每个部件发送与所述每个部件对应的所述多个指示信息中的一个指示信息。
  19. 根据权利要求14-17任一项所述的装置,其特征在于,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的每个部件发送所述一个指示信息。
  20. 根据权利要求14-17任一项所述的装置,其特征在于,所述至少一个指示信息为一个指示信息,所述向所述多个部件发送所述至少一个指示信息包括:向所述多个部件中的一个部件发送所述一个指示信息。
  21. 一种软件升级装置,其特征在于,包括:
    接收单元,用于从终端设备接收存储资源反馈信息,所述存储资源反馈信息至少包括所述终端设备内可用于存储多个升级包分块的多个部件中每个部件的可用存储容量;
    处理单元,用于根据所述存储资源反馈信息,将一个或多个软件升级包划分为多个升级包分块,所述多个升级包分块与至少部分所述每个部件的可用存储容量一一对应;
    所述处理单元还用于生成升级包分块信息,所述升级包分块信息至少包括所述多个升级包分块与所述至少部分所述每个部件的可用存储容量的对应关系;
    发送单元,用于将所述升级包分块信息发送给所述终端设备。
  22. 根据权利要求21所述的装置,其特征在于,所述升级包分块信息包括所述多个升级包分块中每个升级包分块的校验信息、每个升级包分块下载地址或所述多个升级包分块的数量中的至少一项。
  23. 根据权利要求21或22所述的装置,其特征在于,所述处理单元还用:根据所述存储资源反馈信息,确定所述终端设备内的可用存储资源满足所述软件升级的存储需求。
  24. 根据权利要求21-23任一项所述的装置,其特征在于,所述发送单元还用于:
    向至少一个网络侧的升级软件存储装置发送升级包分发指令,所述升级包分发指令用于指示所述至少一个网络侧的升级软件存储装置将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
  25. 根据权利要求21-24任一项所述的装置,其特征在于,所述发送单元还用于:
    将所述多个升级包分块中的至少一个升级包分块发送给所述终端设备。
  26. 根据权利要求25所述的装置,其特征在于,所述接收单元还用于:
    从至少一个网络侧的升级软件存储装置接收所述多个升级包分块中的至少一个升级包分块。
  27. 一种软件升级装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序指令,所述处理器运行所述计算机程序指令以执行权利要求1-7任一项所述的操作。
  28. 根据权利要求27所述的装置,其特征在于,所述装置还包括收发器,用于接收 所述存储资源信息或所述升级包分块信息,或者用于发送所述存储资源反馈信息、所述至少一个指示信息、所述下载指令、所述升级包分发指令和所述安装激活指令中的至少一项。
  29. 一种软件升级装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序指令,所述处理器运行所述计算机程序指令以执行权利要求8-13任一项所述的操作。
  30. 根据权利要求29所述的装置,其特征在于,所述装置还包括收发器,用于接收所述存储资源反馈信息或所述多个升级包分块中的至少一个升级包分块,或者用于发送所述升级包分块信息、所述软件升级启动消息、所述升级包分发指令和所述至少一个升级包分块中的至少一项。
  31. 一种软件升级系统,其特征在于,包括:如权利要求14-20任一项所述的软件升级装置和如权利要求21-26任一项所述的软件升级装置。
  32. 一种软件升级系统,其特征在于,包括:如权利要求27或28所述的软件升级装置和如权利要求29或30所述的软件升级装置。
  33. 一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在被处理器运行时,使得所述软件升级装置执行如权利要求1-7任一项所述的方法。
  34. 一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在被处理器运行时,使得所述软件升级装置执行如权利要求8-13任一项所述的方法。
PCT/CN2020/098352 2019-11-18 2020-06-28 软件升级方法、装置和系统 WO2021098212A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20890139.7A EP4044024A4 (en) 2019-11-18 2020-06-28 METHOD OF UPGRADE OF SOFTWARE AND ASSOCIATED APPARATUS AND SYSTEM
KR1020227019294A KR20220092617A (ko) 2019-11-18 2020-06-28 소프트웨어 업그레이드 방법, 장치 및 시스템
JP2022528690A JP2023501823A (ja) 2019-11-18 2020-06-28 ソフトウェアアップグレード方法、装置、およびシステム
US17/745,580 US11972247B2 (en) 2019-11-18 2022-05-16 Software upgrading method, apparatus, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911129069.3A CN112817617A (zh) 2019-11-18 2019-11-18 软件升级方法、装置和系统
CN201911129069.3 2019-11-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/745,580 Continuation US11972247B2 (en) 2019-11-18 2022-05-16 Software upgrading method, apparatus, and system

Publications (1)

Publication Number Publication Date
WO2021098212A1 true WO2021098212A1 (zh) 2021-05-27

Family

ID=75852585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/098352 WO2021098212A1 (zh) 2019-11-18 2020-06-28 软件升级方法、装置和系统

Country Status (6)

Country Link
US (1) US11972247B2 (zh)
EP (1) EP4044024A4 (zh)
JP (1) JP2023501823A (zh)
KR (1) KR20220092617A (zh)
CN (1) CN112817617A (zh)
WO (1) WO2021098212A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867764A (zh) * 2021-09-28 2021-12-31 重庆长安汽车股份有限公司 一种多通道升级车机mcu的方法及系统
CN114756321A (zh) * 2022-04-28 2022-07-15 重庆长安汽车股份有限公司 一种基于车机实现仪表交互界面并显示的系统及方法
WO2023045090A1 (zh) * 2021-09-24 2023-03-30 成都市卡蛙科技有限公司 一种基于终端状态进行固件升级的方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378750B (zh) * 2021-05-20 2023-09-19 海信集团控股股份有限公司 一种电子家居设备的ota升级方法及设备
CN113778490A (zh) * 2021-09-16 2021-12-10 深圳市易平方网络科技有限公司 基于智能终端的软件升级处理方法、装置、智能终端
WO2024011366A1 (zh) * 2022-07-11 2024-01-18 Oppo广东移动通信有限公司 设备升级方法、装置、设备、存储介质及程序产品
CN115314486A (zh) * 2022-07-20 2022-11-08 交控科技股份有限公司 列车控制系统的软件升级方法及装置
CN116132975A (zh) * 2023-01-17 2023-05-16 青岛海尔智能家电科技有限公司 用于节点设备网络中空中下载的方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536687B1 (en) * 2004-06-23 2009-05-19 Emc Corporation System and method for automatic installation of embedded software packages
CN103019767A (zh) * 2012-11-16 2013-04-03 深圳市多尼卡电子技术有限公司 一种系统升级的方法、装置及机载娱乐系统
CN103455348A (zh) * 2013-08-27 2013-12-18 小米科技有限责任公司 分区调整方法、装置、终端、服务器及系统
CN105843656A (zh) * 2016-04-22 2016-08-10 Tcl集团股份有限公司 磁盘空间不足的系统升级方法、终端设备及服务器
CN108959122A (zh) * 2017-05-17 2018-12-07 中兴通讯股份有限公司 一种升级包下载的保存方法、装置和终端

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086796A (ja) * 1994-06-15 1996-01-12 Nec Corp ダウンロード方法、そのネットワークシステム、及びデータファイル更新方法
JP2005092330A (ja) * 2003-09-12 2005-04-07 Olympus Corp ソフトウエア更新プログラム
JP4698182B2 (ja) * 2003-09-16 2011-06-08 株式会社リコー 電子装置、ネットワーク機器、管理方法、ソフトウェア更新方法、管理プログラム、ソフトウェア更新プログラム及び記録媒体
CN101344906B (zh) * 2008-05-19 2010-06-23 北京深思洛克软件技术股份有限公司 一种分块式的远程更新方法
JP2010079720A (ja) * 2008-09-26 2010-04-08 Kyocera Corp 通信端末
JP6314775B2 (ja) * 2014-09-29 2018-04-25 株式会社オートネットワーク技術研究所 通信システム、車載装置、通信装置、及びコンピュータプログラム
JP6314893B2 (ja) * 2015-03-31 2018-04-25 コニカミノルタ株式会社 画像処理システム、画像処理装置、配信サーバー、管理サーバー、および、プログラム
WO2017019684A1 (en) * 2015-07-27 2017-02-02 Datagrid Systems, Inc. Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data
US10140116B2 (en) * 2016-09-26 2018-11-27 Ford Global Technologies, Llc In-vehicle auxiliary memory storage
EP3399410A1 (en) * 2017-05-04 2018-11-07 Volvo Car Corporation Method and system for software installation in a vehicle
JP6940365B2 (ja) * 2017-10-12 2021-09-29 日立Astemo株式会社 情報更新装置
EP3698253A4 (en) * 2017-10-17 2021-08-04 Argus Cyber Security Ltd SYSTEM AND METHOD FOR MANAGING A PROGRAM MEMORY ON A MEMORY DEVICE
CN107682210A (zh) * 2017-11-10 2018-02-09 北京明朝万达科技股份有限公司 一种基于混合传输模式的数据升级方法及系统
CN109992291A (zh) * 2018-01-02 2019-07-09 中兴通讯股份有限公司 一种终端软件升级方法、装置、系统以及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536687B1 (en) * 2004-06-23 2009-05-19 Emc Corporation System and method for automatic installation of embedded software packages
CN103019767A (zh) * 2012-11-16 2013-04-03 深圳市多尼卡电子技术有限公司 一种系统升级的方法、装置及机载娱乐系统
CN103455348A (zh) * 2013-08-27 2013-12-18 小米科技有限责任公司 分区调整方法、装置、终端、服务器及系统
CN105843656A (zh) * 2016-04-22 2016-08-10 Tcl集团股份有限公司 磁盘空间不足的系统升级方法、终端设备及服务器
CN108959122A (zh) * 2017-05-17 2018-12-07 中兴通讯股份有限公司 一种升级包下载的保存方法、装置和终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023045090A1 (zh) * 2021-09-24 2023-03-30 成都市卡蛙科技有限公司 一种基于终端状态进行固件升级的方法
CN113867764A (zh) * 2021-09-28 2021-12-31 重庆长安汽车股份有限公司 一种多通道升级车机mcu的方法及系统
CN113867764B (zh) * 2021-09-28 2024-05-03 重庆长安汽车股份有限公司 一种多通道升级车机mcu的方法及系统
CN114756321A (zh) * 2022-04-28 2022-07-15 重庆长安汽车股份有限公司 一种基于车机实现仪表交互界面并显示的系统及方法
CN114756321B (zh) * 2022-04-28 2024-02-06 重庆长安汽车股份有限公司 一种基于车机实现仪表交互界面并显示的系统及方法

Also Published As

Publication number Publication date
JP2023501823A (ja) 2023-01-19
US11972247B2 (en) 2024-04-30
KR20220092617A (ko) 2022-07-01
EP4044024A4 (en) 2022-12-07
CN112817617A (zh) 2021-05-18
EP4044024A1 (en) 2022-08-17
US20220276856A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
WO2021098212A1 (zh) 软件升级方法、装置和系统
EP4202645A1 (en) Vehicle upgrading method and apparatus
US20190349875A1 (en) Data transmission control method and apparatus, and terminal
CN113094062A (zh) 升级方法及装置
CN113608483A (zh) 获取车辆信号值方法、电子设备及电子控制单元
CN112637371A (zh) 节点地址确定方法、装置、电子设备及存储介质
KR20200075626A (ko) 차량의 ecu 업데이트가 가능한 무선 업데이트 시스템 및 방법
CN112015489A (zh) 一种车载软件的管理方法、装置、存储介质及系统
CN111736866A (zh) 兼容一对一和一对多的在线升级方法及终端设备
CN114064091A (zh) Ota升级控制方法、装置、电子设备及自动驾驶车辆
US10862730B2 (en) Selective connection for interface circuitry
CN112887401B (zh) 一种基于多个操作系统的网络访问方法及车机系统
EP4246844A1 (en) Data packet processing method and apparatus
CN115980554A (zh) 一种芯片测试的方法及其电子设备
CN112699648B (zh) 数据处理方法及装置
CN115080092A (zh) 一种软件升级方法、装置及电子设备
CN114326503A (zh) 一种车载io网关控制器及通讯方法
CN113177014A (zh) 基于检验方式的串口通讯方法和串口芯片
WO2022062857A1 (zh) 资源请求方法、资源配置方法及相关产品
WO2024026592A1 (zh) 一种数据存储方法及相关装置
WO2021197327A1 (zh) 信号处理方法及相关设备
CN117544711B (zh) 一种多处理器间的通信方法、装置、设备和介质
CN209358540U (zh) 基于可配置的智能网络中继器
CN116527439B (zh) 数据通信方法、装置、计算机设备及计算机可读存储介质
WO2023070426A1 (zh) 一种配置方法和装置

Legal Events

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

Ref document number: 20890139

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022528690

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020890139

Country of ref document: EP

Effective date: 20220513

ENP Entry into the national phase

Ref document number: 20227019294

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE