WO2022061804A1 - 一种数据传输系统、数据传输方法,智能车以及装置 - Google Patents

一种数据传输系统、数据传输方法,智能车以及装置 Download PDF

Info

Publication number
WO2022061804A1
WO2022061804A1 PCT/CN2020/118080 CN2020118080W WO2022061804A1 WO 2022061804 A1 WO2022061804 A1 WO 2022061804A1 CN 2020118080 W CN2020118080 W CN 2020118080W WO 2022061804 A1 WO2022061804 A1 WO 2022061804A1
Authority
WO
WIPO (PCT)
Prior art keywords
ecu
node
interface
software package
ota server
Prior art date
Application number
PCT/CN2020/118080
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 CN202080004904.5A priority Critical patent/CN112673609B/zh
Priority to KR1020237013439A priority patent/KR20230070039A/ko
Priority to CN202210159429.XA priority patent/CN114666362A/zh
Priority to JP2023518969A priority patent/JP2023544123A/ja
Priority to EP20954655.5A priority patent/EP4207707A4/en
Priority to PCT/CN2020/118080 priority patent/WO2022061804A1/zh
Publication of WO2022061804A1 publication Critical patent/WO2022061804A1/zh
Priority to US18/190,449 priority patent/US20230236822A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • 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
    • 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
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • 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
    • 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]
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment

Definitions

  • the present application relates to the technical field of vehicle networks, and in particular, to a data transmission system, a data transmission method, a smart car and a device.
  • AutoSar Automotive Open System Architecture
  • AutoSar is an open and standardized software architecture jointly established by global car manufacturers, component suppliers and electronic software system companies. It is a summary of more than 100 years of experience in automotive technology development. AutoSar defines a series of system service interfaces, which can be used to realize the compatibility and interoperability of different software, which simplifies the development of automotive software and facilitates the deployment of software on different models.
  • the software in the car can be upgraded through over the air (OTA) technology.
  • the software package in the cloud server can be downloaded to the local through OTA technology. Since the car includes multiple electronic control units (ECUs), and multiple ECUs have software upgrade requirements, it is necessary to install an upgrade configuration management master (update and configuration management master) on at least one of the multiple ECUs. , UCM Master) module, install the update and configuration management (UCM) module on other ECUs that have software upgrade requirements. Download the software package in the cloud server to the ECU installed with the UCM Master module through OTA technology, and then distribute the software package to multiple ECUs installed with the UCM module through the ECU installed with the UCM Master module to complete the software upgrade of the vehicle .
  • UCM Master upgrade configuration management
  • UCM update and configuration management
  • Embodiments of the present application provide a data transmission system, a data transmission method, a smart car, and a device.
  • the solution provided in the present application in the process of realizing the software upgrade in the vehicle through the OTA technology, the dependence on the storage capacity and processing capacity of the main ECU is reduced, and the efficiency of the upgrade is improved.
  • a first aspect of the present application provides a data transmission system, which includes an over-the-air OTA server, a main electronic control unit ECU, and a node ECU.
  • the OTA server is used to call the first interface of the main ECU.
  • An interface can be understood as an interaction method and rules between the first device and the second device.
  • the main ECU is used to obtain the size of the target software package in response to the OTA server invoking the first interface Include data for node ECU upgrade. That is, the OTA server can send the size of the target software package to the main ECU by calling the first interface of the main ECU.
  • the main ECU is also used to call the second interface of the node ECU.
  • the node ECU is used to obtain the size of the target software package in response to the main ECU calling the second interface, and check the remaining storage space of the node ECU. When the remaining storage space is not less than the size of the target software package, receive the target software package sent by the OTA server .
  • the data transmission system provided by this application may be AutoSar.
  • the main ECU refers to the ECU with the UCM Master module installed in the in-vehicle ECU
  • the node ECU refers to the UCM installed in the in-vehicle ECU.
  • the ECU of the module, the interface can also be understood as the interaction method and rules between the first module of the first device and the second module of the second device.
  • the OTA server can learn whether to send the software package of the first ECU to the first ECU in various ways. It can be seen from the first aspect that the target software package of the node ECU in the solution provided by the first aspect is directly sent to the node ECU by the OTA server, and the main ECU no longer needs to cache the node ECU software package, nor does the main ECU need to forward the node ECU upgrade package. In this way, the main ECU does not need high storage space and processing performance. In the process of in-vehicle software upgrade through OTA technology, the dependence on the storage capacity and processing capacity of the main ECU is reduced.
  • the node ECU is further configured to return a first invocation result to the main ECU, where the first invocation result includes a first parameter value, and the first parameter value is To indicate that the remaining storage space of the node ECU is not less than the size of the target software package.
  • the main ECU is further configured to call the third interface of the OTA server when the first parameter value is obtained.
  • the OTA server is further configured to send the target software package to the node ECU in response to the main ECU calling the third interface. It can be known from the first possible implementation manner of the first aspect that a specific way is provided to make the OTA server know to send the target software package directly to the node ECU.
  • the OTA server can be informed to directly send the target software package to the node ECU by adding the first parameter value in the first calling result.
  • the second interface is a TransferStart interface for starting transmission.
  • the TransferStart interface is an interface defined in AutoSar.
  • a parameter is added to the call result of the TransferStart interface defined by the existing AutoSar, and the OTA server can be instructed to send the target software package to the node ECU through the parameter. From the second possible implementation of the first aspect, it can be seen that this solution makes little changes to the existing software upgrade process specified by AutoSar.
  • a parameter is added to the call result of the TransferStart interface of the node ECU, and the parameter is fed back.
  • the OTA server knows that a distributed download can be performed, and the target software package of the node ECU is directly sent to the node ECU without going through the main ECU.
  • the number of node ECUs is N, and N is greater than 1. Integer.
  • the main ECU is specifically configured to call the third interface of the OTA server when N first parameter values are obtained. It can be known from the third possible implementation manner of the first aspect that when the data transmission system includes multiple node ECUs, the remaining storage space of each node ECU in the multiple node ECUs obtained by the master ECU is not less than the respective software package.
  • the third interface of the OTA server is called, so that the OTA server sends the respective software packages to the node ECU.
  • the third interface of the OTA server can send its own software package to each node ECU, or send its own software package to multiple node ECUs at the same time.
  • the master ECU obtains in advance whether the remaining storage space of all node ECUs is sufficient, and when the remaining storage space of all node ECUs is sufficient to store their respective software packages, transmit the Software package to prevent upgrade failure due to insufficient resources of some node ECUs during the download process, reducing user traffic consumption and resource waste.
  • the second interface can be understood as an interface newly defined in AutoSar in this solution, the main ECU can first call the second interfaces of multiple node ECUs, and obtain multiple first call results at one time .
  • the number of node ECUs is N, and N is greater than 1.
  • the main ECU is specifically configured to not call the third interface of the OTA server when the M first parameter values are obtained, where M is an integer less than N and greater than 1. It can be seen from the third possible implementation manner of the first aspect that when the master ECU does not obtain that the remaining storage space of each node ECU in the multiple node ECUs is not less than the size of the respective software package, it will no longer call the third step of the OTA server.
  • the OTA server does not send the software package to any one of the multiple node ECUs. Prevent upgrade failure due to insufficient resources of some node ECUs during the download process, and reduce user traffic consumption and resource waste.
  • the main ECU is further configured to acquire the download address of the target software package in response to the OTA server calling the first interface.
  • the node ECU is further configured to return a first calling result to the main ECU, where the first calling result includes a first parameter value, and the first parameter value is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package.
  • the main ECU sends the download address to the node ECU, so that the node ECU can request the OTA server to send the target software package of the node ECU according to the download address.
  • the first interface is a TransferVehiclePackage interface for transmitting a complete vehicle software package.
  • the TransferVehiclePackage interface is an interface defined in AutoSar.
  • this solution adds the download address of the target software package to the existing TransferVehiclePackage interface, so that the main ECU can obtain the download address of the target software package through the TransferVehiclePackage interface.
  • a specific way based on AutoSar is given to realize OTA server sending software package directly to node ECU, which increases the diversity of solutions.
  • the number of node ECUs is N, and N is an integer greater than 1.
  • the main ECU is specifically configured to call the fourth interface of the node ECU when N first parameter values are obtained. It can be known from the seventh possible implementation manner of the first aspect that when the data transmission system includes multiple node ECUs, the remaining storage space of each node ECU in the multiple node ECUs obtained by the master ECU is not less than the respective software package. Only when the size of the node ECU is called, the fourth interface of the node ECU is called, so that the node ECU can obtain the download address of its software package.
  • the master ECU When the master ECU obtains that the remaining storage space of each node ECU in the multiple node ECUs is not less than the size of the respective software package, it can make each node ECU obtain its software in the order of sending the software package obtained from the OTA.
  • the download address of the package can also be sent to multiple node ECUs at the same time as the download address of their respective software packages. It can be seen from the seventh possible implementation manner of the first aspect that when the remaining storage space of all node ECUs is sufficient to store their respective software packages, the software packages are transmitted again to prevent the upgrade failure due to insufficient resources of some node ECUs during the download process. , reducing user traffic consumption and resource waste.
  • the number of node ECUs is N, and N is an integer greater than 1.
  • the main ECU is specifically configured to not call the fourth interface of the node ECU when M first parameter values are obtained, where M is an integer less than N and greater than 1. It can be seen from the eighth possible implementation manner of the first aspect that when the master ECU does not obtain that the remaining storage space of each node ECU in the plurality of node ECUs is not less than the size of the respective software package, the fourth node ECU will no longer be stored.
  • the main ECU does not send the download address of its software package to any of the multiple node ECUs, preventing the download process. Due to insufficient resources of some node ECUs, the upgrade fails, which reduces user traffic consumption and resource waste.
  • the data transmission system is an AutoSar-based data transmission system.
  • the node ECU is further configured to send a prompt message, the The prompt message is used to instruct the node ECU to download the target software package from the OTA server.
  • the main ECU is further configured to send a prompt message, prompting The message is used to instruct the node ECU to download the target package from the OTA server.
  • a second aspect of the present application provides an over-the-air OTA server.
  • the OTA server includes an upgrade configuration management UCM module, and the UCM module is used to call a first interface of a main ECU, so that the main ECU calls the first interface in response to the OTA server and obtains a target The size of the software package, and call the second interface of the node ECU, so that the node ECU calls the second interface in response to the main ECU, obtains the size of the target software package, and checks the remaining storage space of the node ECU, and the remaining storage space is not less than the target software When the package size is received, the target package sent by the OTA server is received.
  • the UCM module is further configured to send the target software package to the node ECU in response to the main ECU calling a third interface of the UCM module, where the third interface is: The interface of the UCM module called by the main ECU when it obtains the first parameter value.
  • the first parameter value is the parameter value included in the first call result returned by the node ECU to the main ECU, and the first parameter value is used to indicate the remaining parameters of the node ECU.
  • the storage space is not less than the size of the target package.
  • the UCM module is further configured to call the first interface of the main ECU, so that the main ECU calls the first interface in response to the OTA server and obtains the target software.
  • the download address of the package so that the node ECU calls the fourth interface in response to the main ECU, obtains the download address of the target software package, and calls the fifth interface of the OTA server.
  • the UCM module is further configured to receive the download address of the target software package in response to the node ECU calling the fifth interface of the UCM module, and send the target software package to the node ECU according to the download address.
  • a third aspect of the present application provides a main electronic control unit ECU.
  • the main ECU includes an upgrade configuration management main control UCM Master module, and the UCM Master module is used for invoking the first interface of the UCM Master module in response to the OTA server and obtaining the information of the target software package. size.
  • the UCM Master module is also used to call the second interface of the node ECU, so that the node ECU is called in response to the second interface, obtains the size of the target software package, and checks the remaining storage space of the node ECU, and the remaining storage space is not less than the target software When the size of the package is set, the node ECU receives the target package sent by the OTA server.
  • the UCM Master module is also used to call the third interface of the OTA server when the first parameter value is obtained, so that the OTA server responds to the first parameter value.
  • the three interfaces are called to send the target software package to the node ECU.
  • the first parameter value is the parameter value included in the first call result returned by the node ECU to the main ECU.
  • the first parameter value is used to indicate that the remaining storage space of the node ECU is not less than The size of the target package.
  • the number of node ECUs is N, and N is an integer greater than 1.
  • the UCM Master module is specifically used to call the third interface of the OTA server when N first parameter values are obtained.
  • the UCM Master module is further configured to acquire the download address of the target software package in response to the OTA server calling the first interface.
  • the UCM Master module is also used to call the fourth interface of the node ECU when the first parameter value is obtained, so that the node ECU is called in response to the fourth interface, obtains the download address, and calls the fifth interface of the OTA server, so that the The OTA server receives the download address in response to the fifth interface being called, and sends the target software package to the node ECU according to the download address.
  • the first parameter value is the parameter value included in the first calling result returned by the node ECU to the main ECU.
  • the parameter value is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package.
  • the number of node ECUs is N, and N is an integer greater than 1.
  • the UCM Master module is specifically used to call the fourth interface of the node ECU when N first parameter values are obtained.
  • a fourth aspect of the present application provides a node electronic control unit ECU, the node ECU includes an upgrade configuration management UCM module, and the UCM module is configured to acquire target software in response to the main ECU calling the second interface of the UCM module after the first interface is called package size, and check the remaining storage space of the node ECU.
  • the remaining storage space is not less than the size of the target software package, receive the target software package sent by the OTA server, and the first interface of the main ECU is called by the OTA server to make the main ECU respond. The first interface is called to obtain the size of the target software package.
  • the UCM module is further configured to return a first call result to the main ECU, where the first call result includes a first parameter value, and the first parameter value is When indicating that the remaining storage space of the node ECU is not less than the size of the target software package, so that the main ECU obtains the first parameter value, the third interface of the OTA server is called, so that the OTA server responds to the main ECU calling the third interface and sends the Node ECU sends target package.
  • the UCM module is further configured to return a first call result to the main ECU, where the first call result includes a first parameter value, and the first parameter value is When indicating that the remaining storage space of the node ECU is not less than the size of the target software package, so that the main ECU obtains the first parameter value, the fourth interface of the node ECU is called.
  • the UCM module is further configured to call the fourth interface in response to the main ECU, obtain the download address of the target software package, and call the fifth interface of the OTA server, so that the OTA server is called in response to the fifth interface, receives the download address, and according to The download address sends the target software package to the node ECU.
  • a fifth aspect of the present application provides a data transmission method, including: the OTA server calls the first interface of the main ECU, so that the main ECU calls the first interface in response to the OTA server, obtains the size of the target software package, and calls the first interface of the node ECU. Second interface, so that the node ECU calls the second interface in response to the main ECU, obtains the size of the target software package, and checks the remaining storage space of the node ECU. When the remaining storage space is not less than the size of the target software package, it receives the target sent by the OTA server. package.
  • the method further includes: in response to the main ECU calling the third interface of the UCM module, the OTA server sends the target software package to the node ECU, and the third interface It is the interface of the OTA server called by the main ECU when it obtains the first parameter value.
  • the first parameter value is the parameter value included in the first call result returned by the node ECU to the main ECU.
  • the first parameter value is used to indicate the The remaining storage space is not less than the size of the target package.
  • the method further includes: the OTA server calls the first interface of the main ECU, so that the main ECU calls the first interface in response to the OTA server, and obtains the target The download address of the software package, so that the node ECU calls the fourth interface in response to the main ECU, obtains the download address of the target software package, and calls the fifth interface of the OTA server.
  • the OTA server receives the download address of the target software package, and sends the target software package to the node ECU according to the download address.
  • a sixth aspect of the present application provides a data transmission method, comprising: a master ECU in response to an OTA server calling a first interface of a UCM Master module to obtain the size of a target software package.
  • the main ECU calls the second interface of the node ECU, so that the node ECU responds to the second interface being called, obtains the size of the target software package, and checks the remaining storage space of the node ECU, when the remaining storage space is not less than the size of the target software package, The node ECU receives the target software package sent by the OTA server.
  • the method further includes: when the main ECU obtains the first parameter value, calling a third interface of the OTA server, so that the OTA server responds to the first parameter value.
  • the three interfaces are called to send the target software package to the node ECU.
  • the first parameter value is the parameter value included in the first call result returned by the node ECU to the main ECU.
  • the first parameter value is used to indicate that the remaining storage space of the node ECU is not less than The size of the target package.
  • the number of node ECUs is N, and N is an integer greater than 1.
  • calling the third interface of the OTA server includes: when the main ECU obtains N first parameter values, calling the third interface of the OTA server.
  • the method further includes: in response to the OTA server calling the first interface, the main ECU acquires the download address of the target software package.
  • the master ECU obtains the first parameter value, it calls the fourth interface of the node ECU, so that the node ECU is called in response to the fourth interface, obtains the download address, and calls the fifth interface of the OTA server, so that the OTA server responds to the fourth interface.
  • the fifth interface is called, receives the download address, and sends the target software package to the node ECU according to the download address.
  • the first parameter value is the parameter value included in the first call result returned by the node ECU to the main ECU, and the first parameter value is used to indicate The remaining storage space of the node ECU is not less than the size of the target software package.
  • the number of node ECUs is N, and N is an integer greater than 1.
  • calling the fourth interface of the node ECU includes: when the main ECU obtains N first parameter values, calling the fourth interface of the node ECU.
  • a seventh aspect of the present application provides a data transmission method, comprising: a node ECU calling a second interface of the UCM module in response to the main ECU calling the first interface, obtaining the size of the target software package, and checking the remaining storage space of the node ECU , when the remaining storage space is not less than the size of the target software package, the target software package sent by the OTA server is received, and the first interface of the main ECU is called by the OTA server, so that the main ECU responds to the first interface being called and obtains the target software package. size.
  • the method further includes: the node ECU returns a first invocation result to the main ECU, where the first invocation result includes a first parameter value, the first parameter value It is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, so that when the main ECU obtains the first parameter value, it calls the third interface of the OTA server, so that the OTA server calls the third interface in response to the main ECU, Send the target package to the node ECU.
  • the method further includes: the node ECU returns a first invocation result to the main ECU, where the first invocation result includes a first parameter value, the first parameter value It is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, so that when the main ECU obtains the first parameter value, the fourth interface of the node ECU is called.
  • the node ECU calls the fourth interface in response to the main ECU, obtains the download address of the target software package, and calls the fifth interface of the OTA server, so that the OTA server is called in response to the fifth interface, receives the download address, and sends to the node according to the download address.
  • the ECU sends the target package.
  • An eighth aspect of the present application provides an OTA server, which may include a processor, the processor is coupled to a memory, the memory stores program instructions, and when the program instructions stored in the memory are executed by the processor, the fifth aspect or any one of the fifth aspects is implemented Methods in possible implementations.
  • a ninth aspect of the present application provides an ECU, which may include a processor, the processor is coupled with a memory, the memory stores program instructions, and when the program instructions stored in the memory are executed by the processor, the sixth aspect or any possibility of the sixth aspect is implemented method in an embodiment.
  • a tenth aspect of the present application provides an ECU, which may include a processor, the processor is coupled with a memory, the memory stores program instructions, and when the program instructions stored in the memory are executed by the processor, the seventh aspect or any possibility of the seventh aspect is implemented method in an embodiment.
  • An eleventh aspect of the present application provides a computer-readable storage medium, which may include a program, which, when executed on a computer, causes the computer to execute the method in the fifth aspect or any possible implementation manner of the fifth aspect.
  • a twelfth aspect of the present application provides a computer-readable storage medium, which may include a program, which, when executed on a computer, causes the computer to execute the method in the sixth aspect or any possible implementation manner of the sixth aspect.
  • a thirteenth aspect of the present application provides a computer-readable storage medium, which may include a program, which, when executed on a computer, causes the computer to execute the method in the seventh aspect or any possible implementation manner of the seventh aspect.
  • a fourteenth aspect of the present application provides a chip system, where the chip system may include a processor to support a vehicle to implement the functions involved in the method described in the sixth aspect or any possible implementation manner of the sixth aspect .
  • a fifteenth aspect of the present application provides a chip system, where the chip system may include a processor to support the vehicle to implement the functions involved in the method described in the seventh aspect or any possible implementation manner of the seventh aspect .
  • a sixteenth aspect of the present application provides a computer program product that, when the computer program product runs on a device, causes the device to execute the method described in the fifth aspect or any possible implementation manner of the fifth aspect.
  • a seventeenth aspect of the present application provides a computer program product, which, when the computer program product runs on a device, causes the device to execute the method described in the sixth aspect or any possible implementation manner of the sixth aspect.
  • An eighteenth aspect of the present application provides a computer program product, which, when the computer program product runs on a device, causes the device to execute the method described in the seventh aspect or any possible implementation manner of the seventh aspect.
  • a nineteenth aspect of the present application provides a smart car, the smart car may include a main ECU and a node ECU, the main ECU is the ECU described in the third aspect or any possible implementation manner of the third aspect, and the node ECU is the fourth aspect or the ECU described in any possible implementation manner of the fourth aspect.
  • a twentieth aspect of the present application provides a smart car, the smart car includes a processing circuit and a storage circuit, the processing circuit and the storage circuit are configured to perform the method described in the sixth aspect or any possible implementation manner of the sixth aspect.
  • a twenty-first aspect of the present application provides a smart car, the smart car includes a processing circuit and a storage circuit, the processing circuit and the storage circuit are configured to perform the method described in the seventh aspect or any one of the possible implementations of the seventh aspect .
  • the present application provides a data transmission system, a data transmission method, a smart car and a device.
  • the main ECU still controls the upgrade process of each node ECU, but the software package of each node ECU is directly sent to each node ECU by the OTA server, and the main ECU no longer needs to cache the software of each node ECU
  • the main ECU does not need to forward the upgrade package of each node ECU. In this way, the main ECU does not need to have high storage space and processing performance, and can also improve the efficiency of the upgrade.
  • the data transmission system provided by this application defines a new interface.
  • node ECUs When all the node ECUs have enough storage space to store their respective software packages, they will send their respective software packages to each node ECU to prevent the download process due to Insufficient resources of some node ECUs cause the upgrade to fail, reducing user traffic consumption and resource waste. The efficiency of the upgrade can be further improved.
  • Fig. 1 is the schematic diagram of AutoSar
  • Fig. 2 is the framework schematic diagram that realizes software upgrade in AutoSarR;
  • Fig. 3 is the schematic flow chart of software upgrade in AutoSar
  • FIG. 4 is a schematic flowchart of a data transmission method provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another data transmission method provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of another data transmission method provided by an embodiment of the present application.
  • FIG. 7a is a schematic flowchart of another data transmission method provided by an embodiment of the present application.
  • FIG. 7b is a schematic flowchart of another data transmission method provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a data transmission system according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a communication device provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a vehicle provided by an embodiment of the application.
  • FIG. 11 is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • the naming or numbering of the steps in this application does not mean that the steps in the method flow must be executed in the time/logical sequence indicated by the naming or numbering, and the named or numbered process steps can be implemented according to the The technical purpose is to change the execution order, as long as the same or similar technical effects can be achieved.
  • the division of modules in this application is a logical division. In practical applications, there may be other divisions. For example, multiple modules may be combined or integrated into another system, or some features may be ignored. , or not implemented, in addition, the shown or discussed mutual coupling or direct coupling or communication connection may be through some ports, and the indirect coupling or communication connection between modules may be electrical or other similar forms. There are no restrictions in the application.
  • modules or sub-modules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed into multiple circuit modules, and some or all of them may be selected according to actual needs. module to achieve the purpose of the solution of this application.
  • AutoSar is an open and standardized software architecture jointly established by global car manufacturers, component suppliers and electronic software system companies. It is a summary of more than 100 years of experience in automotive technology development. AutoSar defines a series of system service interfaces, which can be used to realize the compatibility and interoperability of different software, which simplifies the development of automotive software and facilitates the deployment of software on different models. AutoSar mainly has the following characteristics:
  • AutoSar is committed to solving the difficulties of software development caused by different hardware platforms, so that developers can focus on the innovation of automotive software functions.
  • AutoSar provides standard software interface definitions, and engineers can assign the required software components to the electronic control unit (ECU) of the car according to actual needs, so as to realize the reusability of standard software components.
  • the application layer software components of AutoSar are independent of hardware, and application developers can specify the details of each vehicle function in the application software without worrying about the incompatibility of underlying software services and hardware interfaces.
  • AutoSar includes application software layer (application layer) and system service layer (services layer).
  • application layer application layer
  • service layer system service layer
  • the application software layer encapsulates some or all of the functions and behaviors of automotive electronics, including the realization of specific module functions and corresponding descriptions, and only opens well-defined interfaces to the outside world.
  • the main services of the system service layer include communication management services (communication management, COM), encryption services (cryptography, CRYPTO), log services (logging&Tracing, LOG), diagnostic services (diagnostics service, DIAG), persistent storage services (persistency, PER) ), state management service (state management, SM), execution management service (execution management, EXEC), time synchronization service (time synchronization, TSYNC), upgrade configuration management service (update and configuration management, UCM), upgrade configuration management master Services (update and configuration management master, UCM Master), etc.
  • the solution provided in this application mainly involves UCM and UCM Master in the system service layer.
  • the embodiments provided in this application mainly focus on UCM and UCM Master in the system service layer in AUTOSAR.
  • UCM and UCM Master are responsible for managing the update and upgrade of automotive software in the car.
  • the existing standards define the interface and interaction process of UCM service and UCM Master service. By using these interfaces, car users or manufacturers can easily use these interfaces in AutoSar Install, update and uninstall software within the system. The following describes the process of upgrading the car software in the car through UCM in AutoSar with reference to FIG. 2 and FIG. 3 .
  • FIG. 2 it is a schematic diagram of the architecture for implementing software upgrade in AutoSar.
  • software upgrades in the car can be achieved through OTA technology.
  • OTA refers to the update or upgrade of automotive software through wireless fidelity (wireless fidelity, wifi), long term evolution (LTE), fifth generation mobile communication (5th generation, 5G) and other air communication interfaces. Because it no longer relies on fixed locations or fixed lines, OTA upgrades have the flexibility and convenience that traditional automotive software upgrade methods do not have.
  • the software upgrade package in the cloud server can be downloaded to the local through OTA technology.
  • the cloud server is sometimes referred to as an OTA server or an OTA cloud or an OTA cloud server.
  • the software of multiple ECUs needs to be upgraded, and the upgrade sequence of multiple ECUs may have dependencies, that is, the sequence of software upgrades of multiple ECUs needs to be controlled.
  • the conditions are limited, such as whether the software can be upgraded in the driving state, whether the software can be upgraded after obtaining the consent of the user, and so on. Therefore, a control module needs to be installed on at least one of the multiple ECUs to coordinate the software upgrades of the multiple ECUs.
  • this module is the UCM Master module.
  • the UCM Master module can be installed on the gateway or the telematic box (TBOX).
  • the UCM module is installed on other ECUs in the vehicle to control and coordinate the UCM modules on other ECUs that need to be upgraded through the ECU with UCM Master installed to complete the software upgrade of the entire vehicle.
  • the interaction process of software upgrade and download in AutoSar is described below with reference to FIG. 3 .
  • the ECU with the UCM Master module installed is called the master ECU
  • the ECU with the UCM module installed is called the node ECU.
  • the transmission system includes an OTA server, a master ECU, and a plurality of node ECUs.
  • a master ECU e.g., a master ECU
  • node ECU e.g., a master ECU
  • the main ECU refers to the ECU in which the UCM Master module is installed in the in-vehicle ECU
  • the node ECU refers to the ECU in which the UCM module is installed in the in-vehicle ECU.
  • the software upgrade process in AutoSar can include the following steps:
  • the OTA server calls the TransferVehiclePackage interface of the main ECU.
  • the OTA server calls the TransferVehiclePackage interface of the UCM Master module of the main ECU. It should be noted that this application sometimes refers to the UCM Master module as the UCM Master service. In addition, it should be noted that the interface of the main ECU in this application refers to the interface of the UCM Master module of the main ECU, which will not be repeated below.
  • the vehicle upgrade package mainly includes control information such as upgrade strategy, and the main ECU can control the upgrade and update process of each node ECU according to this information.
  • the main ECU can control the upgrade sequence and upgrade conditions of each node ECU according to the control information.
  • the upgrade conditions may include whether to allow the software to be upgraded in the driving state, whether to obtain the user's consent to upgrade the software, and the like.
  • the vehicle upgrade package download (TransferVehiclePackage) interface of the UCM Master module is defined, and the OTA server can call the TransferVehiclePackage interface of the main ECU to send the upgrade strategy and other control information to the main ECU. Specifically, the control information such as the upgrade strategy is sent to the UCM Master module.
  • the whole vehicle upgrade package also includes information of software packages of each ECU.
  • the software package information may include package name and size information.
  • the OTA server calls the TransferStart interface of the main ECU.
  • the OTA server calls the TransferStart interface of the UCM Master service of the main ECU.
  • software packages are sometimes referred to as software upgrade packages or upgrade packages, which have the same meaning, and both represent software codes or data that the ECU needs to update.
  • the TransferStart interface of the UCM Master service is defined, and the OTA server can call the TransferStart interface of the UCM Master service of the main ECU to send the name of the software upgrade package of each node ECU to the main ECU.
  • the main ECU calls the TransferStart interface of the node ECU1.
  • the main ECU calls the TransferStart interface of the UCM module of the node ECU1. It should be noted that, the interface of the node ECU in this application all refers to the interface of the UCM module of the node ECU, and the description will not be repeated below.
  • the node ECU includes the node ECU1.
  • the main ECU calls the TransferStart interface of the node ECU1, and the parameter value of the TransferStart interface of the node ECU1 is the size of the software upgrade package of the node ECU1.
  • ECU1 detects the remaining storage space and determines whether the remaining space is sufficient to store the upgrade package of ECU1.
  • the node ECU1 returns the calling result of the TransferStart interface of the node ECU1.
  • the UCM module of the node ECU1 In response to the main ECU calling the TransferStart interface, the UCM module of the node ECU1 returns the call result of the TransferStart interface to the main ECU, and the calling result can indicate whether the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1.
  • the main ECU feeds back the acquired call result of the TransferStart interface of the node ECU1 to the OTA server.
  • the OTA server calls the TransferData interface of the main ECU.
  • the OTA server calls the TransferData interface of the UCM Master module of the main ECU.
  • the OTA server sends the upgrade package of the ECU1 to the main ECU.
  • the upgrade package of the ECU1 may include software codes or data that the ECU1 needs to be updated.
  • AutoSar defines the data transfer (TransferData) interface of the UCM Master module and the data transfer (TransferData) interface of the UCM service.
  • the OTA server calls the TransferData interface of the UCM Master service of the main ECU.
  • the parameter value of the TransferData interface is the software package of ECU1 to transfer the The software package of node ECU1 is sent to the main ECU.
  • the main ECU calls the TransferData interface of the node ECU1.
  • the main ECU calls the TransferData interface of the UCM module of the node ECU1, and the parameter value of the TransferData interface is the software package of the ECU1, so as to send the software package of the node ECU1 to the node ECU1.
  • the node ECU1 returns the calling result of the TransferData interface of the node ECU1.
  • the UCM module of the node ECU1 may return a calling result to notify the main ECU that the reception has been successful or the reception has failed.
  • the main ECU calls the TransferStart interface of the node ECU2.
  • the main ECU calls the TransferStart interface of the UCM module of the node ECU2, and the parameter value of the TransferStart interface of the node ECU2 is the size of the software upgrade package of the node ECU2.
  • ECU2 detects the remaining storage space and determines whether the remaining space is sufficient to store the upgrade package of ECU2.
  • the node ECU2 returns the calling result of the TransferStart interface of the node ECU2.
  • the UCM module of the node ECU2 In response to the main ECU calling the TransferStart interface, the UCM module of the node ECU2 returns the calling result of the TransferStart interface to the main ECU, and the calling result can indicate whether the node ECU2 has enough remaining storage space to store the upgrade package of the node ECU2.
  • the master ECU feeds back the acquired call result of the TransferStart interface of the node ECU2 to the OTA server.
  • the OTA server calls the TransferData interface of the main ECU.
  • the OTA server sends the upgrade package of the ECU2 to the main ECU.
  • the upgrade package of ECU2 includes software codes or data that needs to be updated by ECU2.
  • the OTA server calls the TransferData interface of the main ECU to send the upgrade package of the node ECU2 to the main ECU.
  • the main ECU calls the TransferData interface of the node ECU2.
  • the node ECU also includes the node ECU2.
  • the main ECU calls the TransferData interface of the node ECU2, and the parameter value of the TransferData interface is the software package of the node ECU2, so as to send the software package of the node ECU2 to the node ECU2.
  • step 314 may also be included, in which the node ECU2 returns the calling result of the TransferData interface of the node ECU2.
  • the node ECU2 may return the calling result, which is used to notify the main ECU that the reception has succeeded or the reception has failed.
  • Steps 303 to 314 are intended to express the size of the respective software upgrade package sent by the master ECU to each node ECU, so that the node ECU checks whether there is enough available memory.
  • the main ECU needs to cache the software packages of all node ECUs, and then forward the software packages of the node ECUs to the corresponding node ECUs, for example, step 306 and step 307, and step 312 and step 313.
  • This design is so that the main ECU can control the upgrade of each node ECU according to the control information, and coordinate the upgrade process of multiple node ECUs. For example, controlling the upgrade order of each node ECU, including controlling the order of downloading the upgrade package of each node ECU, the order of installing the upgrade package, the order of activating the upgrade package, and so on.
  • this design has high requirements on the storage space and processing performance of the main ECU. If the storage space of the main ECU is insufficient, it may fail to download the upgrade package. If the processing performance of the main ECU is not high, it will affect the download. Efficiency, that is, the transmission speed of the upgrade package will be relatively slow, thus affecting the efficiency of the vehicle upgrade. In addition, the applicant found that in the above design, when some node ECUs do not have enough storage space, the node ECUs with sufficient storage space still have to download their respective software packages.
  • the node ECU may fail to upgrade even if the upgrade package is downloaded, wasting storage resources and affecting the efficiency of the upgrade.
  • node ECU1 has enough storage space
  • the software package of node ECU1 is downloaded from the master ECU, but node ECU2 does not have enough storage space
  • the master ECU will not send the software package of node ECU2 to node ECU2, if node ECU1 and If the node ECU2 has a dependency on the upgrade, even if the node ECU1 downloads the software package of the node ECU1, the upgrade may fail, which wastes the storage space of the node ECU1 and affects the efficiency of the upgrade.
  • the dependency on the upgrade sequence of the node ECUs which may cause the upgrade to fail, there may also be other upgrade failures caused by the lack of sufficient storage space for some node ECUs.
  • the main ECU still controls the upgrade process of each node ECU.
  • the main ECU can know the upgrade status of each node ECU.
  • the main ECU can still know the download status of the node ECU, such as controlling a node ECU. Download software packages, control a node ECU not to download software packages, control the order in which multiple node ECUs download their respective software packages, and so on.
  • the main ECU can control multiple node ECUs to download software packages at the same time or download software packages in a certain download order.
  • the master ECU can control whether to make the node ECU download the software package.
  • the software package of each node ECU is directly sent to each node ECU by the OTA server, and the main ECU is no longer required to cache each node ECU. It also does not need the master ECU to forward the upgrade package of each node ECU. In this way, the main ECU does not need high storage space and processing performance, and can also improve the efficiency of upgrades.
  • the data transmission system provided in this application defines a new interface. When all node ECUs have enough storage space to store their respective software packages, they can send their respective software packages to each node ECU, which can further improve the upgrade performance. effectiveness.
  • the data transmission system provided by the embodiments of the present application may be based on AutoSar, or may be based on other data transmission systems used for ECU upgrade in the vehicle, and this application takes AutoSar as an example for description.
  • FIG. 4 it is a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • the OTA server calls the TransferVehiclePackage interface of the main ECU.
  • Step 401 can be understood with reference to step 301 in the solution corresponding to FIG. 3 , and details are not repeated here.
  • the OTA server calls the TransferStart interface of the main ECU.
  • Step 402 can be understood with reference to step 302 in the solution corresponding to FIG. 3 , and details are not repeated here.
  • the main ECU calls the TransferStart interface of the node ECU1.
  • Step 403 can be understood with reference to step 303 in the solution corresponding to FIG. 3 , and details are not repeated here.
  • the node ECU1 returns the calling result of the TransferStart interface of the node ECU1.
  • the node ECU1 In response to the main ECU calling the TransferStart interface, the node ECU1 returns a calling result of the TransferStart interface to the main ECU, where the calling result may indicate whether the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1.
  • the calling result may also include a first parameter, and the first parameter value instructs the OTA server to directly send the software package of the node ECU1 to the node ECU1, which will be described below with reference to several specific embodiments.
  • the calling result further includes the first parameter value.
  • the main ECU can feed back the first parameter value to the OTA server, and after the OTA server obtains the first parameter value, it can directly send the software package to the node ECU1 without going through the main ECU.
  • a first parameter is added to the call result. If the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1, the value of the first parameter is A. If the node ECU1 does not have enough remaining storage space For the upgrade package of the space storage node ECU1, the value of the first parameter is B.
  • a and B are used to illustrate that the value of the first parameter is different when the node ECU1 determines that there is enough remaining storage space and that there is not enough remaining storage space.
  • the node ECU1 can make the OTA server obtain whether the software package can be directly sent to the node ECU1 by feeding back the first parameter. For example, if the value of the first parameter obtained by the OTA server is A, the software package can be directly sent to the node ECU1 without going through the main ECU.
  • the master ECU feeds back the acquired call result of the TransferStart interface of the node ECU1 to the OTA server.
  • the UCM master module of the main ECU feeds back the obtained call result of the TransferStart interface of the node ECU1 to the UCM module of the OTA server.
  • the call fed back to the OTA server includes the first parameter.
  • the main ECU may call an interface of the OTA server to send the acquired call result of the TransferStart interface of the node ECU1 to the OTA server, so that the OTA server responds to the interface being called and sends the call result to the node ECU Send the package.
  • one device usually sends information to another device, or instructs another device to perform an action, which is described as one device calling the interface of another device, that is, one device calling the interface of another device to send information to the other device.
  • One device sends information, or instructs another device to perform certain actions, which are not described repeatedly in this embodiment of the present application.
  • the OTA server calls the TransferData interface of the node ECU1.
  • the OTA server can directly send the software package of the node ECU1 to the node ECU1 without forwarding it through the main ECU.
  • the specific OTA server obtains whether the software package of the node ECU1 can be directly sent to the node ECU1 according to the first parameter, and the first parameter is the parameter included in the call result of the TransferStart interface of the node ECU1.
  • the OTA server can call the TransferData interface of the node ECU1, and the parameter value of the TransferData interface is the software package of the ECU1, so as to send the software package of the node ECU1 to the node ECU1.
  • step 407 may also be included, in which the node ECU1 returns the calling result of the TransferData interface of the node ECU1.
  • the node ECU1 may return the calling result, which is used to notify the OTA server that the receiving has been successful or the receiving has failed.
  • the main ECU calls the TransferStart interface of the node ECU2.
  • the node ECU also includes the node ECU2, and the main ECU calls the TransferStart interface of the node ECU2.
  • the node ECU2 returns the calling result of the TransferStart interface of the node ECU2.
  • the master ECU feeds back the acquired calling result of the TransferStart interface of the node ECU2 to the OTA server.
  • the OTA server calls the TransferData interface of the node ECU2.
  • the parameter value of the TransferData interface of the node ECU2 is the software package of the node ECU2.
  • step 412 may also be included, in which the node ECU2 returns the calling result of the TransferData interface of the node ECU2.
  • Steps 408 to 412 can be understood with reference to steps 403 to 407, and details are not repeated here. If other node ECUs are also included, the process of downloading the upgrade package can also be understood with reference to the process of downloading the upgrade package by ECU1 , that is, with reference to steps 403 to 407 .
  • this scheme has little changes to the software upgrade process specified by the existing AutoSar.
  • a parameter is added to the call result of the TransferStart interface of the node ECU, and the parameter is fed back to the OTA server.
  • the OTA server is informed that distributed download can be performed, and the upgrade package of the node ECU is directly sent to the corresponding node ECU without going through the main ECU.
  • the present application also provides other solutions based on AutoSar, so that the OTA server can directly send the upgrade package to the node ECU.
  • the solution provided in this application can enable the master ECU to obtain in advance whether the remaining storage space of all node ECUs is sufficient, and when the remaining storage space of all node ECUs is sufficient to store their respective software packages, the software packages are transferred to prevent downloading During the process, the upgrade fails due to insufficient resources of some node ECUs, which reduces user traffic consumption and resource waste.
  • FIG. 5 it is a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • the OTA server calls the TransferVehiclePackage interface of the main ECU.
  • the OTA server calls the TransferVehiclePackage interface of the main ECU to send the control information such as the upgrade strategy and the name and size of the software upgrade package of each node ECU to the main ECU. For example, by calling the TransferVehiclePackage interface of the main ECU, the name and size of the software package of the node ECU1 and the name and size of the software package of the node ECU2 are sent to the main ECU.
  • the main ECU calls the target interface of the node ECU1.
  • a new interface is defined, so that the main ECU can centrally obtain whether the remaining storage space of all node ECUs is sufficient to store the respective software packages.
  • the parameter value of the target interface can be the size of the software package of each node ECU.
  • Table 1 presents a way of defining a target interface.
  • the name of the target interface is TransferCheck
  • the input parameter value of the target interface is the size of the package (size)
  • the return value of the target interface is true or false.
  • true can represent that the remaining storage space of the node ECU is enough to store its software package
  • false can represent that the remaining storage space of the node ECU is not enough to store its software package.
  • the node ECU checks whether the respective storage space is sufficient to store the respective software package.
  • ECU1 that is, the main ECU calls the target interface of the node ECU1, and the parameter value of the target interface includes the size of the software package of the node ECU1.
  • the node ECU1 detects the remaining storage space, and determines whether the remaining space is sufficient to store the upgrade package of the node ECU1.
  • the node ECU1 returns the calling result of the target interface of the node ECU1.
  • the node ECU1 In response to the main ECU calling the target interface, the node ECU1 returns a calling result of the target interface to the main ECU, where the calling result may indicate whether the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1. For example, true or false when returning the result of the call.
  • the main ECU calls the target interface of the node ECU2.
  • the main ECU calls the target interface of the node ECU2, and the parameter value of the target interface includes the size of the software package of the ECU2.
  • the ECU2 detects the remaining storage space, and determines whether the remaining space is sufficient to store the upgrade package of the ECU2.
  • the node ECU2 returns the calling result of the target interface of the node ECU2.
  • the node ECU2 In response to the main ECU calling the target interface, the node ECU2 returns a calling result of the target interface to the main ECU, where the calling result may indicate whether the node ECU2 has enough remaining storage space to store the upgrade package of the node ECU2. For example, true or false when returning the result of the call.
  • the main ECU sends feedback information to the OTA server according to the acquired call result of the target interface of the node ECU.
  • steps 502 to 506 are described with the node ECU including node ECU1 and node ECU2. If other node ECUs are also included, the process of calling the target interface can also be understood with reference to steps 502 to 506.
  • the master ECU determines that all node ECUs have enough storage space to store their respective software packages according to the calling results of the target interfaces of all node ECUs, it sends a feedback message to the OTA server, which is used to instruct the OTA to perform distributed download. That is, the OTA server is instructed to send the software package of each node ECU to the corresponding node ECU. For example, if the node ECU only includes node ECU1 and node ECU2, there are the following three situations:
  • the main ECU sends the OTA to the The server sends feedback messages.
  • the main ECU does not Send a feedback message to the OTA server.
  • the OTA server also does not send ECU1's software package to ECU1.
  • the main ECU does not Send a feedback message to the OTA server.
  • the OTA server also does not send ECU1's software package to ECU2.
  • the main ECU may send feedback information to the OTA server when sending the status information.
  • AutoSar it is stipulated that the main ECU sends status information to the OTA server to notify the current upgrade status of the OTA server.
  • the upgrade status may include the stage of downloading the upgrade package, the stage of installing the upgrade package, and the stage of activating the upgrade package, etc. Wait.
  • new state information such as adding first state information, may be added.
  • the main ECU determines that all the node ECUs have enough storage space to store their respective software packages according to the calling results of the target interfaces of all the node ECUs, when the main ECU sends the status information to the OTA server, it sends the first status information, the first status information.
  • the status information is used to notify the OTA server that the distributed download can be performed.
  • the OTA server After receiving the first status information, the OTA server directly sends the software package of each node ECU to the corresponding node ECU, without forwarding it through the main ECU.
  • the OTA server calls the TransferData interface of the node ECU1.
  • the OTA server determines according to the feedback message that the software package of the node ECU can be sent to the respective node ECU, the OTA server calls the TransferData interface of each node to send the software package to the respective node ECU.
  • the feedback message can be status information sent by the main ECU, and the status information is used to indicate that the OTA server can perform distributed download. After the OTA server receives the status information, it directly sends the software package of each node ECU to the corresponding node ECU , no longer forwarded by the main ECU.
  • the OTA server can call the TransferData interface of the node ECU1, and the parameter value of the TransferData interface is the software package of the node ECU1, so as to send the software package of the node ECU1 to the node ECU1.
  • the method may further include 508 .
  • the node ECU1 returns the calling result of the TransferData interface of the node ECU1.
  • the node ECU1 may return the calling result, which is used to notify the OTA server that the receiving has been successful or the receiving has failed.
  • the OTA server calls the TransferData interface of the node ECU2.
  • the OTA server calls the TransferData interface of the node ECU2.
  • the method may further include 510: The node ECU2 returns the calling result of the TransferData interface of the node ECU2.
  • Steps 509 and 510 can be understood with reference to steps 507 and 508. It should be noted that if other node ECUs are included, they can also be understood with reference to the interaction process between ECU1 and the OAT server or ECU2 and the OTA server, that is, referring to steps 502 to step 509 for understanding.
  • a way is provided to enable the master ECU to obtain in advance whether the remaining storage space of all node ECUs is sufficient, when the remaining storage space of all node ECUs is sufficient to store their respective software packages. , and then transmit the software package to prevent the upgrade failure due to insufficient resources of some node ECUs during the download process, and reduce the user traffic consumption and resource waste caused by this.
  • a new interface such as a target interface, can be defined in AutoSar, so that the main ECU can obtain whether the remaining storage space of all node ECUs is sufficient, and can add new status information.
  • the ECU can notify the OTA server through the new status information that a distributed download is available, that is, the software package of each node ECU is directly sent to the respective node ECU.
  • the master ECU may notify the OTA server through new status information that distributed downloading is possible, that is, the software package of each node ECU is directly sent to the respective node ECU.
  • the OTA server can also perform distributed download in other ways, that is, directly sending the software package of each node ECU to the respective node ECU. The following description will be given with reference to a specific embodiment.
  • FIG. 6 it is a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • the OTA server calls the TransferVehiclePackage interface of the main ECU.
  • the OTA server calls the TransferVehiclePackage interface of the main ECU to send the control information such as the upgrade strategy, the name and size of the software upgrade package of each node ECU, and the download address of the software package of each node ECU to the main ECU.
  • the control information such as the upgrade strategy, the name and size of the software upgrade package of each node ECU, and the download address of the software package of each node ECU to the main ECU.
  • the name and size of the software package of the node ECU1 and the download address of the software package of the node ECU1 the name and size of the software package of the node ECU2 and the download address of the software package of the node ECU2 are sent to the main ECU. ECU.
  • the download address may be in the form of a uniform resource locator (URL).
  • URL uniform resource locator
  • the main ECU calls the target interface of the node ECU1.
  • the node ECU1 returns the calling result of the target interface of the node ECU1.
  • the main ECU calls the target interface of the node ECU2.
  • the node ECU2 returns the calling result of the target interface of the node ECU2.
  • Steps 602 to 605 can be understood with reference to steps 502 to 505 in the embodiment corresponding to FIG. 5 , and details are not repeated here.
  • the main ECU sends the download address of the software package of the node ECU1 to the node ECU1.
  • the main ECU determines according to the calling results of the target interfaces of all the node ECUs that all the node ECUs have enough storage space to store their respective software packages, the main ECU sends the download addresses of the respective software packages to each node ECU.
  • the node ECU includes node ECU1 and node ECU2, and when both node ECU1 and node ECU2 have enough storage space to store their respective software packages, the master ECU sends the node ECU1's software package download address to node ECU1. The master ECU sends the download address of the software package of the node ECU2 to the node ECU2.
  • the master ECU may also send the download address of the software package of the node ECU1 to the node ECU1 when the master ECU obtains that the node ECU1 has enough storage space.
  • the main ECU may add an input parameter to the TransferStart interface when calling the TransferStart interface of the node ECU, where the newly added input parameter is the download address of the software package of each node ECU.
  • the main ECU calls the TransferStart interface of node ECU1, and the TransferStart interface includes new parameters.
  • the value of the new parameters is the download address of the software package of node ECU1.
  • the main ECU calls the TransferStart interface of node ECU2
  • the TransferStart interface Including new parameters the value of the new parameters is the download address of the software package of the node ECU2.
  • the node ECU1 sends a request message to the OTA server according to the obtained download address of the software package of the node ECU1.
  • the node ECU1 After receiving the download address of the software package of ECU1, the node ECU1 sends a request message to the OTA server.
  • the request message carries the download address of the software package of ECU1.
  • the request message is used to request the OTA server to send the software package of the node ECU1. to node ECU1.
  • a new interface can be defined, such as a second interface.
  • the parameter of the second interface is the download address of the software package.
  • the OTA server can The software package is sent to the corresponding node ECU.
  • the node ECU1 can call the second interface of the OTA server
  • the parameter of the second interface is the download address of the software package of the node ECU1
  • the OTA server can call the node ECU1 according to the parameter value of the second interface in response to the second interface being called.
  • the software package is sent to node ECU1.
  • the interface of the OTA server in this application all refers to the UCM interface of the OTA server, which will not be repeated in this application.
  • Table 2 provides a way of defining the second interface. Assuming that the name of the second interface is GetTransferStart, the input parameters of the second interface include the download address of the software package. In some possible implementations, the input parameters of the second interface may also include the name of the software package or the identification ID of the software package.
  • interface name GetTransferStart input parameter 1 the name of the package input parameter 2
  • the identification ID of the package input parameter 2 The download address of the software package
  • the OTA server invokes the TransferData interface of the node ECU1.
  • the OTA server In response to the request message sent by the node ECU1, the OTA server sends the software package of the node ECU1 to the node ECU1.
  • the OTA server can call the TransferData interface of the node ECU1 to send the software package of the ECU1 to the node ECU1.
  • step 609 may also be included, in which the node ECU1 returns the calling result of the TransferData interface of the node ECU1.
  • the node ECU1 may return the calling result, which is used to notify the OTA server that the receiving has been successful or the receiving has failed.
  • the master ECU sends the download address of the software package of the node ECU2 to the node ECU2.
  • the master ECU determines according to the calling results of the target interfaces of all node ECUs, all node ECUs have enough storage space to store their respective software packages, then the master ECU sends the download addresses of the respective software packages to each node ECU.
  • the master ECU sends the node ECU2 the download address of the software package of the node ECU2 to the node ECU2.
  • the node ECU2 sends a request message to the OTA server according to the obtained download address of the software package of the node ECU2.
  • the OTA server calls the TransferData interface of the node ECU2.
  • step 613 may also be included, in which the node ECU2 returns the calling result of the TransferData interface of the node ECU2.
  • Steps 610 to 613 can be understood with reference to steps 606 to 609 . If other node ECUs are also included, it can also be understood with reference to the interaction process between ECU1 and the OAT server, that is, with reference to steps 602 to 609 .
  • the main ECU still controls the upgrade process of each node ECU, such as controlling the order of downloading software packages of each node ECU, but the software packages of each node ECU are controlled by the OTA server. Sending it directly to each node ECU, it is no longer necessary for the main ECU to cache the software package of each node ECU, and there is no need for the main ECU to forward the upgrade package of each node ECU. In this way, the main ECU does not need to have high storage space and Processing performance can also improve the efficiency of upgrades.
  • the solution provided by this application supports simultaneous download of multiple node ECUs, thereby improving the download efficiency.
  • the data transmission system provided in this application defines a new interface.
  • all node ECUs have enough storage space to store their respective software packages, they can send their respective software packages to each node ECU, which can further improve the upgrade performance. effectiveness.
  • the software upgrade process in the above-mentioned AutoSar is improved to solve the problem of dependence on the storage space and processing performance of the main ECU during the software upgrade process in the existing AutoSar.
  • the solution provided by the present application can also solve the problem of dependence on the storage space and processing performance of the ECU in other ways. The following description will be given with reference to several specific embodiments.
  • FIG. 7a it is a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • the node ECU1 sends the size of the remaining storage space of the node ECU1 to the master ECU.
  • the node ECU2 sends the size of the remaining storage space of the node ECU2 to the master ECU.
  • the master ECU sends the size of the remaining storage space of each node ECU to the OTA server.
  • Node ID The size of the remaining storage space ID of ECU1
  • the size of the remaining storage space of ECU1 ID of ECU2 The size of the remaining storage space of ECU2
  • the master ECU can send the size of the remaining storage space of each node ECU to the OTA server in the form of a table.
  • the node ECU may also directly send the size of the respective remaining storage space to the OTA server without forwarding by the main ECU.
  • the OTA server calls the TransferVehiclePackage interface of the main ECU.
  • the OTA server determines according to the size of the remaining storage space of each node ECU and the size of the software package of each node ECU, and each node ECU has enough storage space to store its own software package, the OTA server calls the TransferVehiclePackage interface of the main ECU. For example 3, it is assumed that the node ECU only includes the node ECU1 and the node ECU2. There are three possible situations:
  • the remaining storage space of node ECU1 obtained by the OTA server is not less than the size of the software package of ECU1, and the remaining storage space of ECU2 obtained is not less than the size of the software package of ECU2, then the OTA server calls the TransferVehiclePackage interface of the main ECU, In order to send control information such as upgrade strategy to the main ECU.
  • the remaining storage space of node ECU1 obtained by the OTA server is not less than the size of the software package of node ECU1, and the remaining storage space of node ECU2 obtained is smaller than the size of the software package of node ECU2, then the OTA server determines that the upgrade cannot be successful at present. , does not start the program to upgrade the package.
  • the OTA server determines that the upgrade cannot be successful at present. , does not start the program to upgrade the package.
  • the OTA server invokes the TransferData interface of the node ECU1.
  • step 706 may also be included, in which the node ECU1 returns the calling result of the TransferData interface of the node ECU1.
  • the OTA server invokes the TransferData interface of the node ECU2.
  • step 708 may also be included, in which the node ECU2 returns the calling result of the TransferData interface of the node ECU2.
  • Steps 705 to 708 can be understood with reference to steps 406 , 407 , and steps 411 and 412 in the embodiment corresponding to FIG. 4 .
  • node ECUs it can be understood by referring to the steps performed by the node ECU1 and the node ECU2, and details are not repeated here.
  • FIG. 7b it is a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • the node ECU1 sends the size of the remaining storage space of the node ECU1 to the master ECU.
  • the node ECU2 sends the size of the remaining storage space of the node ECU2 to the master ECU.
  • the OTA server calls the TransferVehiclePackage interface of the main ECU.
  • the OTA server calls the TransferVehiclePackage interface of the master ECU to send the size of the packages of all node ECUs to the master ECU.
  • the node ECU1 and node ECU2 are used as examples for description in this embodiment. If other node node ECUs are also included, it can be understood by referring to the steps performed by node ECU1 and node ECU2, which will not be repeated here.
  • the master ECU sends a notification message to the OTA server according to the relationship between the size of the software package of the node ECU and the remaining storage space of the node ECU.
  • the main ECU If the main ECU is determined according to the size of the remaining storage space of each node ECU and the size of the software package of each node ECU, and each node ECU has enough storage space to store its own software package, the main ECU sends a notification message to the OTA server to make The OTA server sends the software package to the node ECU.
  • the node ECU only includes the node ECU1 and the node ECU2. There are three possible situations:
  • the remaining storage space of node ECU1 obtained by the master ECU is not less than the size of the software package of node ECU1, and the remaining storage space of ECU2 obtained is not less than the size of the software package of ECU2, then the master ECU sends a notification message to the OTA server , make the OTA server send the software package of the node ECU1 to the node ECU1, and make the OTA server send the software package of the node ECU2 to the node ECU2.
  • the master ECU will not send the data to the OTA server. Notification message, i.e. do not start the process of downloading the package.
  • the master ECU will not send the data to the OTA server. Notification message, i.e. do not start the process of downloading the package.
  • the OTA server invokes the TransferData interface of the node ECU1.
  • step 806 may also be included, in which the node ECU1 returns the calling result of the TransferData interface of the node ECU1.
  • the OTA server invokes the TransferData interface of the node ECU2.
  • step 808 may also be included, in which the node ECU2 returns the calling result of the TransferData interface of the node ECU2.
  • Steps 805 to 808 can be understood with reference to steps 406, 408, and steps 411 and 412 in the embodiment corresponding to FIG. 4 .
  • a data transmission method provided by an embodiment of the present application has been introduced above.
  • An embodiment of the present application further provides a data transmission system.
  • the data transmission system includes an OTA server, a master ECU, and a plurality of node ECUs.
  • the OTA server is the OTA server described in the corresponding embodiments described in Figures 4 to 7b
  • the main ECU is the main ECU described in the corresponding embodiments described in Figures 4 to 7b
  • the node ECU is described in Figures 4 to 7b.
  • the node ECUs described in the corresponding embodiments can be understood with reference to the node ECU1 and the node ECU2, for example.
  • the embodiments of the present application further provide an OTA cloud server, a master ECU, and a node ECU.
  • An OTA cloud server a master ECU
  • a node ECU a node ECU
  • FIG. 8 it is a schematic structural diagram of a data transmission system according to an embodiment of the present application.
  • the data transmission system includes an OTA server, a main ECU and multiple node ECUs.
  • the node ECU may include an upgrade configuration management UCM module, and the UCM module of the node ECU is used to obtain that when the target interface of the node ECU is called, check the remaining storage space, and return the first call result, and the parameter value of the target interface can be Including the size of the software package of the node ECU, the first call result indicates whether the remaining storage space is not less than the size of the software package of the node ECU.
  • the UCM module of the node ECU is also used to receive the software package of the node ECU sent by the OTA server when the remaining storage space is not less than the size of the software package of the node ECU.
  • the target interface is the TransferStart interface
  • the first call result may include a first parameter value
  • the first parameter is used to instruct the OTA server to send the A node ECU sends the software package of that node ECU.
  • the UCM module of the node ECU is further configured to obtain the download address of the software package of the node ECU. According to the obtained download address, the interface of the OTA server is called, and the parameter value of the interface is the download address of the software package of the node ECU, so that the OTA server sends the software package of the node ECU to the UCM module in response to the interface being called.
  • the OTA server may include an upgrade configuration management UCM module, and the UCM module of the OTA server is used to call the TransferData interface to send the node ECU's software package to the node ECU.
  • the UCM module of the OTA server is specifically configured to call the TransferData interface of the node ECU when the first parameter value is obtained.
  • the first parameter value is the first parameter value returned by the node ECU in response to the TransferStart interface being called.
  • the UCM module of the OTA server is further configured to call the TransferVehiclePackage interface of the vehicle software package of the main ECU, and the parameter value of the TransferVehiclePackage interface may include the download address of the software package of each node ECU in the multiple node ECUs , so that the main ECU sends the download address of the software package of the node ECU to the node ECU, so that the node ECU calls the interface of the UCM module according to the download address of the node ECU, and the parameters of the interface can include the software package of the node ECU. download link.
  • the UCM module is specifically configured to send the software package of the node ECU to the node ECU in response to the node ECU calling the interface.
  • the master ECU may include a UCM Master module, the UCM Master module is used to call the target interface of the node ECU, and the parameter value of the target interface may include the size of the software package of the node ECU, so that the node
  • the ECU checks the remaining storage space of the node ECU.
  • the UCM Master module is further configured to receive the first call result of the target interface sent by the node ECU, where the first call result indicates whether the remaining storage space of the node ECU is not less than the size of the software package of the node ECU.
  • the first invocation result may include the first parameter value, the UCM Master module, which is further used to send the first parameter value to the OTA server.
  • the first feedback message may include a first parameter value, so that when the OTA server obtains the first parameter value, it calls the TransferData interface of the node ECU to send the node ECU's software package to the node ECU.
  • the UCM Master module is further configured to receive a first calling result of each node ECU in the multiple node ECUs, where the node ECU is any one of the multiple node ECUs.
  • the second parameter value is sent to the OTA server, so that when the OTA server obtains the second parameter value, the node ECU is called The TransferData interface.
  • the embodiment of the present application further provides an ECU, where the ECU is the node ECU in the embodiment corresponding to FIG. 8 above. This can be understood with reference to the node ECUs described in the corresponding embodiments described in Figures 4 to 7b.
  • the embodiment of the present application further provides an ECU, and the ECU is the main ECU in the embodiment corresponding to FIG. 8 above. This can be understood with reference to the main ECU described in the corresponding embodiments described in Figures 4 to 7b.
  • the embodiment of the present application further provides an OTA server, where the OTA server is the OTA server in the embodiment corresponding to FIG. 8 above.
  • the OTA server is the OTA server in the embodiment corresponding to FIG. 8 above. This can be understood with reference to the OTA server described in the corresponding embodiments described in Figures 4 to 7b.
  • an embodiment of the present application further provides a communication device.
  • the communication device may be the node ECU in the embodiment corresponding to FIG. 4 to FIG. 7b, the communication device may also be the main ECU in the embodiment corresponding to FIG. 4 to FIG. 7b, and the communication device may also be the embodiment of FIG. 4 to FIG. 7b
  • the OTA server in the corresponding embodiment.
  • the communication device may include a processor 1001.
  • the processor 1001 is coupled to a memory 1002, and the memory stores program instructions.
  • the main ECU in the embodiments corresponding to FIG. 4 to FIG. 7b is executed.
  • the steps executed by the node ECU in the embodiments corresponding to FIG. 4 to FIG. 7 b are executed.
  • the steps executed by the OTA server in the embodiments corresponding to FIG. 4 to FIG. 7b are executed.
  • FIG. 10 is a schematic structural diagram of a vehicle provided by an embodiment of the present application.
  • the node ECU and the main ECU described in the embodiments corresponding to FIG. 4 to FIG. 7 b may be deployed on the vehicle.
  • the vehicle may include a display screen 1101 and an ECU 1102 .
  • the ECU 1102 is the node ECU and the main ECU described in the above embodiments corresponding to FIG. 4 to FIG. 7 b .
  • the vehicle may interact with the user through the display screen, for example, a prompt message may be sent through the display screen, where the prompt message is used to instruct the node ECU to download the software package of the first ECU from the OTA server.
  • FIG. 11 it is a schematic diagram of an application scenario of a data transmission method provided by an embodiment of the present application.
  • the solutions provided by the embodiments of the present application allow the user to choose whether to upgrade the software in the car, or directly upgrade the software in the car by default.
  • a prompt message is sent, indicating that each device is downloading the software package from the OTA server.
  • the above vehicles may be cars, trucks, motorcycles, buses, boats, lawn mowers, recreational vehicles, playground vehicles, construction equipment, trams, golf carts, etc., which are not particularly limited in the embodiments of the present application.
  • the embodiments of the present application also provide a computer-readable storage medium, where a program for downloading a software package is stored in the computer-readable storage medium, and when the computer is running on the computer, the computer is made to execute the programs shown in the aforementioned FIG. 4 to FIG. 7 b .
  • the embodiments of the present application also provide a computer-readable storage medium, where a program for downloading a software package is stored in the computer-readable storage medium, and when the computer is running on the computer, the computer is made to execute the programs shown in the aforementioned FIG. 4 to FIG. 7 b .
  • the embodiments of the present application also provide a computer program product, which, when driving on the computer, causes the computer to execute the steps executed by the ECU in the method described in the embodiments shown in the foregoing FIG. 4 to FIG. 7 b . Or when it is driving on the computer, the computer is caused to execute the steps performed by the OTA in the method described in the embodiments shown in the foregoing Figs. 4 to 7b.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server, or data center is by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a server, data center, etc., which includes one or more available media integrated.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and the like.
  • An embodiment of the present application also provides a circuit system, the circuit system includes a processing circuit and a storage circuit, the processing circuit and the storage circuit are configured to execute the ECU or The steps performed by the OTA server.
  • the processing circuit can be any suitable type of computing unit, such as a microprocessor, a digital signal processor (DSP), a field programmable gate array (FPGA) or an application specific integrated circuit (application specific integrated circuit). circuit fpga, ASIC) or any other form of circuit.
  • the memory circuit may be volatile and/or non-volatile.
  • the storage circuit may be a register or a cache.
  • the volatile storage circuit may include a cache memory
  • the non-volatile storage circuit may include a flash memory.
  • the ECU or OTA server provided in this embodiment of the present application may specifically be a chip, and the chip includes: a processing unit and a communication unit, the processing unit may be, for example, a processor, and the communication unit may be, for example, an input/output interface, a pin, or a circuit Wait.
  • the processing unit can execute the computer-executed instructions stored in the storage unit, so that the chip in the server executes the data transmission method described in the embodiments shown in FIG. 4 to FIG. 7b.
  • the storage unit is a storage unit in the chip, such as a register, a cache, etc.
  • the storage unit may also be a storage unit located outside the chip in the wireless access device, such as only Read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.
  • ROM Read-only memory
  • RAM random access memory
  • the device embodiments described above are only schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be A physical unit, which can be located in one place or distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.
  • U disk mobile hard disk
  • ROM read-only memory
  • RAM magnetic disk or optical disk
  • a computer device which may be a personal computer, server, or network device, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Multimedia (AREA)

Abstract

本申请实施例公开了一种数据传输系统,包括空中下载OTA服务器、主电子控制单元ECU和节点ECU。OTA服务器,用于调用主ECU的第一接口。主ECU,用于响应于OTA服务器调用第一接口,获取目标软件包的大小。主ECU,还用于调用节点ECU的第二接口。节点ECU,用于响应于主ECU调用第二接口,获取目标软件包的大小,并检查节点ECU的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收OTA服务器发送的目标软件包。本申请提供的方案,可以应用在智能汽车、网联汽车、新能源汽车、自动驾驶汽车上。通过本申请提供的方案,在通过OTA技术实现车内软件升级的过程中,减少对主ECU的存储能力以及处理能力的依赖,提升升级效率。

Description

一种数据传输系统、数据传输方法,智能车以及装置 技术领域
本申请涉及车辆网络技术领域,尤其涉及一种数据传输系统、数据传输方法,智能车以及装置。
背景技术
汽车开放系统架构(Automotive Open System Architecture,AutoSar),是由全球汽车制造商、部件供应商及电子软件系统公司联合建立,是一个开放的、标准化的软件架构。是对汽车技术开发一百多年来的经验总结。AutoSar定义了一系列系统服务接口,利用这些接口可以实现不同软件的兼容互通和互操作,简化了汽车软件的开发,方便软件在不同车型上的部署。
在AutoSar中,可以通过空中下载(over the air,OTA)技术实现汽车内软件的升级。可以通过OTA技术将云端服务器中的软件包下载到本地。由于汽车内包括多个电子控制单元(electronic control unit,ECU),多个ECU都有软件升级的需求,需要在多个ECU中的至少一个ECU上安装升级配置管理主控(update and configuration management master,UCM Master)模块,在其它有软件升级需求的ECU上安装升级配置管理(update and configuration management,UCM)模块。通过OTA技术将云端服务器中的软件包下载到安装有UCM Master模块的ECU,再通过安装有UCM Master模块的ECU将软件包分发给多个安装有UCM模块的ECU,以完成整车的软件升级。
发明内容
本申请实施例提供一种数据传输系统,数据传输方法,智能车以及装置。通过本申请提供的方案,在通过OTA技术实现车内软件升级的过程中,减少对主ECU的存储能力以及处理能力的依赖,提升升级的效率。
为达到上述目的,本申请实施例提供如下技术方案:
本申请第一方面提供一种数据传输系统,该数据传输系统包括空中下载OTA服务器、主电子控制单元ECU和节点ECU。OTA服务器,用于调用主ECU的第一接口。可以将接口理解为第一设备与第二设备之间的交互方法和规则。主ECU,用于响应于OTA服务器调用第一接口,获取目标软件包的大小,本申请有时也将目标软件包简称为软件包,或者将目标软件包称为升级包或者软件升级包,软件包中包括用于节点ECU升级的数据。即OTA服务器通过调用主ECU的第一接口,可以将目标软件包的大小向主ECU发送。主ECU,还用于调用节点ECU的第二接口。节点ECU,用于响应于主ECU调用第二接口,获取目标软件包的大小,并检查节点ECU的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收OTA服务器发送的目标软件包。本申请提供的数据传输系统可以是AutoSar,当本申请提供的数据传输系统是AutoSar时,主ECU是指车内ECU中安装有UCM Master模块的ECU,节点ECU是指车内ECU中安装有UCM模块的ECU,接口也可以理解为第一设备的第一模块与第二设备的第二模块之间的交互方法和规则。在本申请提供的方案中,OTA服务器可以通过多种方式获知是否向第一ECU发送第一ECU的软件包。由第一方面可知,第一方面提供的方案节点ECU的目标软件包由OTA服务器直接发送给节 点ECU,不再需要主ECU缓存节点ECU的软件包,也无需主ECU转发节点ECU的升级包,通过这样的方式,主ECU无需有较高的存储空间和处理性能。在通过OTA技术实现车内软件升级的过程中,减少对主ECU的存储能力以及处理能力的依赖。
可选地,结合上述第一方面,在第一种可能的实施方式中,节点ECU,还用于向主ECU返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小。主ECU,还用于获取到第一参数值时,调用OTA服务器的第三接口。OTA服务器,还用于响应于主ECU调用第三接口,向节点ECU发送目标软件包。由第一方面第一种可能的实施方式可知,给出了一种具体的方式使OTA服务器获知直接向节点ECU发送目标软件包。可以通过在第一调用结果中增加第一参数值的方式,使OTA服务器获知直接向节点ECU发送目标软件包。
可选地,结合上述第一方面第一种可能的实施方式,在第二种可能的实施方式中,第二接口是开始传输TransferStart接口。TransferStart接口是AutoSar中定义的接口。在第一方面第二种可能的实施方式中,在现有的AutoSar定义的TransferStart接口的调用结果中增加一个参数,可以通过该参数指示OTA服务器向节点ECU发送目标软件包。由第一方面第二种可能的实施方式可知,这种方案对现有的AutoSar规定的软件升级的流程改动很小,在节点ECU的TransferStart接口的调用结果中增加一个参数,并将该参数反馈给OTA服务器,使OTA服务器获知可以进行分布式下载,将节点ECU的目标软件包直接发送给节点ECU,无需经过主ECU。
可选地,结合上述第一方面或第一方面第一种或第一方面第二种可能的实施方式,在第三种可能的实施方式中,节点ECU的数量为N,N为大于1的整数。主ECU,具体用于获取到N个第一参数值时,调用OTA服务器的第三接口。由第一方面第三种可能的实施方式可知,当数据传输系统中包括多个节点ECU时,主ECU获取到多个节点ECU中的每个节点ECU的剩余存储空间均不小于各自的软件包的大小时,才调用OTA服务器的第三接口,使OTA服务器向节点ECU发送各自的软件包。OTA服务器的第三接口被调用后,可以分别向每个节点ECU发送各自的软件包,也可以同时向多个节点ECU发送各自的软件包。通过第一方面第三种可能的实施方式可知,使主ECU提前获取所有的节点ECU的剩余存储空间是否都足够,当所有的节点ECU的剩余存储空间都足够存储各自的软件包时,再传输软件包,防止下载过程中由于部分节点ECU的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。此外,在这种实施方式中,可以将第二接口理解为本方案在AutoSar中新定义的一个接口,主ECU可以第一调用多个节点ECU的第二接口,一次获取多个第一调用结果。
可选地,结合上述第一方面或第一方面第一种或第一方面第二种可能的实施方式,在第四种可能的实施方式中,节点ECU的数量为N,N为大于1的整数。主ECU,具体用于获取到M个第一参数值时,不调用OTA服务器的第三接口,M为小于N且大于1的整数。由第一方面第三种可能的实施方式可知,主ECU没有获取到多个节点ECU中的每个节点ECU的剩余存储空间都不小于各自的软件包大小时,就不再调用OTA服务器的第三接口,即如果多个节点ECU中有部分节点ECU的剩余存储空间不足以存储其软件包时,OTA服务器不向多个节点ECU中的任何一个节点ECU发送器软件包。防止下载过程中由于部分 节点ECU的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。
可选地,结合上述第一方面,在第五种可能的实施方式中,主ECU,还用于响应于OTA服务器调用第一接口,获取目标软件包的下载地址。节点ECU,还用于向主ECU返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小。由第一方面第四种可能的实施方式可知,给出了一种具体的方式使OTA服务器获知直接向节点ECU发送目标软件包,OTA服务器可以向主ECU发送节点ECU的目标软件包的下载地址,当节点ECU的剩余存储空间足够存储其目标软件包时,主ECU向节点ECU发送下载地址,使节点ECU可以根据下载地址请求OTA服务器发送该节点ECU的目标软件包。
可选地,结合上述第一方面第五种可能的实施方式,在第六种可能的实施方式中,第一接口是传输整车软件包TransferVehiclePackage接口。TransferVehiclePackage接口是AutoSar中定义的接口。第一方面第六种可能的实施方式中,本方案在现有的TransferVehiclePackage接口中增加目标软件包的下载地址,使主ECU可以通过TransferVehiclePackage接口获取到目标软件包的下载地址。给出了一种具体的基于AutoSar,实现OTA服务器直接向节点ECU发送软件包的方式,增加方案的多样性。
可选地,结合上述第一方面第五种或第一方面第六种可能的实施方式,在第七种可能的实施方式中,节点ECU的数量为N,N为大于1的整数。主ECU,具体用于获取到N个第一参数值时,调用节点ECU的第四接口。由第一方面第七种可能的实施方式可知,当数据传输系统中包括多个节点ECU时,主ECU获取到多个节点ECU中的每个节点ECU的剩余存储空间均不小于各自的软件包的大小时,才调用节点ECU的第四接口,使节点ECU获取其软件包的下载地址。主ECU获取到多个节点ECU中的每个节点ECU的剩余存储空间均不小于各自的软件包的大小时,可以按照从OTA处获取的发送软件包的顺序依次使每个节点ECU获取其软件包的下载地址,也可以同时向多个节点ECU发送各自的软件包的下载地址。由第一方面第七种可能的实施方式可知,当所有的节点ECU的剩余存储空间都足够存储各自的软件包时,再传输软件包,防止下载过程中由于部分节点ECU的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。
可选地,结合上述第一方面第五种或第一方面第六种可能的实施方式,在第八种可能的实施方式中,节点ECU的数量为N,N为大于1的整数。主ECU,具体用于获取到M个第一参数值时,不调用节点ECU的第四接口,M为小于N且大于1的整数。由第一方面第八种可能的实施方式可知,主ECU没有获取到多个节点ECU中的每个节点ECU的剩余存储空间都不小于各自的软件包大小时,就不再节点ECU的第四接口,即如果多个节点ECU中有部分节点ECU的剩余存储空间不足以存储其软件包时,主ECU不向多个节点ECU中的任何一个节点发送其软件包的下载地址,防止下载过程中由于部分节点ECU的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。
可选地,结合上述第一方面或第一方面第一种至第一方面第六种可能的实施方式,在第九种可能的实施方式中,数据传输系统是基于AutoSar的数据传输系统。
可选地,结合上述第一方面或第一方面第一种至第一方面第六种可能的实施方式,在第十种可能的实施方式中,节点ECU,还用于发送提示消息,所述提示消息用于指示所述 节点ECU从OTA服务器中下载所述目标软件包。
可选地,结合上述第一方面或第一方面第一种至第一方面第六种可能的实施方式,在第十一种可能的实施方式中,主ECU,还用于发送提示消息,提示消息用于指示节点ECU从OTA服务器中下载目标软件包。
本申请第二方面提供一种空中下载OTA服务器,OTA服务器包括升级配置管理UCM模块,UCM模块,用于调用主ECU的第一接口,以使主ECU响应于OTA服务器调用第一接口,获取目标软件包的大小,并调用节点ECU的第二接口,以使节点ECU响应于主ECU调用第二接口,获取目标软件包的大小,并检查节点ECU的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收OTA服务器发送的目标软件包。
可选地,结合上述第二方面,在第一种可能的实施方式中,UCM模块,还用于响应于主ECU调用UCM模块的第三接口,向节点ECU发送目标软件包,第三接口是主ECU在获取到第一参数值时调用的UCM模块的接口,第一参数值是节点ECU向主ECU返回的第一调用结果中包括的参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小。
可选地,结合上述第二方面,在第二种可能的实施方式中,UCM模块,还用于调用主ECU的第一接口,以使主ECU响应于OTA服务器调用第一接口,获取目标软件包的下载地址,以使节点ECU响应于主ECU调用第四接口,获取目标软件包的下载地址,并调用OTA服务器的第五接口。UCM模块,还用于响应于节点ECU调用UCM模块的第五接口,接收目标软件包的下载地址,并根据下载地址向节点ECU发送目标软件包。
本申请第三方面提供一种主电子控制单元ECU,主ECU包括升级配置管理主控UCM Master模块,UCM Master模块,用于响应于OTA服务器调用UCM Master模块的第一接口,获取目标软件包的大小。UCM Master模块,还用于调用节点ECU的第二接口,以使节点ECU响应于第二接口被调用,获取目标软件包的大小,并检查节点ECU的剩余存储空间,剩余存储空间不小于目标软件包的大小时,节点ECU接收OTA服务器发送的目标软件包。
可选地,结合上述第三方面,在第一种可能的实施方式中,UCM Master模块,还用于获取到第一参数值时,调用OTA服务器的第三接口,以使OTA服务器响应于第三接口被调用,向节点ECU发送目标软件包,第一参数值是节点ECU向主ECU返回的第一调用结果中包括的参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小。
可选地,结合上述第三方面第一种可能的实施方式,在第二种可能的实施方式中,节点ECU的数量为N,N为大于1的整数。UCM Master模块,具体用于获取到N个第一参数值时,调用OTA服务器的第三接口。
可选地,结合上述第三方面,在第三种可能的实施方式中,UCM Master模块,还用于响应于OTA服务器调用第一接口,获取目标软件包的下载地址。UCM Master模块,还用于获取到第一参数值时,调用节点ECU的第四接口,以使节点ECU响应于第四接口被调用,获取下载地址,并调用OTA服务器的第五接口,以使OTA服务器响应于第五接口被调用,接收下载地址,并根据下载地址向节点ECU发送目标软件包,第一参数值是节点 ECU向主ECU返回的第一调用结果中包括的参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小。
可选地,结合上述第三方面第三种可能的实施方式,在第四种可能的实施方式中,节点ECU的数量为N,N为大于1的整数。UCM Master模块,具体用于获取到N个第一参数值时,调用节点ECU的第四接口。
本申请第四方面提供一种节点电子控制单元ECU,节点ECU包括升级配置管理UCM模块,UCM模块,用于响应于主ECU在被调用第一接口后调用UCM模块的第二接口,获取目标软件包的大小,并检查节点ECU的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收OTA服务器发送的目标软件包,主ECU的第一接口被OTA服务器调用,以使主ECU响应于第一接口被调用,获取目标软件包的大小。
可选地,结合上述第四方面,在第一种可能的实施方式中,UCM模块,还用于向主ECU返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小,以使主ECU获取到第一参数值时,调用OTA服务器的第三接口,以使OTA服务器响应于主ECU调用第三接口,向节点ECU发送目标软件包。
可选地,结合上述第四方面,在第二种可能的实施方式中,UCM模块,还用于向主ECU返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小,以使主ECU获取到第一参数值时,调用节点ECU的第四接口。UCM模块,还用于响应于主ECU调用第四接口,获取目标软件包的下载地址,并调用OTA服务器的第五接口,以使OTA服务器响应于第五接口被调用,接收下载地址,并根据下载地址向节点ECU发送目标软件包。
本申请第五方面提供一种数据传输方法,包括:OTA服务器调用主ECU的第一接口,以使主ECU响应于OTA服务器调用第一接口,获取目标软件包的大小,并调用节点ECU的第二接口,以使节点ECU响应于主ECU调用第二接口,获取目标软件包的大小,并检查节点ECU的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收OTA服务器发送的目标软件包。
可选地,结合上述第五方面,在第一种可能的实施方式中,该方法还包括:OTA服务器响应于主ECU调用UCM模块的第三接口,向节点ECU发送目标软件包,第三接口是主ECU在获取到第一参数值时调用的OTA服务器的接口,第一参数值是节点ECU向主ECU返回的第一调用结果中包括的参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小。
可选地,结合上述第五方面,在第二种可能的实施方式中,该方法还包括:OTA服务器调用主ECU的第一接口,以使主ECU响应于OTA服务器调用第一接口,获取目标软件包的下载地址,以使节点ECU响应于主ECU调用第四接口,获取目标软件包的下载地址,并调用OTA服务器的第五接口。OTA服务器响应于节点ECU调用UCM模块的第五接口,接收目标软件包的下载地址,并根据下载地址向节点ECU发送目标软件包。
本申请第六方面提供一种数据传输方法,包括:主ECU响应于OTA服务器调用UCM Master模块的第一接口,获取目标软件包的大小。主ECU调用节点ECU的第二接口,以 使节点ECU响应于第二接口被调用,获取目标软件包的大小,并检查节点ECU的剩余存储空间,剩余存储空间不小于目标软件包的大小时,节点ECU接收OTA服务器发送的目标软件包。
可选地,结合上述第六方面,在第一种可能的实施方式中,该方法还包括:主ECU获取到第一参数值时,调用OTA服务器的第三接口,以使OTA服务器响应于第三接口被调用,向节点ECU发送目标软件包,第一参数值是节点ECU向主ECU返回的第一调用结果中包括的参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小。
可选地,结合上述第六方面第一种可能的实施方式,在第二种可能的实施方式中,节点ECU的数量为N,N为大于1的整数。主ECU获取到第一参数值时,调用OTA服务器的第三接口,包括:主ECU获取到N个第一参数值时,调用OTA服务器的第三接口。
可选地,结合上述第六方面,在第三种可能的实施方式中,该方法还包括:主ECU响应于OTA服务器调用第一接口,获取目标软件包的下载地址。主ECU获取到第一参数值时,调用节点ECU的第四接口,以使节点ECU响应于第四接口被调用,获取下载地址,并调用OTA服务器的第五接口,以使OTA服务器响应于第五接口被调用,接收下载地址,并根据下载地址向节点ECU发送目标软件包,第一参数值是节点ECU向主ECU返回的第一调用结果中包括的参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小。
可选地,结合上述第六方面第三种可能的实施方式,在第四种可能的实施方式中,节点ECU的数量为N,N为大于1的整数。主ECU获取到第一参数值时,调用节点ECU的第四接口,包括:主ECU获取到N个第一参数值时,调用节点ECU的第四接口。
本申请第七方面提供一种数据传输方法,包括:节点ECU响应于主ECU在被调用第一接口后调用UCM模块的第二接口,获取目标软件包的大小,并检查节点ECU的剩余存储空间,剩余存储空间不小于目标软件包的大小时,接收OTA服务器发送的目标软件包,主ECU的第一接口被OTA服务器调用,以使主ECU响应于第一接口被调用,获取目标软件包的大小。
可选地,结合上述第七方面,在第一种可能的实施方式中,该方法还包括:节点ECU向主ECU返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小,以使主ECU获取到第一参数值时,调用OTA服务器的第三接口,以使OTA服务器响应于主ECU调用第三接口,向节点ECU发送目标软件包。
可选地,结合上述第七方面,在第二种可能的实施方式中,该方法还包括:节点ECU向主ECU返回第一调用结果,第一调用结果包括第一参数值,第一参数值用于指示节点ECU的剩余存储空间不小于目标软件包的大小,以使主ECU获取到第一参数值时,调用节点ECU的第四接口。节点ECU响应于主ECU调用第四接口,获取目标软件包的下载地址,并调用OTA服务器的第五接口,以使OTA服务器响应于第五接口被调用,接收下载地址,并根据下载地址向节点ECU发送目标软件包。
本申请第八方面提供一种OTA服务器,可以包括处理器,处理器和存储器耦合,存储 器存储有程序指令,当存储器存储的程序指令被处理器执行时实现第五方面或第五方面任意一种可能的实施方式中的方法。
本申请第九方面提供一种ECU,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现第六方面或第六方面任意一种可能的实施方式中的方法。
本申请第十方面提供一种ECU,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现第七方面或第七方面任意一种可能的实施方式中的方法。
本申请第十一方面提供一种计算机可读存储介质,可以包括程序,当其在计算机上运行时,使得计算机执行如第五方面或第五方面任意一种可能的实施方式中的方法。
本申请第十二方面提供一种计算机可读存储介质,可以包括程序,当其在计算机上运行时,使得计算机执行如第六方面或第六方面任意一种可能的实施方式中的方法。
本申请第十三方面提供种计算机可读存储介质,可以包括程序,当其在计算机上运行时,使得计算机执行第七方面或第七方面任意一种可能的实施方式中的方法。
本申请第十四方面提供一种芯片系统,该芯片系统可以包括处理器,用于支持车辆实现上述第六方面或第六方面任意一种可能的实施方式中所描述的方法中所涉及的功能。
本申请第十五方面提供一种芯片系统,该芯片系统可以包括处理器,用于支持车辆实现上述第七方面或第七方面任意一种可能的实施方式中所描述的方法中所涉及的功能。
本申请第十六面提供一种计算机程序产品,当该计算机程序产品在设备上运行时,使得设备执行如第五方面或第五方面任意一种可能的实现方式所描述的方法。
本申请第十七面提供一种计算机程序产品,当该计算机程序产品在设备上运行时,使得设备执行如第六方面或第六方面任意一种可能的实现方式所描述的方法。
本申请第十八面提供一种计算机程序产品,当该计算机程序产品在设备上运行时,使得设备执行如第七方面或第七方面任意一种可能的实现方式所描述的方法。
本申请第十九方面提供一种智能汽车,智能汽车可以包括主ECU和节点ECU,主ECU是第三方面或第三方面任意一种可能的实施方式中描述的ECU,节点ECU为第四方面或第四方面任意一种可能的实施方式中描述的ECU。
本申请第二十方面提供一种智能汽车,智能汽车包括处理电路和存储电路,处理电路和存储电路被配置为执行如第六方面或第六方面任意一种可能的实现方式所描述的方法。
本申请第二十一方面提供一种智能汽车,智能汽车包括处理电路和存储电路,处理电路和存储电路被配置为执行如第七方面或第七方面任意一种可能的实现方式所描述的方法。
本申请提供一种数据传输系统,数据传输方法,智能车以及装置。通过本申请提供的方案,主ECU仍然对各个节点ECU的升级过程进行控制,但是各个节点ECU的软件包由OTA服务器直接发送给各个节点ECU上,不再需要主ECU缓存每个节点ECU的软件包,也无需主ECU转发每个节点ECU的升级包,通过这样的方式,主ECU无需有较高的存储空间和处理性能,还可以提升升级的效率。此外,本申请提供的数据传输系统,定义了新的接口,当全部的节点ECU均有足够的存储空间存储各自的软件包时,再向各个节点ECU 发送各自的软件包,防止下载过程中由于部分节点ECU的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。可以进一步提升升级的效率。
附图说明
图1为AutoSar的示意图;
图2为AutoSarR中实现软件升级的架构示意图;
图3为AutoSar中软件升级的流程示意图;
图4为本申请实施例提供的一种数据传输方法的流程示意图;
图5为本申请实施例提供的另一种数据传输方法的流程示意图;
图6为本申请实施例提供的另一种数据传输方法的流程示意图;
图7a为本申请实施例提供的另一种数据传输方法的流程示意图;
图7b为本申请实施例提供的另一种数据传输方法的流程示意图
图8为本申请实施例提供的一种数据传输系统的结构示意图;
图9为本申请实施例提供的一种通信设备的结构示意图;
图10为本申请实施例提供的一种车辆的结构示意图;
图11为本申请实施例提供的一种应用场景示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”,“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程,方法,系统,产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程,方法,产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些端口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
AutoSar是由全球汽车制造商、部件供应商及电子软件系统公司联合建立,是一个开放的、标准化的软件架构。是对汽车技术开发一百多年来的经验总结。AutoSar定义了一系列系统服务接口,利用这些接口可以实现不同软件的兼容互通和互操作,简化了汽车软件的 开发,方便软件在不同车型上的部署。AutoSar主要具备以下特点:
a、AutoSar致力于解决硬件平台不同带来的软件开发的困难,使开发者能够专注于汽车软件功能上的创新。
b、AutoSar提供标准的软件接口定义,工程师可以根据实际需求将所需要的软件组件分配到汽车的电子控制单元(electronic control unit,ECU)中,实现标准软件组件的可重用性。
c、AutoSar的应用层软件组件是独立于硬件的,应用开发者可以在应用软件中指定各个车辆功能的细节,而不用担心底层软件服务和硬件接口不兼容的问题。
参阅图1,为AutoSar的示意图。通常可以认为AutoSar包括应用软件层(application layer)和系统服务层(services layer)。
应用软件层封装了部分或全部汽车电子的功能与行为,包括对具体模块功能的实现以及对应描述,对外界仅开放定义好的接口。
系统服务层主要服务包括通信管理服务(communication management,COM)、加密服务(cryptography,CRYPTO)、日志服务(log ging&Tracing,LOG)、诊断服务(diagnostics service,DIAG)、持久化存储服务(persistency,PER)、状态管理服务(state management,SM)、执行管理服务(execution management,EXEC)、时间同步服务(time synchronization,TSYNC)、升级配置管理服务(update and configuration management,UCM),升级配置管理主控服务(update and configuration management master,UCM Master)等。本申请提供的方案主要涉及系统服务层中的UCM和UCM Master。本申请提供的实施例主要关注AUTOSAR中的系统服务层中的UCM和UCM Master。UCM和UCM Master负责管理汽车软件在车内的更新和升级,现有的标准中定义了UCM服务和UCM Master服务的接口以及交互的流程,汽车用户或厂商通过使用这些接口就可以方便地在AutoSar系统内安装、更新和卸载软件。下面结合图2和图3对AutoSar中通过UCM实现汽车软件在车内的升级过程进行说明。
参阅图2,为AutoSar中实现软件升级的架构示意图。在AUTOSAR中,可以通过OTA技术实现汽车内软件的升级。OTA是指通过无线保真(wireless fidelity,wifi),长期演进(long term evolution,LTE),第五代移动通信(5th generation,5G)等空中通讯接口完成对汽车软件的更新或升级。由于不再依托固定的场所或固定的线路,OTA升级具有传统汽车软件升级方式不具备的灵活性和便利性。可以通过OTA技术将云端服务器中的软件升级包下载到本地。本申请有时也将云端服务器称为OTA服务器或者OTA云或者OTA云服务器,这些词语表示相同的意思,本申请中的本地是指车内的ECU。由于车内包括多个ECU,多个ECU的软件都有升级的需求,并且多个ECU的升级顺序可能存在依赖关系,即需要控制多个ECU的软件升级的顺序,此外,还可能对升级的条件进行限定,比如是否可以在驾驶状态升级软件,是否需要征得用户的同意之后才能升级软件,等等。所以,需要在多个ECU中的至少一个ECU上安装控制模块,来协调多个ECU的软件升级,在AutoSar中,这个模块是UCM主控(UCM Master)模块。通常情况下,可以在网关或者车载通讯终端(telematic box,TBOX)上安装UCM Master模块。此外,在车内的其他ECU上安装UCM模块,以通过安装了UCM Master的ECU控制和协调其它需要升级的ECU上的UCM模块,以完成 整车的软件升级。下面结合图3对AutoSar中软件升级下载的交互过程进行说明。以下将安装有UCM Master模块的ECU称为主ECU,将安装有UCM模块的ECU称为节点ECU。
参阅图3,为AutoSar中软件升级的流程示意图。如图3中所示,传输系统包括OTA服务器,主ECU,以及多个节点ECU,示例性的,图3中展示了两个节点ECU,分别是节点ECU1以及节点ECU2。主ECU是指车内ECU中安装有UCM Master模块的ECU,节点ECU是指车内ECU中安装有UCM模块的ECU。AutoSar中软件升级的流程可以包括以下步骤:
301、OTA服务器调用主ECU的TransferVehiclePackage接口。
OTA服务器调用主ECU的UCM Master模块的TransferVehiclePackage接口。需要说明的是,本申请有时也将UCM Maste模块称为UCM Master服务。此外,需要说明的是,本申请中主ECU的接口是指主ECU的UCM Master模块的接口,以下对此不再重复说明。
整车升级包中主要包括升级策略等控制信息,主ECU可以根据这些信息控制各个节点ECU的升级更新的过程。比如主ECU可以根据控制信息控制各个节点ECU的升级顺序以及升级条件。升级条件可以包括是否允许在驾驶状态中升级软件,是否需要征得用户的同意之后才能升级软件,等等。
在AutoSar中,定义了UCM Master模块的整车升级包下载(TransferVehiclePackage)接口,OTA服务器可以调用主ECU的TransferVehiclePackage接口,以将升级策略等控制信息发送给主ECU。具体的,将升级策略等控制信息发送给UCM Master模块。
整车升级包还包括各个ECU的软件包的信息,比如软件包的信息可以包括包名称和大小信息。
302、OTA服务器调用主ECU的TransferStart接口。
OTA服务器调用主ECU的UCM Master服务的TransferStart接口。
本申请有时也将软件包称为软件升级包或者升级包,他们表示相同的意思,均表示ECU需要更新的软件代码或数据。在AutoSar中,定义了UCM Master服务的启动传输(TransferStart)接口,OTA服务器可以调用主ECU的UCM Master服务的TransferStart接口,以将各个节点ECU的软件升级包的名称发送给主ECU。
303、主ECU调用节点ECU1的TransferStart接口。
主ECU调用节点ECU1的UCM模块的TransferStart接口。需要说明的是,本申请中的节点ECU的接口,均指节点ECU的UCM模块的接口,以下对此不再重复说明。
比如节点ECU包括节点ECU1。
主ECU调用节点ECU1的TransferStart接口,节点ECU1的TransferStart接口的参数值是节点ECU1的软件升级包的大小。ECU1响应于TransferStart接口被调用,检测剩余存储空间,确定剩余空间是否足够存ECU1的升级包。
304、节点ECU1返回节点ECU1的TransferStart接口的调用结果。
节点ECU1的UCM模块响应于主ECU调用TransferStart接口,向主ECU返回TransferStart接口的调用结果,该调用结果可以指示节点ECU1是否有足够的剩余存储空间存储节点ECU1的升级包。
305、主ECU将获取到的节点ECU1的TransferStart接口的调用结果反馈给OTA服务 器。
306、OTA服务器调用主ECU的TransferData接口。
OTA服务器调用主ECU的UCM Master模块的TransferData接口。
如果OTA服务器根据步骤305可以确定节点ECU1有足够的存储空间,则OTA服务器将ECU1的升级包发送给主ECU。ECU1的升级包可以包括ECU1需要更新的软件代码或数据。
AutoSar定义了UCM Master模块的数据传输(TransferData)接口和UCM服务的数据传输(TransferData)接口,OTA服务器调用主ECU的UCM Master服务的TransferData接口,TransferData接口的参数值是ECU1的软件包,以将节点ECU1的软件包发送给主ECU。
307、主ECU调用节点ECU1的TransferData接口。
主ECU调用节点ECU1的UCM模块的TransferData接口,TransferData接口的参数值是ECU1的软件包,以将节点ECU1的软件包发送给节点ECU1。
308、节点ECU1返回节点ECU1的TransferData接口的调用结果。
响应于主ECU调用节点ECU1的TransferData接口,节点ECU1的UCM模块可以返回调用结果,用于通知主ECU已经接收成功或者接收失败。
309、主ECU调用节点ECU2的TransferStart接口。
主ECU调用节点ECU2的UCM模块的TransferStart接口,节点ECU2的TransferStart接口的参数值是节点ECU2的软件升级包的大小。ECU2响应于TransferStart接口被调用,检测剩余存储空间,确定剩余空间是否足够存ECU2的升级包。
310、节点ECU2返回节点ECU2的TransferStart接口的调用结果。
节点ECU2的UCM模块响应于主ECU调用TransferStart接口,向主ECU返回TransferStart接口的调用结果,该调用结果可以指示节点ECU2是否有足够的剩余存储空间存储节点ECU2的升级包。
311、主ECU将获取到的节点ECU2的TransferStart接口的调用结果反馈给OTA服务器。
312、OTA服务器调用主ECU的TransferData接口。
如果OTA服务器根据步骤309可以确定节点ECU2有足够的存储空间,则OTA服务器将ECU2的升级包发送给主ECU。ECU2的升级包包括ECU2需要更新的软件代码或数据。
OTA服务器调用主ECU的TransferData接口,以将节点ECU2的升级包发送给主ECU。
313、主ECU调用节点ECU2的TransferData接口。
比如节点ECU还包括节点ECU2。
主ECU调用节点ECU2的TransferData接口,TransferData接口的参数值是ECU2的软件包,以将节点ECU2的软件包发送给节点ECU2。
在一个可能的实施方式中,还可以包括步骤314、节点ECU2返回节点ECU2的TransferData接口的调用结果。
响应于主ECU调用节点ECU2调用节点ECU2的TransferData接口,节点ECU2可以返回调用结果,用于通知主ECU已经接收成功或者接收失败。
如果还包括其他升级包的下载,比如还包括其他节点ECU,则下载升级包的过程与节 点ECU1和ECU2的下载升级包的过程相同,参照步骤303至步骤308进行理解,或者参照步骤309至步骤314进行理解。步骤303至步骤314旨在表达主ECU向每个节点ECU发送各自的软件升级包的大小,使节点ECU检查是否有足够的可用内存的大小。
申请人发现上述AutoSar中软件升级的流程存在缺陷,在上述升级包的传输流程中,主ECU需要缓存所有节点ECU的软件包,再将节点ECU的软件包转发给对应的节点ECU,比如步骤306和步骤307,以及步骤312和步骤313。这种设计是为了使主ECU可以根据控制信息控制各个节点ECU的升级,协调多个节点ECU的升级过程。比如控制各个节点ECU的升级顺序,包括控制各个节点ECU的下载升级包的顺序,安装升级包的顺序,激活升级包的顺序等等。但是,这种设计对主ECU的存储空间和处理性能要求较高,如果主ECU的存储空间不足,可能会存在下载升级包失败的情况,如果主ECU的处理性能不高的话,会影响下载的效率,即传输升级包的速度会比较慢,从而影响整车升级的效率。此外,申请人发现,上述设计在某些节点ECU没有足够的存储空间时,有足够存储空间的节点ECU仍然要下载各自的软件包,在这种情况下,如果没有足够的存储空间的节点ECU和有足够存储空间的节点ECU在升级顺序上存在依赖关系,则有足够的存储空间的节点即使下载了升级包也可能升级失败,浪费存储资源,影响升级的效率。举例说明,比如节点ECU1有足够的存储空间,从主ECU中下载了节点ECU1的软件包,节点ECU2没有足够的存储空间,主ECU不会给节点ECU2发送节点ECU2的软件包,如果节点ECU1和节点ECU2在升级上存在依赖关系,则节点ECU1即使下载了节点ECU1的软件包,也可能升级失败,浪费了节点ECU1的存储空间,也影响了升级的效率。需要说明的是,除了节点ECU在升级顺序上存在依赖关系可能导致升级失败,还可能有其他因为部分节点ECU没有足够的存储空间导致的升级失败。
为了解决上述问题,本申请提供一种数据传输系统。主ECU仍然对各个节点ECU的升级过程进行控制,比如主ECU可以获知每一个节点ECU的升级状态,具体的,在本申请中主ECU仍然可以获知节点ECU的下载状态,比如控制某个节点ECU下载软件包,控制某个节点ECU不下载软件包,控制多个节点ECU下载各自的软件包的顺序等等。换句话说,主ECU可以控制多个节点ECU同时下载软件包,还是按照一定的下载顺序下载软件包。或者说主ECU可以控制是否使节点ECU下载软件包。在此基础上,即在主ECU仍然对各个节点ECU的升级过程进行控制的基础上,各个节点ECU的软件包由OTA服务器直接发送给各个节点ECU上,不再需要主ECU缓存每个节点ECU的软件包,也无需主ECU转发每个节点ECU的升级包。通过这样的方式,主ECU无需有较高的存储空间和处理性能,还可以提升升级的效率。此外,本申请提供的数据传输系统,定义了新的接口,当全部的节点ECU均有足够的存储空间存储各自的软件包时,再向各个节点ECU发送各自的软件包,可以进一步提升升级的效率。
需要说明的是,本申请实施例提供的数据传输系统可以基于AutoSar,也可以基于其他用于车辆内ECU升级的数据传输系统,本申请以基于AutoSar为例进行说明。
基于上面的研究思路,下面对本申请提供的技术方案进行具体的介绍。
参阅图4,为本申请实施例提供的一种数据传输方法的流程示意图。
本申请实施例提供的一种数据传输方法,可以包括以下步骤:
401、OTA服务器调用主ECU的TransferVehiclePackage接口。
步骤401可以参照图3对应的方案中的步骤301进行理解,这里不再重复赘述。
402、OTA服务器调用主ECU的TransferStart接口。
步骤402可以参照图3对应的方案中的步骤302进行理解,这里不再重复赘述。
403、主ECU调用节点ECU1的TransferStart接口。
步骤403可以参照图3对应的方案中的步骤303进行理解,这里不再重复赘述。
404、节点ECU1返回节点ECU1的TransferStart接口的调用结果。
节点ECU1响应于主ECU调用TransferStart接口,向主ECU返回TransferStart接口的调用结果,该调用结果可以指示节点ECU1是否有足够的剩余存储空间存储节点ECU1的升级包。
此外,在本申请提供的方案中,调用结果中还可以包括第一参数,通过第一参数值指示OTA服务器直接向节点ECU1发送节点ECU1的软件包,以下结合几个具体的实施方式进行说明。
在一个可能的实施方式中,若节点ECU1有足够的剩余存储空间存储节点ECU1的升级包,则调用结果还包括第一参数值。主ECU可以将该第一参数值反馈给OTA服务器,OTA服务器获取第一参数值后,可以直接向节点ECU1发送软件包,而不再经过主ECU。
在一个可能的实施方式中,在调用结果中增加第一参数,若节点ECU1有足够的剩余存储空间存储节点ECU1的升级包,第一参数的取值为A,若节点ECU1没有足够的剩余存储空间存储节点ECU1的升级包,则第一参数的取值为B。这里的A和B是为了举例说明节点ECU1确定有足够的剩余存储空间,以及没有足够的剩余存储空间两种情况下,第一参数的取值不同。节点ECU1可以通过反馈第一参数,使OTA服务器获取是否可以直接向节点ECU1发送软件包。比如若OTA服务器获取到第一参数的取值为A,则可以直接向节点ECU1发送软件包,而不再经过主ECU。
405、主ECU将获取到的节点ECU1的TransferStart接口的调用结果反馈给OTA服务器。
主ECU的UCM master模块将获取到的节点ECU1的TransferStart接口的调用结果反馈给OTA服务器的UCM模块。
在本方案中,如果节点ECU1有足够的剩余存储空间存储节点ECU1的升级包,则反馈给OTA服务器的调用包括第一参数。
在一个可能的实施方式中,主ECU可以调用OTA服务器的一个接口,以将获取到的节点ECU1的TransferStart接口的调用结果发送给OTA服务器,以使OTA服务器响应于该接口被调用,向节点ECU发送软件包。需要说明的是,本申请中通常将一个设备向另一个设备发送信息,或者指示另一个设备执行动作描述为一个设备调用另一个设备的接口,即一个设备调用另一个设备的接口,以向另一个设备发送信息,或者指示另一个设备执行某些动作,本申请实施例对此不再重复说明。
406、OTA服务器调用节点ECU1的TransferData接口。
如果节点ECU1有足够的剩余存储空间存储节点ECU1的升级包,OTA服务器可以直接向节点ECU1发送节点ECU1的软件包,而不需通过主ECU进行转发。具体的OTA服 务器根据第一参数获取是否可以直接向节点ECU1发送节点ECU1的软件包,第一参数是节点ECU1的TransferStart接口的调用结果包括的参数。
比如,在AutoSar中,OTA服务器可以调用节点ECU1的TransferData接口,TransferData接口的参数值是ECU1的软件包,以将节点ECU1的软件包发送给节点ECU1。
在一个可能的实施方式中,还可以包括步骤407、节点ECU1返回节点ECU1的TransferData接口的调用结果。
响应于OTA服务器调用节点ECU1调用节点ECU1的TransferData接口,节点ECU1可以返回调用结果,用于通知OTA服务器已经接收成功或者接收失败。
408、主ECU调用节点ECU2的TransferStart接口。
比如节点ECU还包括节点ECU2,则主ECU调用节点ECU2的TransferStart接口。
409、节点ECU2返回节点ECU2的TransferStart接口的调用结果。
410、主ECU将获取到的节点ECU2的TransferStart接口的调用结果反馈给OTA服务器。
411、OTA服务器调用节点ECU2的TransferData接口。
节点ECU2的TransferData接口的参数值是节点ECU2的软件包。
在一个可能的实施方式中,还可以包括步骤412、节点ECU2返回节点ECU2的TransferData接口的调用结果。
步骤408至步骤412可以参照步骤403至步骤407进行理解,这里不再重复赘述。如果还包括其他的节点ECU,下载升级包的过程也可以参照ECU1下载升级包的过程进行理解,即参照步骤403至步骤407进行理解。
由图4对应的实施例可知,这种方案对现有的AutoSar规定的软件升级的流程改动很小,在节点ECU的TransferStart接口的调用结果中增加一个参数,并将该参数反馈给OTA服务器,使OTA服务器获知可以进行分布式下载,将节点ECU的升级包直接发送给对应的节点ECU,无需经过主ECU。通过这种方案减少对主ECU的存储空间以及处理性能的依赖,且通过本申请提供的方案,可以多个节点ECU同时下载,提升下载的效率。
需要说明的是,除了图4对应的实施例中提供的方案,本申请还提供了其他方案可以基于AutoSar,实现OTA服务器直接向节点ECU发送升级包。此外,本申请提供的方案可以使主ECU提前获取所有的节点ECU的剩余存储空间是否都足够,当所有的节点ECU的剩余存储空间都足够存储各自的软件包时,再传输软件包,防止下载过程中由于部分节点ECU的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。下面结合几个具体的实施例进行说明。
参阅图5,为本申请实施例提供的一种数据传输方法的流程示意图。
501、OTA服务器调用主ECU的TransferVehiclePackage接口。
OTA服务器调用主ECU的TransferVehiclePackage接口,以将升级策略等控制信息以及各个节点ECU的软件升级包的名称和大小发送给主ECU。比如通过调用主ECU的TransferVehiclePackage接口,将节点ECU1的软件包的名称和大小,节点ECU2的软件包的名称和大小发送给主ECU。
502、主ECU调用节点ECU1的目标接口。
本申请提供的实施方式中,定义了一个新的接口,使主ECU可以集中获取所有节点ECU的剩余存储空间是否足够存储各自的软件包。
目标接口的参数值可以是每个节点ECU的软件包的大小。示例性的,表1给出了一种目标接口的定义方式。假设目标接口的名称是TransferCheck,目标接口的输入参数值是软件包的大小(size),目标接口的返回值是ture或者false。其中ture可以代表节点ECU的剩余存储空间足够存储其软件包,false可以代表节点ECU的剩余存储空间不足够存储其软件包。
表1:
接口名称 TransferCheck
输入参数 size
返回值 ture/false
节点ECU响应于主ECU调用目标接口,检查各自的存储空间是否足够存储各自的软件包。
以ECU1为例,即主ECU调用节点ECU1的目标接口,目标接口的参数值包括节点ECU1的软件包的大小。节点ECU1响应于目标接口被调用,检测剩余存储空间,确定剩余空间是否足够存节点ECU1的升级包。
503、节点ECU1返回节点ECU1的目标接口的调用结果。
节点ECU1响应于主ECU调用目标接口,向主ECU返回目标接口的调用结果,该调用结果可以指示节点ECU1是否有足够的剩余存储空间存储节点ECU1的升级包。比如返回调用结果时true或者false。
504、主ECU调用节点ECU2的目标接口。
比如,节点ECU还包括节点ECU2,则主ECU调用节点ECU2的目标接口,目标接口的参数值包括ECU2的软件包的大小。ECU2响应于目标接口被调用,检测剩余存储空间,确定剩余空间是否足够存ECU2的升级包。
505、节点ECU2返回节点ECU2的目标接口的调用结果。
节点ECU2响应于主ECU调用目标接口,向主ECU返回目标接口的调用结果,该调用结果可以指示节点ECU2是否有足够的剩余存储空间存储节点ECU2的升级包。比如返回调用结果时true或者false。
506、主ECU根据获取到的节点ECU的目标接口的调用结果向OTA服务器发送反馈信息。
以上步骤502至步骤506以节点ECU包括节点ECU1和节点ECU2进行了说明,如果还包括其他的节点ECU,调用目标接口的过程也可以参照步骤502至步骤506进行理解。
如果主ECU根据所有节点ECU的目标接口的调用结果确定所有节点ECU均有足够的存储空间存储各自的软件包时,则向OTA服务器发送反馈消息,该反馈信息用于指示OTA进行分布式下载,即指示OTA服务器将每个节点ECU的软件包发送给对应的节点ECU。举例说明,比如节点ECU只包括节点ECU1和节点ECU2,有以下三种情况:
1、ECU1返回的目标接口的调用结果指示ECU1有足够的存储空间存储ECU1的软件包,并且ECU2返回的目标接口的调用结果指示ECU2有足够的存储空间存储ECU2的软 件包时,主ECU向OTA服务器发送反馈消息。
2、ECU1返回的目标接口的调用结果指示ECU1有足够的存储空间存储ECU1的软件包,并且ECU2返回的目标接口的调用结果指示ECU2没有足够的存储空间存储ECU2的软件包时,则主ECU不向OTA服务器发送反馈消息。在这种情况下,OTA服务器也不会向ECU1发送ECU1的软件包。
3、ECU1返回的目标接口的调用结果指示ECU1没有足够的存储空间存储ECU1的软件包,并且ECU2返回的目标接口的调用结果指示ECU2有足够的存储空间存储ECU2的软件包时,则主ECU不向OTA服务器发送反馈消息。在这种情况下,OTA服务器也不会向ECU2发送ECU1的软件包。
在一个可能的实施方式中,主ECU可以在发送状态信息时向OTA服务器发送反馈信息。在AutoSar中,规定了主ECU向OTA服务器发送状态信息,用于通知OTA服务器目前的升级状态,比如升级状态可以包括处于下载升级包阶段,处于安装升级包的阶段,处于激活升级包的阶段等等。在本申请实施例中的这种实施方式中,可以增加新的状态信息,比如增加第一状态信息。如果主ECU根据所有节点ECU的目标接口的调用结果确定所有节点ECU均有足够的存储空间存储各自的软件包时,在主ECU向OTA服务器发送状态信息时,发送第一状态信息,该第一状态信息用于通知OTA服务器可以进行分布式下载,OTA服务器收到第一状态信息后,直接将每个节点ECU的软件包发送给对应的节点ECU,不再经过主ECU转发。
507、OTA服务器调用节点ECU1的TransferData接口。
如果OTA服务器根据反馈消息确定可以将节点ECU的软件包发送给各自的节点ECU时,则OTA服务器调用各个节点的TransferData接口发送给各自的节点ECU。
该反馈消息可以是主ECU发送的状态信息,该状态信息用于指示OTA服务器可以进行分布式下载,OTA服务器收到该状态信息后,直接将每个节点ECU的软件包发送给对应的节点ECU,不再经过主ECU转发。
节点ECU包括节点ECU1时,OTA服务器可以调用节点ECU1的TransferData接口,TransferData接口的参数值是ECU1的软件包,以将节点ECU1的软件包发送给节点ECU1。
在一个可能的实施方式中,还可以包括508、节点ECU1返回节点ECU1的TransferData接口的调用结果。
响应于OTA服务器调用节点ECU1调用节点ECU1的TransferData接口,节点ECU1可以返回调用结果,用于通知OTA服务器已经接收成功或者接收失败。
509、OTA服务器调用节点ECU2的TransferData接口。
如果节点ECU还包括节点ECU2,则OTA服务器调用节点ECU2的TransferData接口。
在一个可能的实施方式中,还可以包括510、节点ECU2返回节点ECU2的TransferData接口的调用结果。
步骤509和步骤510可以参照步骤507和步骤508进行理解,需要说明的是,如果还包括其他的节点ECU,也可以参照ECU1与OAT服务器或者ECU2与OTA服务器的交互的过程进行理解,即参照步骤502至步骤509进行理解。
由图5对应的实施例可知,给出了一种方式可以使主ECU提前获取所有的节点ECU 的剩余存储空间是否都足够,当所有的节点ECU的剩余存储空间都足够存储各自的软件包时,再传输软件包,防止下载过程中由于部分节点ECU的资源不足导致升级失败,减少由此导致的用户流量消耗和资源浪费。具体的,图5对应的实施方式中,可以在AutoSar中新定义一个接口,比如目标接口,使主ECU可以获取所有的节点ECU的剩余存储空间是否都足够,并且可以增加新的状态信息,主ECU可以通过新的状态信息通知OTA服务器可以进行分布式下载,即直接将每个节点ECU的软件包发送给各自的节点ECU。
图5对应的实施例中,主ECU可以通过新的状态信息通知OTA服务器可以进行分布式下载,即直接将每个节点ECU的软件包发送给各自的节点ECU。在一些其他的实施方式中,还可以通过其他方式实现OTA服务器可以进行分布式下载,即直接将每个节点ECU的软件包发送给各自的节点ECU。下面结合一个具体的实施例进行说明。
参阅图6,为本申请实施例提供的一种数据传输方法的流程示意图。
601、OTA服务器调用主ECU的TransferVehiclePackage接口。
OTA服务器调用主ECU的TransferVehiclePackage接口,以将升级策略等控制信息、各个节点ECU的软件升级包的名称和大小,以及各个节点ECU的软件包的下载地址发送给主ECU。比如通过调用主ECU的TransferVehiclePackage接口,将节点ECU1的软件包的名称、大小以及节点ECU1的软件包的下载地址,节点ECU2的软件包的名称、大小以及节点ECU2的软件包的下载地址发送给主ECU。
在一个可能的实施方式中,下载地址可以是统一资源定位符(uniform resoure locator,URL)的形式。
602、主ECU调用节点ECU1的目标接口。
603、节点ECU1返回节点ECU1的目标接口的调用结果。
604、主ECU调用节点ECU2的目标接口。
605、节点ECU2返回节点ECU2的目标接口的调用结果。
步骤602至步骤605可以参照图5对应的实施例中的步骤502至步骤505进行理解,这里不再重复赘述。
606、主ECU向节点ECU1发送节点ECU1的软件包的下载地址。
如果主ECU根据所有节点ECU的目标接口的调用结果确定,所有的节点ECU均有足够的存储空间存储各自的软件包时,则主ECU向各个节点ECU发送各自的软件包的下载地址。
比如,节点ECU包括节点ECU1和节点ECU2,节点ECU1和节点ECU2均有足够的存储空间存储各自的软件包时,则主ECU向节点ECU1发送节点ECU1的软件包的下载地址。主ECU向节点ECU2发送节点ECU2的软件包的下载地址。
在一个可能的实施方式中,也可以主ECU获取到节点ECU1有足够的存储空间时,就向节点ECU1发送节点ECU1的软件包的下载地址。
在一个可能的实施方式中,主ECU可以在调用节点ECU的TransferStart接口时,在TransferStart接口新增输入参数,该新增输入参数是各个节点ECU的软件包的下载地址。比如,主ECU调用节点ECU1的TransferStart接口,TransferStart接口时包括新增参数,新增参数的取值是节点ECU1的软件包的下载地址,再比如,主ECU调用节点ECU2的 TransferStart接口,TransferStart接口时包括新增参数,新增参数的取值是节点ECU2的软件包的下载地址。
607、节点ECU1根据获取到的节点ECU1的软件包的下载地址向OTA服务器发送请求消息。
比如,节点ECU1接收到ECU1的软件包的下载地址后,向OTA服务器发送请求消息,该请求消息中携带ECU1的软件包的下载地址,该请求消息用于请求OTA服务器将节点ECU1的软件包发送给节点ECU1。
在一个可能的实施方式中,可以定义一个新的接口,比如第二接口,第二接口的参数是软件包的下载地址,当OTA服务器的第二接口被调用时,OTA服务器可以将节点ECU的软件包发送给对应的节点ECU。比如,节点ECU1可以调用OTA服务器的第二接口,第二接口的参数是节点ECU1的软件包的下载地址,OTA服务器响应于第二接口被调用,可以根据第二接口的参数值,将节点ECU1的软件包发给节点ECU1。需要说明的是,本申请中的OTA服务器的接口均指OTA服务器的UCM接口,本申请对此不再重复说明。
示例性的,表2给出了一种第二接口的定义方式。假设第二接口的名称是GetTransferStart,第二接口的输入参数包括软件包的下载地址,在一些可能的实施方式中,第二接口的输入参数还可以包括软件包的名称或者软件包的标识ID。
接口名称 GetTransferStart
输入参数1 软件包的名称
输入参数2 软件包的标识ID
输入参数2 软件包的下载地址
608、OTA服务器调用节点ECU1的TransferData接口。
响应于节点ECU1发送的请求消息,OTA服务器向节点ECU1发送节点ECU1的软件包。
比如,OTA服务器可以调用节点ECU1的TransferData接口,将ECU1的软件包发送给节点ECU1。
在一个可能的实施方式中,还可以包括步骤609、节点ECU1返回节点ECU1的TransferData接口的调用结果。
响应于OTA服务器调用节点ECU1调用节点ECU1的TransferData接口,节点ECU1可以返回调用结果,用于通知OTA服务器已经接收成功或者接收失败。
610、主ECU向节点ECU2发送节点ECU2的软件包的下载地址。
如果主ECU根据所有节点ECU的目标接口的调用结果确定,所以的节点ECU均有足够的存储空间存储各自的软件包时,则主ECU向各个节点ECU发送各自的软件包的下载地址。
比如,节点ECU包括节点ECU2,则主ECU向节点ECU2发送节点ECU2的软件包的下载地址。
611、节点ECU2根据获取到的节点ECU2的软件包的下载地址向OTA服务器发送请求消息。
612、OTA服务器调用节点ECU2的TransferData接口。
在一个可能的实施方式中,还可以包括步骤613、节点ECU2返回节点ECU2的TransferData接口的调用结果。
步骤610至步骤613可以参照步骤606至步骤609进行理解。如果还包括其他的节点ECU,也可以参照ECU1与OAT服务器的交互的过程进行理解,即参照步骤602至步骤609进行理解。
以上基于AutoSar,对本申请实施例提供的方案进行了介绍,主ECU仍然对各个节点ECU的升级过程进行控制,比如控制各个节点ECU的下载软件包的顺序,但是各个节点ECU的软件包由OTA服务器直接发送给各个节点ECU上,不再需要主ECU缓存每个节点ECU的软件包,也无需主ECU转发每个节点ECU的升级包,通过这样的方式,主ECU无需有较高的存储空间和处理性能,还可以提升升级的效率。并且,支持本申请提供的方案支持多个节点ECU同时下载,提升下载效率。并且不影响后续的主ECU控制各个节点ECU的安装过程以及激活过程。此外,本申请提供的数据传输系统,定义了新的接口,当全部的节点ECU均有足够的存储空间存储各自的软件包时,再向各个节点ECU发送各自的软件包,可以进一步提升升级的效率。
除了上述提到的基于AutoSar,对上述AutoSar中软件升级的流程进行改进,解决现有的AutoSar中,在软件升级过程中,对主ECU的存储空间和处理性能的依赖的问题。本申请提供的方案还可以采用其他的方式解决对ECU的存储空间和处理性能的依赖问题。以下结合几个具体的实施方式进行说明。
参阅图7a,为本申请实施例提供的一种数据传输方法的流程示意图。
701、节点ECU1将节点ECU1的剩余存储空间的大小发送给主ECU。
702、节点ECU2将节点ECU2的剩余存储空间的大小发送给主ECU。
703、主ECU将各个节点ECU的剩余存储空间的大小向OTA服务器发送。
表3:
节点ID 剩余的存储空间的大小
ECU1的ID ECU1的剩余的存储空间的大小
ECU2的ID ECU2的剩余的存储空间的大小
如表3所示,主ECU可以通过表格的方式将各个节点ECU的剩余存储空间的大小发送给OTA服务器。
在一个可能的实施方式中,节点ECU也可以直接将各自的剩余存储空间的大小向OTA服务器发送,不经过主ECU转发。
704、OTA服务器调用主ECU的TransferVehiclePackage接口。
如果OTA服务器根据各个节点ECU的剩余存储空间的大小和各个节点ECU的软件包的大小确定,各个节点ECU均有足够的存储空间存储各自的软件包时,OTA服务器调用主ECU的TransferVehiclePackage接口。举例3说明,假设节点ECU只包括节点ECU1和节点ECU2。则可能有以下三种情况:
1、OTA服务器获取到的节点ECU1的剩余存储空间不小于ECU1的软件包的大小,且获取到的ECU2的剩余存储空间不小于ECU2的软件包的大小,则OTA服务器调用主ECU的TransferVehiclePackage接口,以将升级策略等控制信息发送给主ECU。
2、OTA服务器获取到的节点ECU1的剩余存储空间不小于节点ECU1的软件包的大小,且获取到的节点ECU2的剩余存储空间小于节点ECU2的软件包的大小,则OTA服务器确定当前无法升级成功,不启动升级软件包的程序。
3、OTA服务器获取到的节点ECU1的剩余存储空间小于节点ECU1的软件包的大小,且获取到的节点ECU2的剩余存储空间不小于节点ECU2的软件包的大小,则OTA服务器确定当前无法升级成功,不启动升级软件包的程序。
705、OTA服务器调用节点ECU1的TransferData接口。
在一个可能的实施方式中,还可以包括步骤706、节点ECU1返回节点ECU1的TransferData接口的调用结果。
707、OTA服务器调用节点ECU2的TransferData接口。
在一个可能的实施方式中,还可以包括步骤708、节点ECU2返回节点ECU2的TransferData接口的调用结果。
步骤705至步骤708可以参照图4对应的实施例中的步骤406,步骤407以及步骤411和步骤412进行理解。
需要说明的是,如果还包括其他的节点ECU,可以参照节点ECU1和节点ECU2执行的步骤进行理解,这里不再重复赘述。
参阅图7b,为本申请实施例提供的一种数据传输方法的流程示意图。
801、节点ECU1将节点ECU1的剩余存储空间的大小发送给主ECU。
802、节点ECU2将节点ECU2的剩余存储空间的大小发送给主ECU。
803、OTA服务器调用主ECU的TransferVehiclePackage接口。
OTA服务器调用主ECU的TransferVehiclePackage接口,以将所有节点ECU的软件包的大小发送给主ECU。需要说明的是,本实施例中以节点ECU1和节点ECU2为例进行说明,如果还包括其他节点节点ECU,可以参照节点ECU1和节点ECU2执行的步骤进行理解,本文不再重复赘述。
804、主ECU根据节点ECU的软件包的大小和节点ECU的剩余存储空间的关系,向OTA服务器发送通知消息。
如果主ECU根据各个节点ECU的剩余存储空间的大小和各个节点ECU的软件包的大小确定,各个节点ECU均有足够的存储空间存储各自的软件包时,主ECU向OTA服务器发送通知消息,使OTA服务器向节点ECU发送软件包。
举例说明,假设节点ECU只包括节点ECU1和节点ECU2。则可能有以下三种情况:
1、主ECU获取到的节点ECU1的剩余存储空间不小于节点ECU1的软件包的大小,且获取到的ECU2的剩余存储空间不小于ECU2的软件包的大小,则主ECU向OTA服务器发送通知消息,使OTA服务器向节点ECU1发送节点ECU1的软件包,使OTA服务器向节点ECU2发送节点ECU2的软件包。
2、主ECU获取到的节点ECU1的剩余存储空间不小于节点ECU1的软件包的大小,且获取到的节点ECU2的剩余存储空间小于节点ECU2的软件包的大小,则主ECU不向OTA服务器发送通知消息,即不启动下载软件包的流程。
3、主ECU获取到的节点ECU1的剩余存储空间小于节点ECU1的软件包的大小,且 获取到的节点ECU2的剩余存储空间不小于节点ECU2的软件包的大小,则主ECU不向OTA服务器发送通知消息,即不启动下载软件包的流程。
805、OTA服务器调用节点ECU1的TransferData接口。
在一个可能的实施方式中,还可以包括步骤806、节点ECU1返回节点ECU1的TransferData接口的调用结果。
807、OTA服务器调用节点ECU2的TransferData接口。
在一个可能的实施方式中,还可以包括步骤808、节点ECU2返回节点ECU2的TransferData接口的调用结果。
步骤805至步骤808可以参照图4对应的实施例中的步骤406,步骤408以及步骤411和步骤412进行理解。
以上对本申请实施例提供的一种数据传输方法进行了介绍,本申请实施例还提供一种数据传输系统,该数据传输系统包括OTA服务器,主ECU以及多个节点ECU。其中OTA服务器为图4至图7b所述对应的实施例中描述的OTA服务器,主ECU为图4至图7b所述对应的实施例中描述的主ECU,节点ECU为图4至图7b所述对应的实施例中描述的节点ECU,比如可以参照节点ECU1和节点ECU2进行理解。此外,基于上述实施例相同的发明构思,本申请实施例还提供一种OTA云服务器,主ECU,节点ECU。下面结合几个具体的实施方式对本申请实施例提供的一种数据传输系统进行说明。
参照图8,为本申请实施例提供的一种数据传输系统的架构示意图。该数据传输系统包括OTA服务器,主ECU以及多个节点ECU。
其中,节点ECU可以包括升级配置管理UCM模块,节点ECU的UCM模块,用于获取到该节点ECU的目标接口被调用时,检查剩余存储空间,并返回第一调用结果,目标接口的参数值可以包括该节点ECU的软件包的大小,第一调用结果指示剩余存储空间是否不小于该节点ECU的软件包的大小。节点ECU的UCM模块,还用于剩余存储空间不小于该节点ECU的软件包的大小时,接收OTA服务器发送的该节点ECU的软件包。
在一个可能的实施方式中,目标接口是TransferStart接口,剩余存储空间不小于该节点ECU的软件包的大小时,第一调用结果可以包括第一参数值,第一参数用于指示OTA服务器向该节点ECU发送该节点ECU的软件包。
在一个可能的实施方式中,节点ECU的UCM模块,还用于获取该节点ECU的软件包的下载地址。根据获取到的下载地址,调用OTA服务器的接口,接口的参数值是该节点ECU的软件包的下载地址,以使OTA服务器响应于接口被调用,向UCM模块发送该节点ECU的软件包。
在一个可能的实施方式中,OTA服务器可以包括升级配置管理UCM模块,OTA服务器的UCM模块,用于确定节点ECU的剩余存储空间不小于该节点ECU的软件包的大小时,调用该节点ECU的TransferData接口,以向该节点ECU发送该节点ECU的软件包。
在一个可能的实施方式中,OTA服务器的UCM模块具体用于获取到第一参数值时,调用该节点ECU的TransferData接口,第一参数值是该节点ECU响应于TransferStart接口被调用,返回的第一调用结果中可以包括的参数值,第一参数值用于指示该节点ECU的剩余存储空间不小于该节点ECU的软件包的大小。
在一个可能的实施方式中,OTA服务器的UCM模块还用于调用主ECU的整车软件包TransferVehiclePackage接口,TransferVehiclePackage接口的参数值可以包括多个节点ECU中的每个节点ECU的软件包的下载地址,以使主ECU向该节点ECU发送该节点ECU的软件包的下载地址,以使该节点ECU根据该节点ECU的下载地址调用UCM模块的接口,接口的参数可以包括该节点ECU的软件包的下载地址。UCM模块,具体用于响应于该节点ECU调用接口,向该节点ECU发送该节点ECU的软件包。
在一个可能的实施方式中,主ECU可以包括UCM Master模块,UCM Master模块,用于调用该节点ECU的目标接口,目标接口的参数值可以包括该节点ECU的软件包的大小,以使该节点ECU响应于主ECU调用目标接口,检查该节点ECU的剩余存储空间。UCM Master模块,还用于接收该节点ECU发送的目标接口的第一调用结果,第一调用结果指示该节点ECU的剩余存储空间是否不小于该节点ECU的软件包的大小。
在一个可能的实施方式中,该节点ECU的剩余存储空间不小于该节点ECU的软件包的大小时,第一调用结果可以包括第一参数值,UCM Master模块,还用于向OTA服务器发送第一反馈消息,第一反馈消息可以包括第一参数值,以使OTA服务器获取到第一参数值时,调用该节点ECU的TransferData接口,以向该节点ECU发送该节点ECU的软件包。
在一个可能的实施方式中,UCM Master模块还用于接收多个节点ECU中的每个节点ECU的第一调用结果,该节点ECU是多个节点ECU中的任意一个ECU。根据第一调用结果确定每个节点ECU的剩余存储空间均不小于各自的软件包的大小时,向OTA服务器发送第二参数值,以使OTA服务器获取到第二参数值时,调用该节点ECU的TransferData接口。
本申请实施例还提供一种ECU,该ECU是上述图8对应的实施例中节点ECU。可以参照图4至图7b所述对应的实施例中描述的节点ECU进行理解。
本申请实施例还提供一种ECU,该ECU是上述图8对应的实施例中的主ECU。可以参照图4至图7b所述对应的实施例中描述的主ECU进行理解。
本申请实施例还提供一种OTA服务器,该OTA服务器是上述图8对应的实施例中的OTA服务器。可以参照图4至图7b所述对应的实施例中描述的OTA服务器进行理解。
参阅图9,本申请实施例还提供一种通信设备。该通信设备可以是图4至图7b对应的实施例中的节点ECU,该通信设备还可以是图4至图7b对应的实施例中的主ECU,该通信设备还可以是图4至图7b对应的实施例中的OTA服务器。
该通信设备可以包括处理器1001,处理器1001和存储器1002耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时,执行图4至图7b对应的实施例中的主ECU执行的步骤。或者当存储器存储的程序指令被处理器执行时,执行图4至图7b对应的实施例中的节点ECU执行的步骤。或者当存储器存储的程序指令被处理器执行时,执行图4至图7b对应的实施例中的OTA服务器执行的步骤。
本申请实施例还提供了一种车辆,参阅图10,图10为本申请实施例提供的一种车辆的结构示意图。其中,车辆上可以部署有图4至图7b对应的实施例中所描述的节点ECU和主ECU。
在一个可能的实施方式中,如图10,该车辆可以包括显示屏1101和ECU1102。其中, ECU1102为上述图4至图7b对应的实施例中所描述的节点ECU和主ECU。车辆可以通过显示屏与用户进行交互,比如可以通过显示器发送提示消息,提示消息用于指示节点ECU从OTA服务器下载所述第一ECU的软件包。参阅图11,为本申请实施例提供的一种数据传输方法的应用场景的示意图。本申请实施例提供的方案,允许用户选择是否对车内的软件进行升级,也可以默认直接对车内的软件进行升级。在车内的各个设备进行升级时,具体的各个ECU的软件下载升级包的过程中,发送提示消息,提示各个设备正在从OTA服务器中下载软件包。
上述车辆可以为轿车、卡车、摩托车、公共汽车、船、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车等,本申请实施例不做特别的限定。
需要说明的是,对于ECU、车辆执行数据传输方法的具体实现方式以及带来的有益效果,均可以参考图4至图7b对应的各个方法实施例中的叙述,此处不再一一赘述。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于下载软件包的程序,当其在计算机上行驶时,使得计算机执行如前述图4至图7b所示实施例描述的方法中ECU所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于下载软件包的程序,当其在计算机上行驶时,使得计算机执行如前述图4至图7b所示实施例描述的方法中OTA所执行的步骤。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上行驶时,使得计算机执行如前述图4至图7b所示实施例描述的方法中ECU所执行的步骤。或者当其在计算机上行驶时,使得计算机执行如前述图4至图7b所示实施例描述的方法中OTA所执行的步骤。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例中还提供一种电路系统,所述电路系统包括处理电路和存储电路,所述处理电路和存储电路配置为执行如前述图4至图7b所示实施例描述的方法中ECU或者OTA服务器所执行的步骤。其中,处理电路可以是任意合适类型的计算单元,例如微处理器、数字信号处理器(digital signal processor DSP)、现场可编程门阵列(field programmable gate array,FPGA)或专用集成电路(application specific integrated circuit fpga,ASIC)或任意其他形式的电路。存储电路可以是易失型(volatile)和/或非易失型(non-volatile)。比如该存储电路可以是寄存器或者缓存等。具体的,易失型存储电路可以包括cache存储器,非易失型存储电路可以包括flash存储器。
本申请实施例提供的ECU或OTA服务器具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图4至图7b所示实施例描述的数据传输方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CLU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

Claims (31)

  1. 一种数据传输系统,其特征在于,所述数据传输系统包括空中下载OTA服务器、主电子控制单元ECU和节点ECU;
    OTA服务器,用于调用所述主ECU的第一接口;
    所述主ECU,用于响应于所述OTA服务器调用所述第一接口,获取目标软件包的大小;
    所述主ECU,还用于调用所述节点ECU的第二接口;
    所述节点ECU,用于响应于所述主ECU调用所述第二接口,获取所述目标软件包的大小,并检查所述节点ECU的剩余存储空间,所述剩余存储空间不小于所述目标软件包的大小时,接收所述OTA服务器发送的所述目标软件包。
  2. 根据权利要求1所述的数据传输系统,其特征在于,
    所述节点ECU,还用于向所述主ECU返回第一调用结果,所述第一调用结果包括第一参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小;
    所述主ECU,还用于获取到所述第一参数值时,调用所述OTA服务器的第三接口;
    所述OTA服务器,还用于响应于所述主ECU调用所述第三接口,向所述节点ECU发送所述目标软件包。
  3. 根据权利要求2所述的数据传输系统,其特征在于,所述节点ECU的数量为N,所述N为大于1的整数;
    所述主ECU,具体用于获取到N个所述第一参数值时,调用所述OTA服务器的第三接口。
  4. 根据权利要求1所述的数据传输系统,其特征在于,
    所述主ECU,还用于响应于所述OTA服务器调用所述第一接口,获取所述目标软件包的下载地址;
    所述节点ECU,还用于向所述主ECU返回第一调用结果,所述第一调用结果包括第一参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小;
    所述主ECU,还用于获取到所述第一参数值时,调用所述节点ECU的第四接口;
    所述节点ECU,还用于响应于所述主ECU调用所述第四接口,获取所述目标软件包的下载地址,并调用所述OTA服务器的第五接口;
    所述OTA服务器,还用于响应于所述节点ECU调用所述第五接口,接收所述下载地址,并根据所述下载地址向所述节点ECU发送所述目标软件包。
  5. 根据权利要求4所述的数据传输系统,其特征在于,所述节点ECU的数量为N,所述N为大于1的整数;
    所述主ECU,具体用于获取到N个所述第一参数值时,调用所述节点ECU的第四接口。
  6. 一种空中下载OTA服务器,其特征在于,所述OTA服务器包括升级配置管理UCM模块,
    所述UCM模块,用于调用主ECU的第一接口,以使所述主ECU响应于所述OTA服务器调用所述第一接口,获取目标软件包的大小,并调用节点ECU的第二接口,以使所述节点ECU响应于所述主ECU调用所述第二接口,获取所述目标软件包的大小,并检查所述节点ECU的剩余存储空间,所述剩余存储空间不小于所述目标软件包的大小时,接收所述OTA服务器发送的所述目标软件包。
  7. 根据权利要求6所述的OTA服务器,其特征在于,
    所述UCM模块,还用于响应于所述主ECU调用所述UCM模块的第三接口,向所述节点ECU发送所述目标软件包,所述第三接口是所述主ECU在获取到第一参数值时调用的所述UCM模块的接口,所述第一参数值是所述节点ECU向所述主ECU返回的第一调用结果中包括的参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小。
  8. 根据权利要求6所述的OTA服务器,其特征在于,
    所述UCM模块,还用于调用所述主ECU的第一接口,以使所述主ECU响应于所述OTA服务器调用所述第一接口,获取所述目标软件包的下载地址,以使所述节点ECU响应于所述主ECU调用第四接口,获取所述目标软件包的下载地址,并调用所述OTA服务器的第五接口;
    所述UCM模块,还用于响应于所述节点ECU调用所述UCM模块的第五接口,接收所述目标软件包的下载地址,并根据所述下载地址向所述节点ECU发送所述目标软件包。
  9. 一种主电子控制单元ECU,其特征在于,所述主ECU包括升级配置管理主控UCM Master模块,
    所述UCM Master模块,用于响应于OTA服务器调用所述UCM Master模块的第一接口,获取目标软件包的大小;
    所述UCM Master模块,还用于调用节点ECU的第二接口,以使所述节点ECU响应于所述第二接口被调用,获取所述目标软件包的大小,并检查所述节点ECU的剩余存储空间,所述剩余存储空间不小于所述目标软件包的大小时,所述节点ECU接收所述OTA服务器发送的所述目标软件包。
  10. 根据权利要求9所述的主ECU,其特征在于,
    所述UCM Master模块,还用于获取到第一参数值时,调用所述OTA服务器的第三接口,以使所述OTA服务器响应于所述第三接口被调用,向所述节点ECU发送所述目标软件包,所述第一参数值是所述节点ECU向所述主ECU返回的第一调用结果中包括的参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小。
  11. 根据权利要求10所述的主ECU,其特征在于,所述节点ECU的数量为N,所述N为大于1的整数;
    所述UCM Master模块,具体用于获取到N个所述第一参数值时,调用所述OTA服务器的第三接口。
  12. 根据权利要求9所述的主ECU,其特征在于,
    所述UCM Master模块,还用于响应于所述OTA服务器调用所述第一接口,获取所述 目标软件包的下载地址;
    所述UCM Master模块,还用于获取到所述第一参数值时,调用所述节点ECU的第四接口,以使所述节点ECU响应于所述第四接口被调用,获取所述下载地址,并调用所述OTA服务器的第五接口,以使所述OTA服务器响应于所述第五接口被调用,接收所述下载地址,并根据所述下载地址向所述节点ECU发送所述目标软件包,所述第一参数值是所述节点ECU向所述主ECU返回的第一调用结果中包括的参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小。
  13. 根据权利要求12所述的主ECU,其特征在于,所述节点ECU的数量为N,所述N为大于1的整数;
    所述UCM Master模块,具体用于获取到N个所述第一参数值时,调用所述节点ECU的第四接口。
  14. 一种节点电子控制单元ECU,其特征在于,所述节点ECU包括升级配置管理UCM模块,
    所述UCM模块,用于响应于主ECU在被调用第一接口后调用所述UCM模块的第二接口,获取目标软件包的大小,并检查所述节点ECU的剩余存储空间,所述剩余存储空间不小于所述目标软件包的大小时,接收OTA服务器发送的所述目标软件包,所述主ECU的第一接口被所述OTA服务器调用,以使所述主ECU响应于所述第一接口被调用,获取目标软件包的大小。
  15. 根据权利要求14所述的节点ECU,其特征在于,
    所述UCM模块,还用于向所述主ECU返回第一调用结果,所述第一调用结果包括第一参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小,以使所述主ECU获取到所述第一参数值时,调用所述OTA服务器的第三接口,以使所述OTA服务器响应于所述主ECU调用所述第三接口,向所述节点ECU发送所述目标软件包。
  16. 根据权利要求14所述的节点ECU,其特征在于,
    所述UCM模块,还用于向所述主ECU返回第一调用结果,所述第一调用结果包括第一参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小,以使所述主ECU获取到所述第一参数值时,调用所述节点ECU的第四接口;
    所述UCM模块,还用于响应于所述主ECU调用所述第四接口,获取所述目标软件包的下载地址,并调用所述OTA服务器的第五接口,以使所述OTA服务器响应于所述第五接口被调用,接收所述下载地址,并根据所述下载地址向所述节点ECU发送所述目标软件包。
  17. 一种数据传输方法,其特征在于,包括:
    OTA服务器调用主ECU的第一接口,以使所述主ECU响应于所述OTA服务器调用所述第一接口,获取目标软件包的大小,并调用节点ECU的第二接口,以使所述节点ECU响应于所述主ECU调用所述第二接口,获取所述目标软件包的大小,并检查所述节点ECU的剩余存储空间,所述剩余存储空间不小于所述目标软件包的大小时,接收所述OTA服务器发送的所述目标软件包。
  18. 根据权利要求17所述的数据传输方法,其特征在于,所述方法还包括:
    所述OTA服务器响应于所述主ECU调用所述UCM模块的第三接口,向所述节点ECU发送所述目标软件包,所述第三接口是所述主ECU在获取到第一参数值时调用的所述OTA服务器的接口,所述第一参数值是所述节点ECU向所述主ECU返回的第一调用结果中包括的参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小。
  19. 根据权利要求17所述的数据传输方法,其特征在于,所述方法还包括:
    所述OTA服务器调用所述主ECU的第一接口,以使所述主ECU响应于所述OTA服务器调用所述第一接口,获取所述目标软件包的下载地址,以使所述节点ECU响应于所述主ECU调用第四接口,获取所述目标软件包的下载地址,并调用所述OTA服务器的第五接口;
    所述OTA服务器响应于所述节点ECU调用所述UCM模块的第五接口,接收所述目标软件包的下载地址,并根据所述下载地址向所述节点ECU发送所述目标软件包。
  20. 一种数据传输方法,其特征在于,包括:
    所述主ECU响应于OTA服务器调用所述UCM Master模块的第一接口,获取目标软件包的大小;
    所述主ECU调用节点ECU的第二接口,以使所述节点ECU响应于所述第二接口被调用,获取所述目标软件包的大小,并检查所述节点ECU的剩余存储空间,所述剩余存储空间不小于所述目标软件包的大小时,所述节点ECU接收所述OTA服务器发送的所述目标软件包。
  21. 根据权利要求20所述的数据传输方法,其特征在于,所述方法还包括:
    所述主ECU获取到第一参数值时,调用所述OTA服务器的第三接口,以使所述OTA服务器响应于所述第三接口被调用,向所述节点ECU发送所述目标软件包,所述第一参数值是所述节点ECU向所述主ECU返回的第一调用结果中包括的参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小。
  22. 根据权利要求21所述的数据传输方法,其特征在于,所述节点ECU的数量为N,所述N为大于1的整数;
    所述主ECU获取到第一参数值时,调用所述OTA服务器的第三接口,包括:
    所述主ECU获取到N个所述第一参数值时,调用所述OTA服务器的第三接口。
  23. 根据权利要求20所述的数据传输方法,其特征在于,所述方法还包括:
    所述主ECU响应于所述OTA服务器调用所述第一接口,获取所述目标软件包的下载地址;
    所述主ECU获取到所述第一参数值时,调用所述节点ECU的第四接口,以使所述节点ECU响应于所述第四接口被调用,获取所述下载地址,并调用所述OTA服务器的第五接口,以使所述OTA服务器响应于所述第五接口被调用,接收所述下载地址,并根据所述下载地址向所述节点ECU发送所述目标软件包,所述第一参数值是所述节点ECU向所述主ECU返回的第一调用结果中包括的参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小。
  24. 根据权利要求23所述的数据传输方法,其特征在于,所述节点ECU的数量为N,所述N为大于1的整数;
    所述主ECU获取到所述第一参数值时,调用所述节点ECU的第四接口,包括:
    所述主ECU获取到N个所述第一参数值时,调用所述节点ECU的第四接口。
  25. 一种数据传输方法,其特征在于,包括:
    节点ECU响应于主ECU在被调用第一接口后调用所述UCM模块的第二接口,获取目标软件包的大小,并检查所述节点ECU的剩余存储空间,所述剩余存储空间不小于所述目标软件包的大小时,接收OTA服务器发送的所述目标软件包,所述主ECU的第一接口被所述OTA服务器调用,以使所述主ECU响应于所述第一接口被调用,获取目标软件包的大小。
  26. 根据权利要求25所述的数据传输方法,其特征在于,所述方法还包括:
    所述节点ECU向所述主ECU返回第一调用结果,所述第一调用结果包括第一参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小,以使所述主ECU获取到所述第一参数值时,调用所述OTA服务器的第三接口,以使所述OTA服务器响应于所述主ECU调用所述第三接口,向所述节点ECU发送所述目标软件包。
  27. 根据权利要求25所述的数据传输方法,其特征在于,所述方法还包括:
    所述节点ECU向所述主ECU返回第一调用结果,所述第一调用结果包括第一参数值,所述第一参数值用于指示所述节点ECU的剩余存储空间不小于所述目标软件包的大小,以使所述主ECU获取到所述第一参数值时,调用所述节点ECU的第四接口;
    所述节点ECU响应于所述主ECU调用所述第四接口,获取所述目标软件包的下载地址,并调用所述OTA服务器的第五接口,以使所述OTA服务器响应于所述第五接口被调用,接收所述下载地址,并根据所述下载地址向所述节点ECU发送所述目标软件包。
  28. 一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如权利要求17至19中任一项所述的方法。
  29. 一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如权利要求20至24中任一项所述的方法。
  30. 一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如权利要求25至27中任一项所述的方法。
  31. 一种智能汽车,其特征在于,所述智能汽车包括主电子控制单元ECU和节点ECU,所述主ECU是权利要求9至13任一项所述的主ECU,所述节点ECU是权利要求14至16任一项所述的节点ECU。
PCT/CN2020/118080 2020-09-27 2020-09-27 一种数据传输系统、数据传输方法,智能车以及装置 WO2022061804A1 (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN202080004904.5A CN112673609B (zh) 2020-09-27 2020-09-27 一种数据传输系统、数据传输方法,智能车以及装置
KR1020237013439A KR20230070039A (ko) 2020-09-27 2020-09-27 데이터 송신 시스템, 데이터 송신 방법, 스마트 차량 및 디바이스
CN202210159429.XA CN114666362A (zh) 2020-09-27 2020-09-27 一种数据传输系统、数据传输方法,智能车以及装置
JP2023518969A JP2023544123A (ja) 2020-09-27 2020-09-27 データ送信システム、データ送信方法、インテリジェント車両、及び装置
EP20954655.5A EP4207707A4 (en) 2020-09-27 2020-09-27 DATA TRANSMISSION SYSTEM, DATA TRANSMISSION METHOD, INTELLIGENT VEHICLE AND DEVICE
PCT/CN2020/118080 WO2022061804A1 (zh) 2020-09-27 2020-09-27 一种数据传输系统、数据传输方法,智能车以及装置
US18/190,449 US20230236822A1 (en) 2020-09-27 2023-03-27 Data transmission system, data transmission method, intelligent vehicle, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/118080 WO2022061804A1 (zh) 2020-09-27 2020-09-27 一种数据传输系统、数据传输方法,智能车以及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/190,449 Continuation US20230236822A1 (en) 2020-09-27 2023-03-27 Data transmission system, data transmission method, intelligent vehicle, and apparatus

Publications (1)

Publication Number Publication Date
WO2022061804A1 true WO2022061804A1 (zh) 2022-03-31

Family

ID=75413911

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/118080 WO2022061804A1 (zh) 2020-09-27 2020-09-27 一种数据传输系统、数据传输方法,智能车以及装置

Country Status (6)

Country Link
US (1) US20230236822A1 (zh)
EP (1) EP4207707A4 (zh)
JP (1) JP2023544123A (zh)
KR (1) KR20230070039A (zh)
CN (2) CN114666362A (zh)
WO (1) WO2022061804A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022187189A (ja) * 2021-06-07 2022-12-19 トヨタ自動車株式会社 Otaマスタ、センタ、システム、方法、プログラム、及び車両
JP2022187162A (ja) * 2021-06-07 2022-12-19 トヨタ自動車株式会社 Otaマスタ、システム、方法、プログラム、及び車両
CN115878139A (zh) * 2021-09-29 2023-03-31 华为技术有限公司 芯片升级方法及装置
CN114020662A (zh) * 2021-11-02 2022-02-08 上海兆芯集成电路有限公司 桥接模块、数据传输系统和数据传输方法
CN114124842B (zh) * 2021-11-10 2023-07-14 北京经纬恒润科技股份有限公司 一种数据传输方法、系统、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109561118A (zh) * 2017-09-26 2019-04-02 比亚迪股份有限公司 软件升级方法、装置、系统、存储介质、电子设备及车辆
US20190265965A1 (en) * 2018-02-27 2019-08-29 Excelfore Corporation System and method for updating software in an electronic device
CN110377307A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 一种车身控制器固件升级方法、终端、系统
CN110597538A (zh) * 2019-09-03 2019-12-20 广州小鹏汽车科技有限公司 一种基于ota升级系统的软件升级方法和ota升级系统
WO2020139400A1 (en) * 2018-12-27 2020-07-02 Didi Research America, Llc Trusted platform protection in an autonomous vehicle
CN111506537A (zh) * 2019-01-31 2020-08-07 富士通株式会社 车载系统和电子控制单元

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US7752618B2 (en) * 2002-12-05 2010-07-06 Samsung Electronics Co., Ltd. Apparatus and method for remote DLL linking of software upgrades for a wireless mobile station
US20170292467A1 (en) * 2016-04-08 2017-10-12 Infineon Technologies Ag Control infrastructure for automotive applications
US11204751B2 (en) * 2018-09-07 2021-12-21 International Business Machines Corporation Mitigating incompatibilities due to code updates in a system containing multiple networked electronic control units
CN111580840A (zh) * 2020-03-27 2020-08-25 惠州市德赛西威汽车电子股份有限公司 一种基于分布式内存管理实现ecu更新的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109561118A (zh) * 2017-09-26 2019-04-02 比亚迪股份有限公司 软件升级方法、装置、系统、存储介质、电子设备及车辆
US20190265965A1 (en) * 2018-02-27 2019-08-29 Excelfore Corporation System and method for updating software in an electronic device
WO2020139400A1 (en) * 2018-12-27 2020-07-02 Didi Research America, Llc Trusted platform protection in an autonomous vehicle
CN111506537A (zh) * 2019-01-31 2020-08-07 富士通株式会社 车载系统和电子控制单元
CN110377307A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 一种车身控制器固件升级方法、终端、系统
CN110597538A (zh) * 2019-09-03 2019-12-20 广州小鹏汽车科技有限公司 一种基于ota升级系统的软件升级方法和ota升级系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4207707A4 *

Also Published As

Publication number Publication date
CN112673609B (zh) 2022-03-04
CN114666362A (zh) 2022-06-24
JP2023544123A (ja) 2023-10-20
CN112673609A (zh) 2021-04-16
EP4207707A1 (en) 2023-07-05
EP4207707A4 (en) 2023-11-01
US20230236822A1 (en) 2023-07-27
KR20230070039A (ko) 2023-05-19

Similar Documents

Publication Publication Date Title
WO2022061804A1 (zh) 一种数据传输系统、数据传输方法,智能车以及装置
CN105939213B (zh) 用于车辆的分系统和相应的车辆
US20230004381A1 (en) Software version rollback method, apparatus, and system
US20140007076A1 (en) Separate upgrade/modification of remote software in machine to machine communication
US20220276856A1 (en) Software upgrading method, apparatus, and system
CN111886576A (zh) 用于更新远程网络设备的方法和装置
JP7357796B2 (ja) ソフトウェアのアップグレード方法および装置
US20240045657A1 (en) System architecture for implementing dds communication based on autosar, communication method, and device
CN107193609B (zh) 应用中功能模块调用方法及装置、电子设备
CN113824795A (zh) 车端与云端的通信方法、装置、系统
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
WO2024008104A1 (zh) 远程升级方法及系统
CN113485920B (zh) 实现DoIP实体的方法、装置、可读存储介质及电子设备
CN114979157B (zh) 基于some/ip协议的负载均衡方法、系统、存储介质及计算机
WO2022205200A1 (zh) 一种版本管理方法和装置
CN115277671A (zh) 车辆的ota升级方法、装置、车辆及存储介质
CN114374714A (zh) 集中式汽车电子电气架构搭建方法、拓扑结构及存储介质
CN115134244B (zh) 车辆接入设备管理方法、装置、电子设备及存储介质
CN115314376B (zh) 集群中网络插件部署方法和装置、电子设备和存储介质
WO2023142107A1 (zh) 设备升级的方法、装置、芯片、存储介质及程序产品
WO2022244588A1 (ja) 車両用電子制御装置、更新プログラム及びデータ構造
JP2022175440A (ja) センタ、更新制御方法、更新制御プログラム、otaマスタ
US20240111519A1 (en) Onboard communication system, center device, vehicle-side system, and method for verifying update data of onboard communication
CN117421022A (zh) 应用更新方法、装置、电子设备及存储介质
CN118276962A (zh) 服务管理方法、应用管理方法、装置以及车辆

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2023518969

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020954655

Country of ref document: EP

Effective date: 20230330

ENP Entry into the national phase

Ref document number: 20237013439

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 20954655

Country of ref document: EP

Kind code of ref document: A1