Data transmission system, data transmission method, intelligent vehicle, and device

The data transmission system optimizes AutoSar software upgrades by allowing the OTA server to directly send packages to ECUs with sufficient storage, addressing storage and processing demands, thus enhancing upgrade efficiency and preventing failures.

JP2025000707AActive Publication Date: 2025-01-07YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024161251
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-18
Publication Date
2025-01-07
Estimated Expiration
2040-09-27

AI Technical Summary

Technical Problem

The existing AutoSar software upgrade procedure in vehicles requires the master ECU to buffer and transfer software packages to node ECUs, which demands significant storage space and processing power, leading to potential upgrade failures and inefficiencies due to resource constraints.

Method used

A data transmission system where the OTA server directly sends software packages to node ECUs, reducing the reliance on the master ECU's storage and processing capabilities, and includes new interfaces to ensure sufficient storage space is available before transmission, preventing upgrade failures and improving efficiency.

Benefits of technology

This approach enhances vehicle software upgrade efficiency by minimizing the master ECU's storage and processing requirements, preventing resource wastage, and ensuring successful upgrades by distributing downloads only when all node ECUs have sufficient space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025000707000001_ABST
    Figure 2025000707000001_ABST
Patent Text Reader

Abstract

SOLUTION: In a data transmission system including an Over The Air (OTA) server, a master electronic control unit (ECU) and node ECUs, An OTA server calls a first interface of the master ECU. The master ECU acquires a size of a target software package in response to the call to the first interface by the OTA server. The master ECU calls a second interface of a node ECU. The node ECU acquires the size of the target software package in response to the call to the second interface by the master ECU, checks a remaining storage space of the node ECU, and receives a target software package transmitted by the OTA server in the case where the remaining storage space is equal to or more than the size of the target software package.EFFECT: Dependence on storage ability and processing ability of a master ECU is reduced, and upgrade efficiency is improved.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present application relates to the field of vehicle network technology, and in particular to a data transmission system, a data transmission method, an intelligent vehicle, and an apparatus. [Background technology]

[0002] Automotive Open System Architecture (AutoSar) is an open and standardized software architecture jointly established by global automobile manufacturers, component suppliers, and electronic software system companies. It is a consolidation of experience in automotive technology developed over more than 100 years. AutoSar defines a set of system service interfaces. These interfaces can be used to implement compatibility and interoperability of different software, thereby simplifying automotive software development and facilitating software deployment on different models of vehicles.

[0003] In AutoSar, software upgrades in vehicles can be implemented by using over-the-air (OTA) technology. Software packages can be downloaded locally from a cloud server by using OTA technology. A vehicle includes multiple electronic control units (ECUs), and each of the multiple ECUs has a software upgrade requirement, so that an update and configuration management master (UCM Master) module needs to be installed in at least one of the multiple ECUs, and an update and configuration management (UCM) module needs to be installed in each of the other ECUs that have a software upgrade requirement. The software packages are downloaded from the cloud server to the ECUs that have the UCM Master module installed by using OTA technology, and then distributed by the ECUs that have the UCM Master module installed to the multiple ECUs that have the UCM module installed, to complete the software upgrade of the entire vehicle. Summary of the Invention

[0004] The embodiments of the present application provide a data transmission system, a data transmission method, an intelligent vehicle, and an apparatus. According to the solution provided in the present application, in the process of implementing in-vehicle software upgrade by using OTA technology, the dependency on the storage capacity and processing capacity of the master ECU is reduced, and the upgrade efficiency is improved.

[0005] In order to achieve the above objectives, the following technical solutions are provided in the embodiments of the present application.

[0006] According to a first aspect, the present application provides a data transmission system. The data transmission system includes an over-the-air (OTA) server, a master electronic control unit (ECU), and a node ECU. The OTA server is configured to call a first interface of the master ECU. The interface can be understood as an interaction method and rule between a first device and a second device. The master ECU is configured to obtain a size of a target software package in response to the OTA server calling the first interface. In the present application, the target software package may alternatively be referred to as a software package for short, or as an upgrade package or a software upgrade package. The software package includes data for upgrading the node ECU. In other words, the OTA server may send the size of the target software package to the master ECU by calling the first interface of the master ECU. The master ECU is further configured to call a second interface of the node ECU. The node ECU is configured to obtain the size of the target software package in response to the master ECU calling the second interface, check the remaining storage space of the node ECU, and receive the target software package sent by the OTA server if the remaining storage space is equal to or greater than the size of the target software package. The data transmission system provided in the present application may be AutoSar. When the data transmission system provided in the present application is AutoSar, the master ECU is an ECU in which a UCM Master module is installed in an ECU in a vehicle, the node ECU is an ECU in which a UCM module is installed in an ECU in a vehicle, and the interface may be understood as an interaction method and rule between a first module of a first device and a second module of a second device. In the solution provided in the present application, the OTA server can know whether to send the software package of the first ECU to the first ECU in multiple ways.As can be seen from the first aspect, in the solution according to the first aspect, the target software package of the node ECU is directly sent to the node ECU by the OTA server, and the master ECU does not need to buffer the software package of the node ECU and does not need to transfer the upgrade package of the node ECU. In this way, the master ECU does not need to have a relatively large storage space or a relatively high processing performance. In the process of implementing on-board software upgrade by using OTA technology, the dependency on the storage capacity and processing capacity of the master ECU is reduced.

[0007] Optionally, in relation to the first aspect, in a first possible implementation, the node ECU is further configured to return a first call result to the master ECU. The first call 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 equal to or greater than the size of the target software package. The master ECU is further configured to call a third interface of the OTA server when obtaining the first parameter value. The OTA server is further configured to send the target software package to the node ECU in response to the master ECU calling the third interface. As can be seen from the first possible implementation of the first aspect, a specific manner is provided for the OTA server to know that the OTA server should directly send the target software package to the node ECU. A manner may be used in which the first parameter value is added to the first call result, so that the OTA server knows that the OTA server should directly send the target software package to the node ECU.

[0008] Optionally, in relation to the first possible implementation of the first aspect, in a second possible implementation, the second interface is a TransferStart interface. The TransferStart interface is an interface defined in AutoSar. In the second possible implementation of the first aspect, a parameter is added to the call result of the existing TransferStart interface defined by AutoSar, and the parameter can be used to instruct the OTA server to send the target software package to the node ECU. As can be seen from the second possible implementation of the first aspect, in this solution, the existing software upgrade procedure specified by AutoSar is slightly modified. 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, so that the OTA server knows that it can perform a distributed download and directly sends the target software package of the node ECU to the node ECU without using the master ECU.

[0009] Optionally, in relation to the first aspect, the first possible implementation form of the first aspect, or the second possible implementation form of the first aspect, in a third possible implementation form, the number of node ECUs is N, and N is an integer greater than 1. The master ECU is specifically configured to call the third interface of the OTA server when obtaining the N first parameter values. As can be seen from the third possible implementation form of the first aspect, when the data transmission system includes multiple node ECUs, the master ECU calls the third interface of the OTA server only when the master ECU knows that the remaining storage space of each node ECU in the multiple node ECUs is equal to or greater than the size of the software package of each node ECU, so that the OTA server sends the software package to each node ECU. After the third interface of the OTA server is called, the OTA server may send the software package to each node ECU separately, or may send each software package to multiple node ECUs simultaneously. As can be seen from the third possible implementation of the first aspect, the master ECU can know in advance whether the remaining storage space of all node ECUs is sufficient, and the software package is sent only if the remaining storage space of all node ECUs is sufficient to store the respective software packages. This prevents upgrade failure caused by the lack of resources of some node ECUs in the download process, and reduces user traffic consumption and resource waste caused by upgrade failure. In addition, in this implementation, the second interface can be understood as a newly defined interface in AutoSar in this solution. The master ECU can call the second interfaces of multiple node ECUs to obtain multiple first call results at one time.

[0010] Optionally, in relation to the first aspect, the first possible implementation form of the first aspect, or the second possible implementation form of the first aspect, in a fourth possible implementation form, the number of node ECUs is N, where N is an integer greater than 1. The master ECU is specifically configured not to call the third interface of the OTA server when obtaining the M first parameter values, where M is an integer less than N and greater than 1. As can be seen from the third possible implementation form of the first aspect, if the master ECU does not know that the remaining storage space of each node ECU in the plurality of node ECUs is equal to or greater than the size of the software package of each node ECU, the master ECU does not call the third interface of the OTA server. In other words, if the remaining storage space of some node ECUs among the plurality of node ECUs is insufficient to store the software package of the node ECU, the OTA server does not send the software package to any node ECU among the plurality of node ECUs. This prevents upgrade failures caused by insufficient resources of some node ECUs during the download process, and reduces user traffic consumption and resource waste caused by upgrade failures.

[0011] Optionally, in relation to the first aspect, in a fifth possible implementation form, the master ECU is further configured to obtain a 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 call result to the master ECU. The first call 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 equal to or greater than the size of the target software package. As can be seen from the fourth possible implementation form of the first aspect, when the OTA server knows that the OTA server should directly send the target software package to the node ECU, the OTA server may send the download address of the target software package of the node ECU to the master ECU, and the remaining storage space of the node ECU is sufficient to store the target software package of the node ECU, a specific manner is provided in which the master ECU may send the download address to the node ECU, and the node ECU may request the OTA server to send the target software package of the node ECU based on the download address.

[0012] Optionally, in relation to the fifth possible implementation form of the first aspect, in a sixth possible implementation form, the first interface is a TransferVehiclePackage interface. The TransferVehiclePackage interface is an interface defined in AutoSar. In the sixth possible implementation form of the first aspect, in this solution, the download address of the target software package is added to the existing TransferVehiclePackage interface, and the master ECU can obtain the download address of the target software package by using the TransferVehiclePackage interface. This provides a specific way for the OTA server to directly send the software package to the node ECU based on AutoSar, thereby improving the diversity of the solution.

[0013] Optionally, in relation to the fifth possible implementation of the first aspect or the sixth possible implementation of the first aspect, in a seventh possible implementation, the number of the node ECUs is N, and N is an integer greater than 1. The master ECU is specifically configured to call the fourth interface of the node ECU when obtaining the N first parameter values. As can be seen from the seventh possible implementation of the first aspect, when the data transmission system includes a plurality of node ECUs, the master ECU calls the fourth interface of the node ECU only when the master ECU knows that the remaining storage space of each node ECU in the plurality of node ECUs is equal to or greater than the size of the software package of each node ECU, so that the node ECU obtains the download address of the software package. When the master ECU knows that the remaining storage space of each node ECU in the plurality of node ECUs is equal to or greater than the size of the software package of each node ECU, each node ECU may be enabled to obtain the download address of the software package of each node ECU according to the software package transmission sequence obtained from the OTA. Alternatively, the download address of each software package may be transmitted to the plurality of node ECUs simultaneously. As can be seen from the seventh possible implementation form of the first aspect, the software package is sent only when the remaining storage space of all node ECUs is sufficient to store each software package, which prevents upgrade failure caused by the lack of resources of some node ECUs in the download process, and reduces user traffic consumption and resource waste caused by upgrade failure.

[0014] Optionally, in relation to the fifth possible implementation form of the first aspect or the sixth possible implementation form of the first aspect, in an eighth possible implementation form, the number of node ECUs is N, where N is an integer greater than 1. The master ECU is specifically configured not to call the fourth interface of the node ECU when obtaining the M first parameter values, where M is an integer less than N and greater than 1. As can be seen from the eighth possible implementation form of the first aspect, if the master ECU does not know that the remaining storage space of each node ECU in the plurality of node ECUs is equal to or greater than the size of the software package of each node ECU, the fourth interface of the node ECU is not called. In other words, if the remaining storage space of some node ECUs among the plurality of node ECUs is insufficient to store the software package of the node ECU, the master ECU does not send the download address of the software package of any node among the plurality of node ECUs to the node. This prevents upgrade failure caused by the lack of resources of some node ECUs in the download process, and reduces user traffic consumption and resource waste caused by upgrade failure.

[0015] Optionally, in relation to the first aspect or the first possible implementation form of the first aspect to the sixth possible implementation form of the first aspect, in a ninth possible implementation form, the data transmission system is a data transmission system based on AutoSar.

[0016] Optionally, in relation to the first aspect or the first possible implementation form of the first aspect to the sixth possible implementation form of the first aspect, in a tenth possible implementation form, the node ECU is further configured to send a prompt message, the prompt message being used to indicate that the node ECU downloads a target software package from an OTA server.

[0017] Optionally, in relation to the first aspect or the first possible implementation form of the first aspect to the sixth possible implementation form of the first aspect, in an eleventh possible implementation form, the master ECU is further configured to send a prompt message, which is used to indicate that the node ECU downloads a target software package from the OTA server.

[0018] According to a second aspect, the present application provides an over-the-air (OTA) server. The OTA server includes an update and configuration management (UCM) module. The UCM module is configured to call a first interface of a master ECU, and in response to the OTA server calling the first interface, the master ECU obtains a size of a target software package, and the master ECU calls a second interface of a node ECU, and in response to the master ECU calling the second interface, the node ECU obtains a size of the target software package and checks a remaining storage space of the node ECU, and if the remaining storage space is equal to or greater than the size of the target software package, the node ECU receives the target software package sent by the OTA server.

[0019] Optionally, in relation to the second aspect, in a first possible implementation form, the UCM module is further configured to send the target software package to the node ECU in response to the master ECU calling a third interface of the UCM module, the third interface being an interface of the UCM module and being an interface called by the master ECU when the master ECU obtains a first parameter value, the first parameter value being a parameter value included in a first call result returned by the node ECU to the master ECU, and the first parameter value being used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the target software package.

[0020] Optionally, in relation to the second aspect, in a second possible implementation form, the UCM module is further configured to call a first interface of the master ECU, and in response to the OTA server calling the first interface, the master ECU obtains a download address of the target software package, and then in response to the master ECU calling the fourth interface, the node ECU obtains the download address of the target software package and calls a 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.

[0021] According to a third aspect, the present application provides a master electronic control unit (ECU). The master ECU includes an update and configuration management master (UCM Master) module. The UCM Master module is configured to obtain a size of a target software package in response to an OTA server calling a first interface of the UCM Master module. The UCM Master module is further configured to call a second interface of a node ECU, and in response to the second interface being called, the node ECU obtains the size of the target software package and checks the remaining storage space of the node ECU, and if the remaining storage space is equal to or greater than the size of the target software package, the node ECU receives the target software package sent by the OTA server.

[0022] Optionally, in relation to the third aspect, in a first possible implementation form, the UCM Master module is further configured to call a third interface of the OTA server when obtaining the first parameter value, and in response to the third interface being called, the OTA server sends the target software package to the node ECU, the first parameter value being a parameter value included in the first call result returned by the node ECU to the master ECU, and the first parameter value is used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the target software package.

[0023] Optionally, in relation to the first possible implementation form of the third aspect, in a second possible implementation form, the number of node ECUs is N, where N is an integer greater than 1. The UCM Master module is specifically configured to call a third interface of the OTA server when obtaining the N first parameter values.

[0024] Optionally, in relation to the third aspect, in a third possible implementation form, the UCM Master module is further configured to obtain a download address of the target software package in response to the OTA server calling the first interface. The UCM Master module is further configured to call a fourth interface of the node ECU when obtaining the first parameter value, and in response to the fourth interface being called, the node ECU obtains the download address and calls a fifth interface of the OTA server, and then in response to the fifth interface being called, the OTA server receives the download address and sends the target software package to the node ECU according to the download address. The first parameter value is a parameter value included in the first call result returned by the node ECU to the master ECU, and the first parameter value is used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the target software package.

[0025] Optionally, in relation to a third possible implementation form of the third aspect, in a fourth possible implementation form, the number of node ECUs is N, where N is an integer greater than 1. The UCM Master module is specifically configured to call a fourth interface of the node ECU when obtaining the N first parameter values.

[0026] According to a fourth aspect, the present application provides a node electronic control unit (ECU). The node ECU includes an update and configuration management (UCM) module. The UCM module is configured to obtain a size of a target software package in response to the master ECU invoking a second interface of the UCM module after the first interface of the master ECU is invoked, check a remaining storage space of the node ECU, and receive the target software package sent by the OTA server if the remaining storage space is equal to or greater than the size of the target software package. The first interface of the master ECU is invoked by the OTA server, and in response to the first interface being invoked, the master ECU obtains the size of the target software package.

[0027] Optionally, in relation to the fourth aspect, in a first possible implementation form, the UCM module is further configured to return a first call result to the master ECU, the first call result including a first parameter value, the first parameter value being used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the target software package, the master ECU calls a third interface of the OTA server when obtaining the first parameter value, and then in response to the master ECU calling the third interface, the OTA server sends the target software package to the node ECU.

[0028] Optionally, in relation to the fourth aspect, in a second possible implementation form, the UCM module is further configured to return a first call result to the master ECU. The first call 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 equal to or greater than the size of the target software package, and the master ECU calls a fourth interface of the node ECU when obtaining the first parameter value. The UCM module is further configured to obtain a download address of the target software package in response to the master ECU calling the fourth interface, and call a fifth interface of the OTA server, and in response to the fifth interface being called, the OTA server receives the download address and sends the target software package to the node ECU according to the download address.

[0029] According to a fifth aspect, the present application provides a data transmission method including: an OTA server calling a first interface of a master ECU; in response to the OTA server calling the first interface, the master ECU obtaining a size of a target software package; the master ECU calling a second interface of a node ECU; in response to the master ECU calling the second interface, the node ECU obtaining the size of the target software package and checking a remaining memory space of the node ECU; and if the remaining memory space is greater than or equal to the size of the target software package, the node ECU receiving the target software package transmitted by the OTA server.

[0030] Optionally, in relation to the fifth aspect, in a first possible implementation form, the method further includes the OTA server sending the target software package to the node ECU in response to the master ECU calling a third interface of the UCM module, the third interface being an interface of the OTA server and an interface called by the master ECU when the master ECU obtains a first parameter value, the first parameter value being a parameter value included in a first call result returned by the node ECU to the master ECU, and the first parameter value being used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the target software package.

[0031] Optionally, in relation to the fifth aspect, in a second possible implementation form, the method further includes: the OTA server calls a first interface of the master ECU; in response to the OTA server calling the first interface, the master ECU obtains a download address of the target software package; and in response to the master ECU calling the fourth interface, the node ECU obtains the download address of the target software package and calls a fifth interface of the OTA server. In response to the node ECU calling the fifth interface of the UCM module, 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.

[0032] According to a sixth aspect, the present application provides a data transmission method, including: a master ECU, in response to an OTA server invoking a first interface of a UCM Master module, obtaining a size of a target software package; the master ECU invoking a second interface of a node ECU; in response to the second interface being invoked, the node ECU obtains the size of the target software package and checks a remaining storage space of the node ECU; and if the remaining storage space is equal to or greater than the size of the target software package, the node ECU receives the target software package transmitted by the OTA server.

[0033] Optionally, in relation to the sixth aspect, in a first possible implementation form, the method further includes the master ECU calling a third interface of the OTA server when obtaining the first parameter value, and in response to the third interface being called, the OTA server sending the target software package to the node ECU, where the first parameter value is a parameter value included in the first call result returned by the node ECU to the master ECU, and the first parameter value is used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the target software package.

[0034] Optionally, in relation to the first possible implementation form of the sixth aspect, in a second possible implementation form, the number of node ECUs is N, where N is an integer greater than 1. The master ECU calling a third interface of the OTA server when obtaining the first parameter value includes the master ECU calling a third interface of the OTA server when obtaining the N first parameter values.

[0035] Optionally, in relation to the sixth aspect, in a third possible implementation form, the method further includes the master ECU obtaining a download address of the target software package in response to the OTA server calling the first interface. The master ECU calls a fourth interface of the node ECU when obtaining the first parameter value, and in response to the fourth interface being called, the node ECU obtains the download address and calls a fifth interface of the OTA server, and then in response to the fifth interface being called, the OTA server receives the download address and sends the target software package to the node ECU according to the download address. The first parameter value is a parameter value included in the first call result returned by the node ECU to the master ECU, and the first parameter value is used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the target software package.

[0036] Optionally, in relation to a third possible implementation form of the sixth aspect, in a fourth possible implementation form, the number of node ECUs is N, where N is an integer greater than 1. The master ECU calling the fourth interface of the node ECU when obtaining the first parameter value includes the master ECU calling the fourth interface of the node ECU when obtaining the N first parameter values.

[0037] According to a seventh aspect, the present application provides a data transmission method including: in response to the master ECU invoking a second interface of the UCM module after the first interface of the master ECU is invoked, the node ECU obtains a size of the target software package, checks a remaining storage space of the node ECU, and if the remaining storage space is equal to or greater than the size of the target software package, the node ECU receives the target software package transmitted by the OTA server. The first interface of the master ECU is invoked by the OTA server, and in response to the first interface being invoked, the master ECU obtains the size of the target software package.

[0038] Optionally, in relation to the seventh aspect, in a first possible implementation form, the method further includes the node ECU returning a first call result to the master ECU, the first call result including a first parameter value, the first parameter value being used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the target software package, the master ECU calling a third interface of the OTA server in obtaining the first parameter value, and then in response to the master ECU calling the third interface, the OTA server sending the target software package to the node ECU.

[0039] Optionally, in relation to the seventh aspect, in a second possible implementation form, the method further includes the node ECU returning a first call result to the master ECU. The first call 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 equal to or greater than the size of the target software package, and the master ECU calls a fourth interface of the node ECU when obtaining the first parameter value. In response to the master ECU calling the fourth interface, the node ECU obtains a download address of the target software package and calls a fifth interface of the OTA server, and in response to the fifth interface being called, the OTA server receives the download address and sends the target software package to the node ECU according to the download address.

[0040] According to an eighth aspect, the present application provides an OTA server, which may include a processor, the processor coupled to a memory, the memory storing program instructions, and the program instructions stored in the memory, when executed by the processor, implements a method according to the fifth aspect and any one of the possible implementations of the fifth aspect.

[0041] According to a ninth aspect, the present application provides an ECU, which may include a processor, the processor coupled to a memory, the memory storing program instructions, and the program instructions stored in the memory, when executed by the processor, implements a method according to the sixth aspect and any one of the possible implementations of the sixth aspect.

[0042] According to a tenth aspect, the present application provides an ECU, the ECU may include a processor, the processor coupled to a memory, the memory storing program instructions, the program instructions stored in the memory being executed by the processor to implement a method according to the seventh aspect and any one of the possible implementations of the seventh aspect.

[0043] According to an eleventh aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium may include a program. When the program is executed on a computer, the computer is enabled to execute the method according to the fifth aspect and any one of the possible implementation forms of the fifth aspect.

[0044] According to a twelfth aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium may include a program. When the program is executed on a computer, the computer is enabled to perform the method according to the sixth aspect and any one of the possible implementations of the sixth aspect.

[0045] According to a thirteenth aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium may include a program. When the program is executed on a computer, the computer is enabled to perform the method according to the seventh aspect and any one of the possible implementations of the seventh aspect.

[0046] According to a fourteenth aspect, the present application provides a chip system, which may include a processor configured to support a vehicle to implement functions in the method according to any one of the sixth aspect and possible implementations of the sixth aspect.

[0047] According to a fifteenth aspect, the present application provides a chip system, which may include a processor configured to support a vehicle to implement functions in the method according to the seventh aspect and any one of the possible implementations of the seventh aspect.

[0048] According to a sixteenth aspect, the present application provides a computer program product, which when executed on a device enables the device to perform a method according to the fifth aspect and any one of the possible implementations of the fifth aspect.

[0049] According to a seventeenth aspect, the present application provides a computer program product, which when executed on a device enables the device to perform a method according to the sixth aspect and any one of the possible implementations of the sixth aspect.

[0050] According to an eighteenth aspect, the present application provides a computer program product, which when executed on a device enables the device to perform a method according to the seventh aspect and any one of the possible implementations of the seventh aspect.

[0051] According to a nineteenth aspect, the present application provides an intelligent vehicle, which may include a master ECU and a node ECU, the master ECU being an ECU according to the third aspect and any one of the possible implementations of the third aspect, and the node ECU being an ECU according to the fourth aspect and any one of the possible implementations of the fourth aspect.

[0052] According to a twentieth aspect, the present application provides an intelligent vehicle, the intelligent vehicle including a processing circuit and a storage circuit, the processing circuit and the storage circuit configured to perform a method according to the sixth aspect and any one of the possible implementations of the sixth aspect.

[0053] According to a twenty-first aspect, the present application provides an intelligent vehicle, the intelligent vehicle including a processing circuit and a storage circuit, the processing circuit and the storage circuit configured to perform a method according to the seventh aspect and any one of the possible implementations of the seventh aspect.

[0054] This application provides a data transmission system, a data transmission method, an intelligent vehicle, and an apparatus. According to the solution provided in this application, the master ECU still controls the upgrade process of each node ECU. However, the software package of each node ECU is directly transmitted to each node ECU by the OTA server, and the master ECU does not need to buffer the software package of each node ECU and does not need to forward the upgrade package of each node ECU. In this way, the master ECU does not need to have a relatively large storage space or a relatively high processing performance, and the upgrade efficiency can be further improved. In addition, in the data transmission system provided in this application, a new interface is defined. When all the node ECUs have enough storage space to store their respective software packages, the respective software packages are transmitted to the node ECUs. This prevents upgrade failures caused by the lack of resources of some node ECUs in the download process, and reduces user traffic consumption and resource waste caused by upgrade failures. The upgrade efficiency can be further improved. [Brief description of the drawings]

[0055] [Figure 1] FIG. 1 is a schematic diagram of AutoSar. [Diagram 2] FIG. 1 is a schematic diagram of an architecture for implementing software upgrades in AutoSar. [Diagram 3] 1 is a schematic diagram of the software upgrade procedure in AutoSar. [Figure 4] 1 is a schematic flowchart of a data transmission method according to an embodiment of the present application; [Diagram 5] 4 is a schematic flowchart of another data transmission method according to an embodiment of the present application; [Figure 6] 4 is a schematic flowchart of another data transmission method according to an embodiment of the present application; [Figure 7a]4 is a schematic flowchart of another data transmission method according to an embodiment of the present application; [Figure 7b] 4 is a schematic flowchart of another data transmission method according to an embodiment of the present application; [Figure 8] FIG. 1 is a schematic diagram of the structure of a data transmission system according to an embodiment of the present application; [Figure 9] 1 is a schematic diagram of the structure of a communication device according to an embodiment of the present application; [Figure 10] 1 is a schematic diagram of a vehicle structure according to an embodiment of the present application; [Figure 11] FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0056] The following describes the embodiments of the present application with reference to the accompanying drawings. It is clear that the described embodiments are only a part, not all, of the embodiments of the present application. Those skilled in the art can know that with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application can also be applied to similar technical problems.

[0057] In the specification, claims, and accompanying drawings of this application, terms such as "first," "second," and the like are intended to distinguish between similar objects and do not necessarily indicate a particular order or sequence. It is to be understood that the embodiments described herein may be implemented in other orders than those illustrated or described herein, as data used in such methods may be interchangeable where appropriate. Furthermore, the terms "including," "having," and any other variations thereof are intended to cover a non-exclusive inclusion, e.g., a process, method, system, product, or device that includes a series of steps or modules is not necessarily limited to the steps or modules that are explicitly recited, but may include other steps or modules that are not explicitly recited or that are inherent to such process, method, product, or device. The naming or numbering of steps in this application does not imply that the steps in a method procedure must be performed according to the time / logical sequence indicated by the naming or numbering. The sequence of execution of steps in a named or numbered procedure may be changed according to the technical objective to be achieved, provided that the same or similar technical effect may be achieved. The division into modules in this application is a logical division. There may be other division methods in actual application. For example, multiple modules may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be implemented by using some interfaces. The indirect coupling or communication connection between modules may be implemented in electronic form or another similar form. This is not limited in this application. In addition, modules or sub-modules described as separate parts may or may not be physically separate, may or may not be physical modules, or may be distributed on multiple circuit modules. Some or all of the modules may be selected based on the actual requirements for implementing the objectives of the solution of this application.

[0058] AutoSar is an open and standardized software architecture jointly established by global automobile manufacturers, parts suppliers, and electronic software system companies. It is a consolidation of experience in automotive technology developed over more than 100 years. AutoSar defines a set of system service interfaces. These interfaces can be used to implement compatibility and interoperability of different software, thereby simplifying automotive software development and facilitating software deployment on different models of vehicles. AutoSar has the following main features:

[0059] a.AutoSar is dedicated to resolving software development difficulties caused by differences between hardware platforms, so that developers can focus on innovation in automotive software functions.

[0060] b.AutoSar provides standard software interface definitions, allowing engineers to assign required software components to vehicle electronic control units (ECUs) based on actual requirements to achieve the reusability of standard software components.

[0061] c.AutoSar's application layer software components are hardware independent, therefore application developers can specify the details of each vehicle function in the application software without worrying about incompatibility issues between the lowest layer software services and the hardware interfaces.

[0062] Figure 1 is a schematic diagram of AutoSar. Generally, AutoSar can be considered to include an application layer and a services layer.

[0063] The application layer encapsulates some or all of the functions and behaviors of the automotive electronics device, including the implementation and corresponding descriptions of specific module functions, and exposes only defined interfaces to the outside world.

[0064] The main services of the service layer include communication management service (COM), cryptography service (CRYPTO), logging & tracing service (LOG), diagnostics service (DIAG), persistency service (PER), state management service (SM), execution management service (EXEC), time synchronization service (TSYNC), update and configuration management service (UCM), update and configuration management master service (UCM Master), etc. The solution provided in this application mainly relates to the UCM and UCM Master in the service layer. The embodiment provided in this application mainly focuses on the UCM and UCM Master in the service layer in AutoSar. The UCM and UCM Master are responsible for managing the updates and upgrades of vehicle software in the vehicle. The existing standard defines the interface and interaction procedure between the UCM and UCM Master services. By using these interfaces, a vehicle user or manufacturer can easily install, update, and uninstall software in the AutoSar system. With reference to Figures 2 and 3, the process of upgrading vehicle software in a vehicle by using the UCM in AutoSar is described below.

[0065] FIG. 2 is a schematic diagram of an architecture for implementing software upgrades in AutoSar. In AutoSar, software upgrades in vehicles can be implemented by using OTA technology. OTA means that vehicle software is updated or upgraded by using a wireless communication interface, such as wireless fidelity (Wi-Fi), long term evolution (LTE), or 5th generation (5G). Because OTA upgrades do not depend on a fixed location or fixed line, OTA upgrades have flexibility and convenience that traditional vehicle software upgrade methods do not have. Software upgrade packages can be downloaded locally from a cloud server by using OTA technology. In this application, the cloud server may alternatively be referred to as an OTA server, an OTA cloud, or an OTA cloud server, and these terms have the same meaning. Local in this application refers to an ECU in a vehicle. A vehicle includes multiple ECUs, the software of the multiple ECUs may have upgrade requirements, and the upgrade sequence of the multiple ECUs may have dependencies, i.e., the software upgrade sequence of the multiple ECUs needs to be controlled. In addition, the upgrade conditions may be further restricted, for example, whether the software can be upgraded while driving or only after user consent is obtained. Therefore, a control module needs to be installed in at least one of the ECUs to coordinate the software upgrades of the ECUs. In AutoSar, this module is a UCM Master module. Typically, the UCM Master module may be installed in a gateway or a telematics box (TBOX).In addition, UCM modules are installed on other ECUs in the vehicle, so that the ECU with the UCM Master module installed controls and coordinates the UCM modules on other ECUs that need to be upgraded to complete the software upgrade of the whole vehicle. The interactive process of software upgrade and download in AutoSar is described below with reference to Figure 3. Hereinafter, the ECU with the UCM Master module installed is called the master ECU, and the ECU with the UCM module installed is called the node ECU.

[0066] FIG. 3 is a schematic diagram of a software upgrade procedure in AutoSar. As shown in FIG. 3, the transmission system includes an OTA server, a master ECU, and a plurality of node ECUs. For example, FIG. 3 shows two node ECUs, node ECU1 and node ECU2. The master ECU is an ECU in a vehicle in which a UCM Master module is installed, and the node ECU is an ECU in a vehicle in which a UCM module is installed. The software upgrade procedure in AutoSar may include the following steps.

[0067] 301: The OTA server calls the TransferVehiclePackage interface of the master ECU.

[0068] The OTA server calls the TransferVehiclePackage interface of the UCM Master module of the master ECU. It should be noted that the UCM Master module may alternatively be referred to as a UCM Master service in this application. In addition, it should be noted that the interface of the master ECU in this application is the interface of the UCM Master module of the master ECU. Details will not be described again later.

[0069] The whole-vehicle upgrade package mainly includes control information such as upgrade policies, and the master ECU may control the upgrade and update process of each node ECU based on the information. For example, the master ECU may control the upgrade sequence and upgrade conditions of each node ECU based on the control information. The upgrade conditions may include whether to allow software to be upgraded in the driving state, whether software can be upgraded only after user consent, etc.

[0070] AutoSar defines the entire vehicle upgrade package download (TransferVehiclePackage) interface of the UCM Master module. The OTA server can call the TransferVehiclePackage interface of the master ECU to send control information such as upgrade policies to the master ECU. Specifically, the control information such as upgrade policies is sent to the UCM Master module.

[0071] The whole vehicle upgrade package further includes information about the software package of each ECU, for example, the information about the software package may include information about the package name and size.

[0072] 302: The OTA server calls the TransferStart interface of the master ECU.

[0073] The OTA server calls the TransferStart interface of the UCM Master service of the master ECU.

[0074] In this application, the software package may alternatively be referred to as a software upgrade package or an upgrade package, which terms have the same meaning and refer to the software code or data of the ECU that needs to be updated. AutoSar defines a TransferStart interface of the UCM Master service. The OTA server may call the TransferStart interface of the UCM Master service of the master ECU to send the name of the software upgrade package of each node ECU to the master ECU.

[0075] 303: The master ECU calls the TransferStart interface of node ECU1.

[0076] The master ECU calls the TransferStart interface of the UCM module of the node ECU 1. It should be noted that the interface of the node ECU in this application refers to the interface of the UCM module of the node ECU. The details will not be described again later.

[0077] For example, the node ECU includes a node ECU1.

[0078] The master ECU calls the TransferStart interface of the node ECU1, and a parameter value of the TransferStart interface of the node ECU1 is the size of the software upgrade package of the node ECU1. In response to the TransferStart interface being called, the ECU1 detects the remaining storage space and determines whether the remaining storage space is sufficient to store the upgrade package of the ECU1.

[0079] 304: The node ECU1 returns the result of the invocation of the TransferStart interface of the node ECU1.

[0080] In response to the master ECU invoking the TransferStart interface, the UCM module of the node ECU1 returns a call result of the TransferStart interface to the master ECU. The call result may indicate whether the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1.

[0081] 305: The master ECU feeds back the acquired call result of the TransferStart interface of the node ECU1 to the OTA server.

[0082] 306: The OTA server calls the TransferData interface of the master ECU.

[0083] The OTA server calls the TransferData interface of the UCM Master module of the master ECU.

[0084] If the OTA server can determine that the node ECU1 has sufficient storage space according to step 305, the OTA server sends an upgrade package of ECU1 to the master ECU. The upgrade package of ECU1 may include software code or data of ECU1 that needs to be updated.

[0085] AutoSar defines the TransferData interface of the UCM Master module and the TransferData interface of the UCM service. The OTA server calls the TransferData interface of the UCM Master service of the master ECU. The parameter value of the TransferData interface is the software package of ECU1. In this way, the software package of node ECU1 is sent to the master ECU.

[0086] 307: The master ECU invokes the TransferData interface of node ECU1.

[0087] The master ECU calls the TransferData interface of the UCM module of node ECU1. The parameter value of the TransferData interface is the software package of ECU1. In this way, the software package of node ECU1 is sent to node ECU1.

[0088] 308: The node ECU1 returns the result of the call to the TransferData interface of the node ECU1.

[0089] In response to the master ECU invoking the TransferData interface of node ECU1, the UCM module of node ECU1 may return a call result to inform the master ECU of successful or unsuccessful reception.

[0090] 309: The master ECU calls the TransferStart interface of node ECU2.

[0091] The master ECU calls a TransferStart interface of the UCM module of node ECU2, and a parameter value of the TransferStart interface of node ECU2 is the size of the software upgrade package of node ECU2. ECU2 detects the remaining storage space in response to the TransferStart interface being called, and determines whether the remaining storage space is sufficient to store the upgrade package of ECU2.

[0092] 310: The node ECU2 returns the result of the invocation of the TransferStart interface of the node ECU2.

[0093] In response to the master ECU invoking the TransferStart interface, the UCM module of the node ECU2 returns a call result of the TransferStart interface to the master ECU. The call result may indicate whether the node ECU2 has enough remaining storage space to store the upgrade package of the node ECU2.

[0094] 311: The master ECU feeds back the acquired call result of the TransferStart interface of the node ECU2 to the OTA server.

[0095] 312: The OTA server calls the TransferData interface of the master ECU.

[0096] If the OTA server can determine that the node ECU2 has sufficient storage space according to step 309, the OTA server sends an upgrade package for the ECU2 to the master ECU. The upgrade package for the ECU2 includes the software code or data of the ECU2 that needs to be updated.

[0097] The OTA server calls the TransferData interface of the master ECU to send the upgrade package of node ECU2 to the master ECU.

[0098] 313: The master ECU invokes the TransferData interface of node ECU2.

[0099] For example, the node ECUs also include node ECU2.

[0100] The master ECU calls the TransferData interface of node ECU2. The parameter value of the TransferData interface is the software package of ECU2. In this way, the software package of node ECU2 is sent to node ECU2.

[0101] In a possible implementation, the method may further include step 314 in which node ECU2 returns a result of the invocation of the TransferData interface of node ECU2.

[0102] In response to the master ECU invoking the TransferData interface of node ECU2, node ECU2 may return a call result to inform the master ECU whether the reception was successful or unsuccessful.

[0103] If another upgrade package download is further included, for example, another node ECU is further included, the process of downloading the upgrade package is the same as the process of downloading the upgrade package of node ECU1 and node ECU2. For understanding, please refer to step 303 to step 308 or step 309 to step 314. Step 303 to step 314 are intended to represent that the master ECU sends the size of the software upgrade package to each node ECU so that the node ECU can check whether there is enough free memory.

[0104] The applicant found that the software upgrade procedure in AutoSar has shortcomings. In the upgrade package transmission procedure, the master ECU needs to buffer the software packages of all node ECUs and then transfer the software packages of the node ECUs to the corresponding node ECUs, for example, steps 306 and 307 and steps 312 and 313 need to be performed. This design allows the master ECU to control the upgrade of each node ECU based on the control information and coordinate the upgrade process of multiple node ECUs. For example, controlling the upgrade sequence of each node ECU includes controlling the sequence of downloading, installing and launching the upgrade package of each node ECU. However, this design has relatively high requirements for the storage space and processing performance of the master ECU. If the storage space of the master ECU is insufficient, the download of the upgrade package may fail. If the processing performance of the master ECU is not high, the download efficiency will be affected, that is, the transmission speed of the upgrade package will be relatively low. This will affect the upgrade efficiency of the entire vehicle. In addition, the applicant found that in the above design, if some node ECUs do not have enough storage space, the node ECUs with enough storage space still need to download their respective software packages. In this case, if there is a dependency between a node ECU that does not have enough storage space and a node ECU that has enough storage space in the upgrade sequence, the upgrade of the node with enough storage space may fail even if the upgrade package is downloaded. As a result, storage resources are wasted and upgrade efficiency is affected. For example, node ECU1 has enough storage space and downloads the software package of node ECU1 from the master ECU. Node ECU2 does not have enough storage space, and the master ECU does not send the software package of node ECU2 to node ECU2.If node ECU1 and node ECU2 have dependency in upgrade, even if node ECU1 downloads the software package of node ECU1, the upgrade of node ECU1 may fail. As a result, the storage space of node ECU1 is wasted, and the upgrade efficiency is also affected. It should be noted that in addition to the dependency between node ECUs in the upgrade sequence, the upgrade may also fail because some node ECUs do not have enough storage space.

[0105] In order to solve the aforementioned problem, the present application provides a data transmission system. The master ECU still controls the upgrade process of each node ECU. For example, the master ECU can know the upgrade status of each node ECU. Specifically, in the present application, the master ECU can still know the download status of the node ECU, for example, control a given node ECU to download a software package, control a given node ECU not to download a software package, or control the sequence in which multiple node ECUs download their respective software packages. In other words, the master ECU may control multiple node ECUs to download software packages simultaneously or in a specific download sequence. Alternatively, the master ECU may control whether the node ECU downloads a software package. Based on this, that is, based on the master ECU still controlling the upgrade process of each node ECU, the software package of each node ECU is directly sent to each node ECU by the OTA server, and the master ECU does not need to buffer the software package of each node ECU and does not need to transfer the upgrade package of each node ECU. In this way, the master ECU does not need to have a relatively large storage space or a relatively high processing performance, and the upgrade efficiency can also be improved. In addition, in the data transmission system provided in this application, a new interface is defined. When all the node ECUs have enough storage space to store the respective software packages, the respective software packages are transmitted to the node ECUs. This can further improve the upgrade efficiency.

[0106] It should be noted that the data transmission system provided in this embodiment of the present application may be based on AutoSar or another data transmission system for upgrading ECUs in vehicles. The present application is described based on AutoSar, which is used as an example.

[0107] Based on the above research ideas, the technical solutions provided in this application are specifically described below.

[0108] FIG. 4 is a schematic flowchart of a data transmission method according to an embodiment of the present application.

[0109] The data transmission method provided in this embodiment of the present application may include the following steps.

[0110] 401: The OTA server calls the TransferVehiclePackage interface of the master ECU.

[0111] For understanding of step 401, please refer to step 301 in the corresponding solution in Fig. 3. Details will not be described again in this specification.

[0112] 402: The OTA server calls the TransferStart interface of the master ECU.

[0113] For understanding of step 402, please refer to step 302 in the corresponding solution in Fig. 3. Details will not be described again in this specification.

[0114] 403: The master ECU calls the TransferStart interface of node ECU1.

[0115] For understanding of step 403, please refer to step 303 in the corresponding solution in Fig. 3. Details will not be described again in this specification.

[0116] 404: The node ECU1 returns the result of the invocation of the TransferStart interface of the node ECU1.

[0117] In response to the master ECU invoking the TransferStart interface, the node ECU1 returns a call result of the TransferStart interface to the master ECU. The call result may indicate whether the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1.

[0118] In addition, in the solution provided in the present application, the call result may further include a first parameter, and the first parameter value is used to instruct the OTA server to directly send the software package of the node ECU1 to the node ECU1. The following description will be given with reference to some specific implementations.

[0119] In a possible implementation, if the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1, the call result further includes a first parameter value. The master ECU may feed back the first parameter value to the OTA server. After obtaining the first parameter value, the OTA server may directly send the software package to the node ECU1 without using the master ECU.

[0120] In a possible implementation, 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, and if the node ECU1 does not have enough remaining storage space to store the upgrade package of the node ECU1, the value of the first parameter is B. Here, A and B are examples to illustrate different values ​​of the first parameter in two cases: when the node ECU1 determines that there is enough remaining storage space, and when the node ECU1 determines that there is not enough remaining storage space. The node ECU1 feeds back the first parameter so that the OTA server can know whether it can directly send the software package to the node ECU1. For example, if the OTA server knows that the value of the first parameter is A, the OTA server can directly send the software package to the node ECU1 without using the master ECU.

[0121] 405: The master ECU feeds back the obtained result of calling the TransferStart interface of the node ECU1 to the OTA server.

[0122] The UCM Master module of the master ECU feeds back the obtained result of calling the TransferStart interface of node ECU1 to the UCM module of the OTA server.

[0123] In this solution, if the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1, the invocation result fed back to the OTA server includes the first parameter.

[0124] In a possible implementation form, the master ECU may call an interface of the OTA server to send the obtained call result of the TransferStart interface of the node ECU1 to the OTA server, and in response to the interface being called, the OTA server sends the software package to the node ECU. It should be noted that in this application, a device sending information to another device or instructing another device to perform an action is usually described as a device calling an interface of another device, that is, a device calling an interface of another device to send information to another device or instruct another device to perform an action. Details will not be described again in the embodiments of this application.

[0125] 406: The OTA server invokes the TransferData interface of node ECU1.

[0126] If the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1, the OTA server can directly send the software package of the node ECU1 to the node ECU1, and the software package does not need to be transferred by the master ECU. Specifically, the OTA server knows whether the software package of the node ECU1 can be directly sent to the node ECU1 based on the first parameter. The first parameter is a parameter included in the call result of the TransferStart interface of the node ECU1.

[0127] For example, in AutoSar, the OTA server may call the TransferData interface of node ECU1. The parameter value of the TransferData interface is the software package of ECU1. In this way, the software package of node ECU1 is sent to node ECU1.

[0128] In a possible implementation, the method may further include step 407 in which node ECU1 returns a result of the invocation of the TransferData interface of node ECU1.

[0129] In response to the OTA server invoking the TransferData interface of node ECU1, node ECU1 may return a call result to inform the OTA server whether the reception was successful or unsuccessful.

[0130] 408: The master ECU calls the TransferStart interface of node ECU2.

[0131] For example, the node ECUs further include a node ECU2, and the master ECU calls the TransferStart interface of the node ECU2.

[0132] 409: The node ECU2 returns the result of the invocation of the TransferStart interface of the node ECU2.

[0133] 410: The master ECU feeds back the acquired call result of the TransferStart interface of the node ECU2 to the OTA server.

[0134] 411: The OTA server invokes the TransferData interface of node ECU2.

[0135] The parameter value of the TransferData interface of node ECU2 is the software package of node ECU2.

[0136] In a possible implementation, the method may further include step 412 in which node ECU2 returns a result of the invocation of the TransferData interface of node ECU2.

[0137] For understanding of step 408 to step 412, please refer to step 403 to step 407. Details will not be described again in this specification. If another node ECU is further included, for understanding of the process of downloading the upgrade package, please refer to the process of downloading the upgrade package of ECU1, i.e., for understanding, please refer to step 403 to step 407.

[0138] As can be seen from the embodiment corresponding to Fig. 4, in this solution, the existing software upgrade procedure specified by AutoSar is slightly modified. 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, so that the OTA server knows that it can perform distributed download, and directly sends the upgrade package of the node ECU to the corresponding node ECU without using the master ECU. In this solution, the dependency on the storage space and processing performance of the master ECU is reduced. In addition, according to the solution provided in this application, multiple node ECUs can perform download simultaneously, which improves the download efficiency.

[0139] It should be noted that in addition to the solution provided in the embodiment corresponding to FIG. 4, the present application further provides another solution that can be implemented based on AutoSar, in which the OTA server directly sends the upgrade package to the node ECU. In addition, according to the solution provided in the present application, the master ECU can know in advance whether the remaining storage space of all the node ECUs is sufficient, and the software package is sent only when the remaining storage space of all the node ECUs is sufficient to store the respective software packages. This prevents upgrade failure caused by the lack of resources of some node ECUs in the download process, and reduces user traffic consumption and resource waste caused by upgrade failure. The following description will be given with reference to some specific embodiments.

[0140] FIG. 5 is a schematic flowchart of a data transmission method according to an embodiment of the present application.

[0141] 501: The OTA server calls the TransferVehiclePackage interface of the master ECU.

[0142] The OTA server calls the TransferVehiclePackage interface of the master ECU to send control information such as an upgrade policy and the name and size of the software upgrade package of each node ECU to the master ECU. For example, the OTA server calls the TransferVehiclePackage interface of the master ECU to send the name and size of the software package of node ECU1 and the name and size of the software package of node ECU2 to the master ECU.

[0143] 502: The master ECU calls the target interface of node ECU1.

[0144] In one implementation provided in this application, a new interface is defined, which allows the master ECU to know centrally whether the remaining storage space of all node ECUs is sufficient to store their respective software packages.

[0145] The parameter value of the target interface may be the size of the software package of each node ECU. For example, Table 1 provides a method for defining the target interface. Assume that the name of the target interface is TransferCheck, the input parameter value of the target interface is the size of the software package, and the return value of the target interface is true or false. Here, true may represent that the remaining storage space of the node ECU is sufficient to store the software package of the node ECU, and false may represent that the remaining storage space of the node ECU is insufficient to store the software package of the node ECU. [Table 1]

[0146] In response to the master ECU invoking the target interface, the node ECU checks whether the node ECU's storage space is sufficient to store the respective software package.

[0147] Taking ECU1 as an example, that is, the master ECU calls a target interface of node ECU1, and a parameter value of the target interface includes the size of the software package of node ECU1. In response to the target interface being called, node ECU1 detects the remaining storage space and determines whether the remaining storage space is sufficient to store the upgrade package of node ECU1.

[0148] 503: The node ECU1 returns the call result of the target interface of the node ECU1.

[0149] In response to the master ECU invoking the target interface, the node ECU1 returns a call result of the target interface to the master ECU. The call result may indicate whether the node ECU1 has enough remaining storage space to store the upgrade package of the node ECU1. For example, the returned call result is true or false.

[0150] 504: The master ECU calls the target interface of node ECU2.

[0151] For example, the node ECU further includes a node ECU2. In this case, the master ECU calls a target interface of the node ECU2, and a parameter value of the target interface includes a size of a software package of the ECU2. The ECU2 detects a remaining storage space in response to the target interface being called, and determines whether the remaining storage space is sufficient to store the upgrade package of the ECU2.

[0152] 505: The node ECU2 returns the result of the invocation of the target interface of the node ECU2.

[0153] In response to the master ECU invoking the target interface, the node ECU2 returns a call result of the target interface to the master ECU. The call result may indicate whether the node ECU2 has enough remaining storage space to store the upgrade package of the node ECU2. For example, the returned call result is true or false.

[0154] 506: The master ECU sends feedback information to the OTA server based on the obtained calling result of the target interface of the node ECU.

[0155] In the above steps 502 to 506, it is used for explanation that the node ECU includes a node ECU1 and a node ECU2. If another node ECU is further included, please refer to steps 502 to 506 for understanding the process of calling the target interface.

[0156] When the master ECU determines that all the node ECUs have enough storage space to store the respective software packages based on the invocation results of the target interfaces of all the node ECUs, the master ECU sends a feedback message to the OTA server. The feedback information is used to instruct the OTA server to perform distributed downloading, i.e., to instruct the OTA server to send the software packages of each node ECU to the corresponding node ECU. For example, when the node ECUs only include node ECU1 and node ECU2, the following three cases are considered:

[0157] 1. If the target interface call result returned by ECU1 indicates that ECU1 has enough storage space to store the software package of ECU1, and the target interface call result returned by ECU2 indicates that ECU2 has enough storage space to store the software package of ECU2, the master ECU sends a feedback message to the OTA server.

[0158] 2. If the target interface call result returned by ECU1 indicates that ECU1 has enough storage space to store the software package of ECU1, and the target interface call result returned by ECU2 indicates that ECU2 does not have enough storage space to store the software package of ECU2, the master ECU does not send a feedback message to the OTA server. In this case, the OTA server does not send the software package of ECU1 to ECU1.

[0159] 3. If the target interface call result returned by ECU1 indicates that ECU1 does not have enough storage space to store the software package of ECU1, and the target interface call result returned by ECU2 indicates that ECU2 has enough storage space to store the software package of ECU2, the master ECU does not send a feedback message to the OTA server. In this case, the OTA server does not send the software package of ECU2 to ECU2.

[0160] In a possible implementation, the master ECU may send feedback information to the OTA server when sending the status information. AutoSar defines that the master ECU sends status information to the OTA server to inform the OTA server of the current upgrade status. For example, the upgrade status may include a stage of downloading the upgrade package, a stage of installing the upgrade package, a stage of activating the upgrade package, etc. In this implementation of this embodiment of this application, new status information may be added, for example, a first status information is added. If the master ECU determines that all the node ECUs have enough storage space to store their respective software packages based on the calling results of the target interfaces of all the node ECUs, the master ECU sends the first status information when sending the status information to the OTA server. The first status information is used to inform the OTA server that a distributed download can be performed. After receiving the first status information, the OTA server directly sends the software packages of each node ECU to the corresponding node ECU, and the software packages are not forwarded by the master ECU.

[0161] 507: The OTA server invokes the TransferData interface of node ECU1.

[0162] If the OTA server determines based on the feedback messages that the software packages of the node ECUs can be sent to the node ECUs, the OTA server calls the TransferData interfaces of these nodes to send the software packages to the node ECUs.

[0163] The feedback message may be the status information sent by the master ECU. The status information is used to inform the OTA server that the distributed download is possible. After receiving the status information, the OTA server directly sends the software package of each node ECU to the corresponding node ECU, and the software package is not forwarded by the master ECU.

[0164] If the node ECU includes node ECU1, the OTA server may call the TransferData interface of node ECU1. The parameter value of the TransferData interface is the software package of ECU1. In this manner, the software package of node ECU1 is sent to node ECU1.

[0165] In a possible implementation, the method may further include step 508 in which node ECU1 returns a result of the invocation of the TransferData interface of node ECU1.

[0166] In response to the OTA server invoking the TransferData interface of node ECU1, node ECU1 may return a call result to inform the OTA server whether the reception was successful or unsuccessful.

[0167] 509: The OTA server invokes the TransferData interface of node ECU2.

[0168] If the node ECUs further include node ECU2, the OTA server calls the TransferData interface of node ECU2.

[0169] In a possible implementation, the method may further include step 510 in which node ECU2 returns a result of the invocation of the TransferData interface of node ECU2.

[0170] Please refer to step 507 and step 508 for understanding step 509 and step 510. Please note that if another node ECU is further included, refer to the process of interaction between ECU1 and the OTA server or between ECU2 and the OTA server, i.e., refer to step 502 to step 509 for understanding.

[0171] As can be seen from the embodiment corresponding to FIG. 5, a scheme is provided in which the master ECU can know in advance whether the remaining storage space of all node ECUs is sufficient, and a software package is sent only when the remaining storage space of all node ECUs is sufficient to store the respective software packages. This prevents upgrade failure caused by the lack of resources of some node ECUs in the download process, and reduces user traffic consumption and resource waste caused by upgrade failure. Specifically, in the implementation corresponding to FIG. 5, an interface, for example, a target interface, can be newly defined in AutoSar, so that the master ECU can know whether the remaining storage space of all node ECUs is sufficient. In addition, new status information can be added, and the master ECU can use the new status information to inform the OTA server that distributed download is possible, that is, the software package of each node ECU can be directly sent to the corresponding node ECU.

[0172] In an embodiment corresponding to FIG. 5, the master ECU may use the new status information to notify the OTA server that a distributed download is possible, i.e., the software package of each node ECU can be directly sent to the corresponding node ECU. In some other implementations, the OTA server may alternatively perform a distributed download in another manner, i.e., the software package of each node ECU can be directly sent to the corresponding node ECU. The following description will be given with reference to some specific embodiments.

[0173] FIG. 6 is a schematic flowchart of a data transmission method according to an embodiment of the present application.

[0174] 601: The OTA server calls the TransferVehiclePackage interface of the master ECU.

[0175] The OTA server calls the TransferVehiclePackage interface of the master ECU to send control information to the master ECU, such as an upgrade policy, 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. For example, the OTA server calls the TransferVehiclePackage interface of the master ECU to send the name and size of the software package of node ECU1, the download address of the software package of node ECU1, the name and size of the software package of node ECU2, and the download address of the software package of node ECU2 to the master ECU.

[0176] In a possible implementation, the download address may be in the form of a uniform resource locator (URL).

[0177] 602: The master ECU calls the target interface of node ECU1.

[0178] 603: The node ECU1 returns the call result of the target interface of the node ECU1.

[0179] 604: The master ECU calls the target interface of node ECU2.

[0180] 605: The node ECU2 returns the result of the invocation of the target interface of the node ECU2.

[0181] For understanding of steps 602 to 605, please refer to steps 502 to 505 in the embodiment corresponding to Fig. 5. Details will not be described again in this specification.

[0182] 606: The master ECU sends the download address of the software package of the node ECU1 to the node ECU1.

[0183] If the master ECU determines based on the invocation results of the target interfaces of all the node ECUs that all the node ECUs have sufficient storage space to store the respective software packages, the master ECU sends the download addresses of the respective software packages to the node ECUs.

[0184] For example, the node ECUs include node ECU1 and node ECU2. If both node ECU1 and node ECU2 have enough storage space to store their respective software packages, the master ECU sends the download address of the software package of node ECU1 to node ECU1, and the master ECU sends the download address of the software package of node ECU2 to node ECU2.

[0185] In a possible implementation, once the master ECU knows that node ECU1 has sufficient storage space, it may send the download address of the software package for node ECU1 to node ECU1.

[0186] In a possible implementation, when calling the TransferStart interface of a node ECU, the master ECU may add an input parameter to the TransferStart interface. The added input parameter is a download address of the software package of the node ECU. For example, the master ECU calls the TransferStart interface of node ECU1, the TransferStart interface includes a new parameter, and the value of the new parameter is the download address of the software package of node ECU1. As another example, the master ECU calls the TransferStart interface of node ECU2, the TransferStart interface includes a new parameter, and the value of the new parameter is the download address of the software package of node ECU2.

[0187] 607: The node ECU1 sends a request message to the OTA server based on the obtained download address of the software package of the node ECU1.

[0188] For example, 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, and the request message is used to request the OTA server to send the software package of the node ECU1 to the node ECU1.

[0189] In a possible implementation, a new interface, for example, a second interface, may be defined. A parameter of the second interface is a download address of a software package. When the second interface of the OTA server is called, the OTA server may send the software package of the node ECU to the corresponding node ECU. For example, the node ECU1 may call the second interface of the OTA server. A parameter of the second interface is a download address of the software package of the node ECU1. In response to the second interface being called, the OTA server may send the software package of the node ECU1 to the node ECU1 based on the parameter value of the second interface. It should be noted that the interface of the OTA server in this application is the UCM interface of the OTA server. Details will not be described again in this application.

[0190] For example, Table 2 provides a way to define a second interface. It is assumed that the name of the second interface is GetTransferStart, and the input parameters of the second interface include a download address of a software package. In some possible implementations, the input parameters of the second interface may further include a name of the software package or an identifier ID of the software package. [Table 2]

[0191] 608: The OTA server invokes the TransferData interface of node ECU1.

[0192] In response to the request message sent by node ECU1, the OTA server sends the software package of node ECU1 to node ECU1.

[0193] For example, the OTA server may call the TransferData interface of node ECU1 to send a software package of ECU1 to node ECU1.

[0194] In a possible implementation, the method may further include step 609 in which node ECU1 returns a result of the invocation of the TransferData interface of node ECU1.

[0195] In response to the OTA server invoking the TransferData interface of node ECU1, node ECU1 may return a call result to inform the OTA server whether the reception was successful or unsuccessful.

[0196] 610: The master ECU sends the download address of the software package of the node ECU2 to the node ECU2.

[0197] If the master ECU determines, based on the invocation results of the target interfaces of all the node ECUs, that all the node ECUs have sufficient storage space to store the respective software packages, the master ECU sends the download addresses of the respective software packages to the node ECUs.

[0198] For example, the node ECU includes the node ECU 2. In this case, the master ECU transmits the download address of the software package of the node ECU 2 to the node ECU 2.

[0199] 611: The node ECU2 sends a request message to the OTA server based on the obtained download address of the software package of the node ECU2.

[0200] 612: The OTA server invokes the TransferData interface of node ECU2.

[0201] In a possible implementation, a step 613 may further be included in which node ECU2 returns a result of the invocation of the TransferData interface of node ECU2.

[0202] Please refer to step 606 to step 609 for understanding step 610 to step 613. If another node ECU is further included, please refer to the process of interaction between ECU1 and the OTA server for understanding, i.e., please refer to step 602 to step 609 for understanding.

[0203] Based on AutoSar, the solution provided in this embodiment of the present application is described above. The master ECU still controls the upgrade process of each node ECU, for example, controls the sequence of downloading the software package of each node ECU. However, the software package of each node ECU is directly sent to each node ECU by the OTA server, and the master ECU does not need to buffer the software package of each node ECU and does not need to forward the upgrade package of each node ECU. In this way, the master ECU does not need to have a relatively large storage space or a relatively high processing performance, which can further improve the upgrade efficiency. In addition, the solution provided in the present application supports multiple node ECUs to perform downloading at the same time, which improves the download efficiency and does not affect the master ECU's control of the installation process and activation process of each node ECU later. In addition, in the data transmission system provided in the present application, a new interface is defined. Only when all node ECUs have enough storage space to store the respective software packages, each software package is sent to the node ECU. This can further improve the upgrade efficiency.

[0204] In order to solve the problem of dependency on the storage space and processing performance of the master ECU in the existing AutoSar software upgrade process, other than the above-mentioned method of improving the software upgrade procedure in AutoSar based on AutoSar, in the solution provided in this application, another method can be alternatively used to solve the problem of dependency on the storage space and processing performance of the ECU. The following description will be given with reference to some specific implementations.

[0205] FIG. 7a is a schematic flowchart of a data transmission method according to an embodiment of the present application.

[0206] 701: Node ECU1 sends the size of the remaining storage space of node ECU1 to the master ECU.

[0207] 702: Node ECU2 sends the size of the remaining storage space of node ECU2 to the master ECU.

[0208] 703: The master ECU sends the size of the remaining storage space of each node ECU to the OTA server. [Table 3]

[0209] As shown in Table 3, the master ECU may send the size of the remaining storage space of each node ECU to the OTA server in a tabular format.

[0210] In a possible implementation, the node ECUs may alternatively send the size of their respective remaining storage space directly to the OTA server, and the size is not forwarded by the master ECU.

[0211] 704: The OTA server calls the TransferVehiclePackage interface of the master ECU.

[0212] If the OTA server determines that each node ECU has enough storage space to store the software package of each node ECU based on the size of the remaining storage space of each node ECU and the size of the software package of each node ECU, the OTA server calls the TransferVehiclePackage interface of the master ECU. In one example, it is assumed that the node ECUs include only node ECU1 and node ECU2. The following three cases are considered:

[0213] 1. If the remaining storage space of node ECU1 obtained by the OTA server is greater than or equal to the size of the software package of ECU1, and the remaining storage space of node ECU2 obtained is greater than or equal to the size of the software package of ECU2, the OTA server calls the TransferVehiclePackage interface of the master ECU to send control information such as upgrade policies to the master ECU.

[0214] 2. If the remaining storage space of node ECU1 obtained by the OTA server is greater than or equal to the size of the software package of node ECU1, and the remaining storage space of node ECU2 obtained is less than the size of the software package of node ECU2, the OTA server determines that the upgrade cannot be successfully completed at present, and does not start the software package upgrade program.

[0215] 3. If the remaining storage space of node ECU1 obtained by the OTA server is less than the size of the software package of node ECU1, and the remaining storage space of node ECU2 obtained is greater than or equal to the size of the software package of node ECU2, the OTA server determines that the upgrade cannot be successfully completed at present, and does not start the software package upgrade program.

[0216] 705: The OTA server invokes the TransferData interface of node ECU1.

[0217] In a possible implementation, the method may further include step 706 in which node ECU1 returns a result of the invocation of the TransferData interface of node ECU1.

[0218] 707: The OTA server invokes the TransferData interface of node ECU2.

[0219] In a possible implementation, the method may further include step 708 in which node ECU2 returns a result of the invocation of the TransferData interface of node ECU2.

[0220] For understanding steps 705 to 708, please refer to steps 406, 407, 411, and 412 in the embodiment corresponding to FIG.

[0221] Please note that if further node ECUs are included, for the sake of understanding, reference will be made to steps performed by node ECU1 and node ECU2, and details will not be described again herein.

[0222] FIG. 7b is a schematic flowchart of a data transmission method according to an embodiment of the present application.

[0223] 801: Node ECU1 transmits the size of the remaining storage space of node ECU1 to the master ECU.

[0224] 802: Node ECU2 transmits the size of the remaining storage space of node ECU2 to the master ECU.

[0225] 803: The OTA server calls the TransferVehiclePackage interface of the master ECU.

[0226] The OTA server calls the TransferVehiclePackage interface of the master ECU to send the sizes of the software packages of all the node ECUs to the master ECU. It should be noted that in this embodiment, the node ECU1 and the node ECU2 are taken as examples for description. If another node ECU is further included, please refer to the steps performed by the node ECU1 and the node ECU2 for understanding. Details will not be described again in this specification.

[0227] 804: The master ECU sends a notification message to the OTA server based on a relationship between the size of the software package of the node ECU and the remaining storage space of the node ECU.

[0228] When the master ECU determines that each node ECU has sufficient storage space to store the software package of each node ECU based on the size of the remaining storage space of each node ECU and the size of the software package of each node ECU, the master ECU sends a notification message to the OTA server, which causes the OTA server to send the software package to the node ECU.

[0229] In one example, it is assumed that the node ECUs include only node ECU1 and node ECU2. The following three cases are considered:

[0230] 1. If the remaining storage space of node ECU1 acquired by the master ECU is greater than or equal to the size of the software package of node ECU1, and the remaining storage space of ECU2 acquired by the master ECU is greater than or equal to the size of the software package of ECU2, the master ECU sends a notification message to the OTA server, so that the OTA server sends the software package of node ECU1 to node ECU1, and the OTA server sends the software package of node ECU2 to node ECU2.

[0231] 2. If the remaining storage space of node ECU1 acquired by the master ECU is equal to or larger than the size of the software package of node ECU1, and the remaining storage space of node ECU2 acquired by the master ECU is less than the size of the software package of node ECU2, the master ECU will not send a notification message to the OTA server, i.e., the software package download procedure will not be initiated.

[0232] 3. If the remaining storage space of node ECU1 acquired by the master ECU is less than the size of the software package of node ECU1 and the remaining storage space of node ECU2 acquired by the master ECU is equal to or greater than the size of the software package of node ECU2, the master ECU does not send a notification message to the OTA server, i.e., the software package download procedure is not initiated.

[0233] 805: The OTA server invokes the TransferData interface of node ECU1.

[0234] In a possible implementation, the method may further include step 806 in which node ECU1 returns a result of the invocation of the TransferData interface of node ECU1.

[0235] 807: The OTA server invokes the TransferData interface of node ECU2.

[0236] In a possible implementation, step 808 may further be included in which node ECU2 returns a result of the invocation of the TransferData interface of node ECU2.

[0237] For understanding steps 805 to 808, please refer to steps 406, 408, 411, and 412 in the embodiment corresponding to FIG.

[0238] The above describes a data transmission method provided in an embodiment of the present application. 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 embodiment corresponding to FIG. 4 to FIG. 7b, the master ECU is the master ECU described in the embodiment corresponding to FIG. 4 to FIG. 7b, and the node ECU is the node ECU described in the embodiment corresponding to FIG. 4 to FIG. 7b. For example, refer to the node ECU1 and the node ECU2 for understanding. In addition, based on the same inventive concept as the above embodiment, an embodiment of the present application further provides an OTA cloud server, a master ECU, and a node ECU. The following describes the data transmission system provided in an embodiment of the present application with reference to some specific implementation forms.

[0239] 8 is a schematic diagram of an architecture of a data transmission system according to an embodiment of the present application. The data transmission system includes an OTA server, a master ECU, and multiple node ECUs.

[0240] The node ECU may include an update and configuration management (UCM) module. When the UCM module of the node ECU learns that the target interface of the node ECU is invoked, the UCM module is configured to check the remaining storage space and return a first invocation result. The parameter value of the target interface may include a size of the software package of the node ECU. The first invocation result indicates whether the remaining storage space is equal to or greater than the size of the software package of the node ECU. The UCM module of the node ECU is further configured to receive the software package of the node ECU sent by the OTA server if the remaining storage space is equal to or greater than the size of the software package of the node ECU.

[0241] In a possible implementation, if the target interface is a TransferStart interface and the remaining storage space is equal to or greater than the size of the software package of the node ECU, the first call result may include a first parameter value, which is used to instruct the OTA server to send the software package of the node ECU to the node ECU.

[0242] In a possible implementation form, the UCM module of the node ECU is further configured to obtain a download address of the software package of the node ECU, and call an interface of the OTA server based on the obtained download address. A 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.

[0243] In a possible implementation, the OTA server may include an update and configuration management (UCM) module. When the UCM module of the OTA server determines that the remaining storage space of the node ECU is equal to or greater than the size of the software package of the node ECU, the UCM module of the OTA server is configured to call a TransferData interface of the node ECU to send the software package of the node ECU to the node ECU.

[0244] In a possible implementation, the UCM module of the OTA server is specifically configured to call a TransferData interface of the node ECU when obtaining the first parameter value. The first parameter value is a parameter value that can be included in a first call result returned by the node ECU in response to the TransferStart interface being called. The first parameter value is used to indicate that the remaining storage space of the node ECU is equal to or greater than the size of the software package of the node ECU.

[0245] In a possible implementation, the UCM module of the OTA server is further configured to call a vehicle-wide software package TransferVehiclePackage interface of the master ECU. A parameter value of the TransferVehiclePackage interface may include a download address of the software package of each node ECU in the multiple node ECUs, and the master ECU sends the download address of the software package of the node ECU to the node ECU, and then the node ECU calls the interface of the UCM module based on the download address of the node ECU, and the parameter of the interface may include the download address of the software package of the node ECU. 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.

[0246] In a possible implementation, the master ECU may include a UCM Master module. The UCM Master module is configured to call a target interface of the node ECU. A parameter value of the target interface may include a size of a software package of the node ECU, and the node ECU checks a remaining storage space of the node ECU in response to the master ECU calling the target interface. The UCM Master module is further configured to receive a first call result of the target interface sent by the node ECU. The first call result indicates whether a remaining storage space of the node ECU is equal to or greater than the size of the software package of the node ECU.

[0247] In a possible implementation, if the remaining storage space of the node ECU is equal to or greater than the size of the software package of the node ECU, the first call result may include a first parameter value, and the UCM Master module is further configured to send a first feedback message to the OTA server. The first feedback message may include the first parameter value, and the OTA server calls a TransferData interface of the node ECU upon obtaining the first parameter value to send the software package of the node ECU to the node ECU.

[0248] In a possible implementation, the UCM Master module is further configured to receive a first call result of each node ECU in the plurality of node ECUs, where the node ECU is any one of the plurality of node ECUs. When it is determined based on the first call result that the remaining storage space of each node ECU is equal to or greater than the size of the software package of each node ECU, the second parameter value is sent to an OTA server, and the OTA server calls a TransferData interface of the node ECU to obtain the second parameter value.

[0249] An embodiment of the present application further provides an ECU, which is a node ECU in the embodiment corresponding to Fig. 8. For understanding, please refer to the node ECU described in the embodiment corresponding to Fig. 4 to Fig. 7b.

[0250] An embodiment of the present application further provides an ECU, which is a master ECU in the embodiment corresponding to Fig. 8. For understanding, please refer to the master ECU described in the embodiment corresponding to Fig. 4 to Fig. 7b.

[0251] An embodiment of the present application further provides an OTA server, which is the OTA server in the embodiment corresponding to Fig. 8. For understanding, please refer to the OTA server described in the embodiment corresponding to Fig. 4 to Fig. 7b.

[0252] See Figure 9. An embodiment of the present application further provides a communication device. The communication device may be a node ECU in the embodiment corresponding to Figure 4 to Figure 7b, the communication device may be a master ECU in the embodiment corresponding to Figure 4 to Figure 7b, or the communication device may be an OTA server in the embodiment corresponding to Figure 4 to Figure 7b.

[0253] The communication device may include a processor 1001. The processor 1001 is coupled to a memory 1002, which stores program instructions. When the program instructions stored in the memory are executed by the processor, steps performed by a master ECU in the embodiment corresponding to Figures 4 to 7b are performed. Alternatively, when the program instructions stored in the memory are executed by the processor, steps performed by a node ECU in the embodiment corresponding to Figures 4 to 7b are performed. Alternatively, when the program instructions stored in the memory are executed by the processor, steps performed by an OTA server in the embodiment corresponding to Figures 4 to 7b are performed.

[0254] An embodiment of the present application further provides a vehicle. Figure 10 is a schematic diagram of a structure of a vehicle according to an embodiment of the present application. The node ECU and master ECU described in the embodiment corresponding to Figures 4 to 7b may be arranged on the vehicle.

[0255] In a possible implementation, as shown in FIG. 10, a vehicle may include a display 1101 and an ECU 1102. The ECU 1102 is a node ECU or a master ECU described in the embodiment corresponding to FIG. 4 to FIG. 7b. The vehicle may interact with a user by using a display, for example, may send a prompt message by using the display. 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 is a schematic diagram of an application scenario of a data transmission method according to an embodiment of the present application. In the solution provided in this embodiment of the present application, the user can select whether to upgrade the on-board software, or the on-board software may be upgraded directly by default. When each device in the vehicle is upgraded, in a specific process of downloading the software upgrade package of each ECU, a prompt message is sent to prompt each device to download the software package from the OTA server.

[0256] The vehicle may be a car, truck, motorcycle, bus, boat, lawn mower, recreational vehicle, playground vehicle, construction equipment, trolley, golf cart, etc. This is not particularly limited in this embodiment of the application.

[0257] For specific implementations in which the ECU and the vehicle execute the data transmission method to beneficial effect, please refer to the description in the method embodiment corresponding to Figures 4 to 7b, and the details will not be described again here.

[0258] An embodiment of the present application further provides a computer-readable storage medium, which stores a program used for downloading a software package, which, when executed on a computer, enables the computer to execute the steps performed by the ECU in the method described in the embodiment shown in Figures 4 to 7b.

[0259] An embodiment of the present application further provides a computer-readable storage medium, which stores a program used for downloading a software package, which, when executed on a computer, enables the computer to execute the steps performed by OTA in the method described in the embodiment shown in Figures 4 to 7b.

[0260] An embodiment of the present application further provides a computer program product. When the computer program product is executed on a computer, the computer is enabled to execute the steps performed by the ECU in the method described in the embodiment shown in FIG. 4 to FIG. 7b. Alternatively, when the computer program product is executed on a computer, the computer is enabled to execute the steps performed by the OTA in the method described in the embodiment shown in FIG. 4 to FIG. 7b. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the procedures or functions according to the embodiment of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio, or microwave) manner. A computer-readable storage medium may be any available medium accessible by a computer, or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, or a magnetic tape), an optical medium (e.g., a DVD), a semiconductor medium (e.g., a solid-state drive (SSD)), or the like.

[0261] An embodiment of the present application further 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 steps performed by an ECU or an OTA server in the method described in the embodiment shown in FIG. 4 to FIG. 7b. The processing circuit may 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 (ASIC), or any other form of circuit. The storage circuit may be volatile and / or non-volatile. For example, the storage circuit may be a register, a cache, etc. In particular, the volatile storage circuit may include a cache memory, and the non-volatile storage circuit may include a flash memory.

[0262] The ECU or OTA server provided in the embodiments of the present application may specifically be a chip. 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. The processing unit may execute computer-executable instructions stored in the storage unit, and the chip in the server executes the data transmission method described in the embodiments shown in Figures 4 to 7b. Optionally, the storage unit is a storage unit in the chip, for example, a register or a cache. Or, the storage unit may be a storage unit at the end of the wireless access device and located outside the chip, for example, a read-only memory (ROM), another type of static storage device that can store static information and instructions, or a random access memory (RAM).

[0263] In addition, it should be noted that the described device embodiments are merely examples. The units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, in other words, they may be in one location or distributed over multiple network units. Some or all of the modules may be selected according to the actual requirements to achieve the objectives of the solutions of the embodiments. In addition, in the accompanying drawings of the device embodiments provided in this application, the connection relationships between the modules indicate that the modules have communication connections with each other, which may be specifically implemented as one or more communication buses or signal cables.

[0264] According to the description of the implementation form above, a person skilled in the art can clearly understand that the present application can be implemented by software in addition to the necessary general-purpose hardware, or by dedicated hardware including application-specific integrated circuits, dedicated CLUs, dedicated memories, dedicated components, etc. In general, any function performed by a computer program can be easily implemented by using corresponding hardware, and the specific hardware structure used to achieve the same function can be in various forms, for example, in the form of an analog circuit, a digital circuit, an application-specific circuit, etc. However, for the present application, a software program implementation form is a better implementation form in most cases. Based on such understanding, the technical solution of the present application can be essentially or the part that contributes to the prior art can be implemented in the form of a software product. The computer software product is stored in a readable storage medium such as a computer floppy disk, a USB flash drive, a removable hard disk, a ROM, a RAM, a magnetic disk, or a compact disk, and includes some instructions for instructing a computer device (which may be a personal computer, a server, a network device, etc.) to execute the method described in the embodiment of the present application.

Claims

1. A data transmission system, comprising: an over-the-air (OTA) server; a master electronic control unit (ECU); and a node ECU; The OTA server is configured to transmit a size of a target software package to the master ECU; The master ECU is configured to obtain the size of the target software package from the OTA server; The master ECU is further configured to send the size of the target software package to the node ECU or to obtain a size of the remaining storage space of the node ECU from the node ECU; the node ECU is configured to receive the target software package from the OTA server if the remaining storage space is not less than the size of the target software package; The master ECU is further configured to transmit a download address of the target software package to the node ECU, and the target software package is requested OTA by the node ECU based on the download address, the download address being in the form of a uniform resource locator (URL).

2. The master ECU is further configured to obtain a relationship between the size of the remaining storage space of the node ECU and the size of the target software package, and if the size of the target software package is sent to the node ECU, the master ECU is configured to obtain the relationship between the size of the remaining storage space of the node ECU and the size of the target software package from the node ECU, or if the size of the remaining storage space of the node ECU is obtained by the master ECU, the master ECU is configured to determine the relationship between the size of the remaining storage space of the node ECU and the size of the target software package, The master ECU is configured to send a first parameter to the OTA server if the remaining storage space of the node ECU is not smaller than the size of the target software package, and a value of the first parameter is used to indicate that the remaining storage space of the node ECU is not smaller than the size of the target software package, or the master ECU is further configured to instruct the OTA server to send the target software package to the node ECU; the node ECU is configured to receive the target software package from the OTA server, and the target software package is sent to the node ECU by the OTA server based on the first parameter, or the target software package is sent by the OTA server instructed by the master ECU.

2. The data transmission system according to claim 1.

3. The node ECU is further configured to send a first parameter to the master ECU, a value of the first parameter being used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package; The master ECU is further configured to obtain the first parameter from the node ECU, and to send an instruction to the OTA server to send the target software package to the node ECU based on the first parameter; The OTA server is further configured to transmit the target software package to the node ECU based on the instruction.

3. The data transmission system according to claim 2.

4. The number of node ECUs is N, where N is an integer greater than 1; the master ECU is configured to transmit the instruction to the OTA server to transmit the target software package to the node ECU when acquiring N first parameters corresponding to the N node ECUs; 4. The data transmission system according to claim 3.

5. When the master ECU is further configured to send a download address of the target software package to the node ECU, the master ECU is further configured to obtain the download address of the target software package from the OTA server; The node ECU is further configured to send a first parameter to the master ECU, a value of the first parameter being used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package; The master ECU is further configured to obtain the first parameter from the node ECU, and to send the download address to the node ECU based on the first parameter; The node ECU is further configured to obtain the download address of the target software package from the master ECU, and request the target software package for the node ECU from the OTA server based on the download address; The OTA server is further configured to send the target software package to the node ECU based on the download address.

3. The data transmission system according to claim 2.

6. The number of node ECUs is N, where N is an integer greater than 1; The master ECU is configured to transmit the download address to the node ECU when acquiring the N first parameters corresponding to the N node ECUs.

6. The data transmission system according to claim 5.

7. The number of node ECUs is N, where N is an integer greater than 1; The master ECU is particularly configured to obtain a download address of each node ECU in the N node ECUs from the OTA server; the master ECU is configured to acquire N first parameters from the N node ECUs; the master ECU is configured to transmit the download address of the respective target software package to each node ECU in the N node ECUs only if a value of each first parameter in the N first parameters indicates that a remaining storage space of each node ECU in the N node ECUs is not smaller than a size of a respective target software package for the each node ECU in the N node ECUs; each of the N node ECUs is configured to request the respective target software package from the OTA server based on the download address of the respective target software package; 6. The data transmission system according to claim 5.

8. An over-the-air (OTA) server, the OTA server comprising an update and configuration management (UCM) module; The UCM module transmits the size of the target software package of the node ECU to the master ECU; configured to send the target software package to the node ECU if the remaining storage space of the node ECU is not less than the size of the target software package; The UCM module is further configured to send a download address of the target software package to the master ECU; The UCM module is configured to receive from the node ECU a message including the download address of the target software package, the message being sent from the OTA server to the master ECU, and to send the target software package to the node ECU based on the download address, the download address being in the form of a uniform resource locator (URL).

9. the message including a first parameter is received from the master ECU, a value of the first parameter being used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, the message being received from the master ECU, the message being used to instruct the OTA server to send the target software package to the node ECU, or the message being received from the node ECU, the message being used to request the target software package from the OTA server. The OTA server according to claim 8.

10. the message is received from the node ECU, the message being used to request the target software package from the OTA server; The OTA server according to claim 9.

11. A master electronic control unit (ECU), the master ECU comprising an Update and Configuration Management Master (UCM Master) module; The UCM Master module is configured to obtain a size of a target software package from an OTA server; The UCM Master module is further configured to send the size of the target software package to a node ECU or obtain a size of the remaining storage space of the node ECU from the node ECU. The UCM Master module is further configured to send a download address of the target software package to the node CU; the target software package is requested by the node ECU from the OTA server based on the download address, the download address being in the form of a uniform resource locator (URL); Master ECU.

12. the UCM Master module is further configured to obtain a relationship between the size of the remaining storage space of the node ECU and the size of the target software package, and if the size of the target software package is sent to the node ECU, the UCM Master module is configured to obtain the relationship between the size of the remaining storage space of the node ECU and the size of the target software package from the node ECU, or if the size of the remaining storage space of the node ECU is obtained by the UCM Master module, the UCM Master module is configured to determine the relationship between the size of the remaining storage space of the node ECU and the size of the target software package; the UCM Master module is further configured to send a first parameter to the OTA server if the remaining storage space of the node ECU is not less than the size of the target software package, and a value of the first parameter is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, or the UCM Master module is configured to instruct the OTA server to send the target software package to the node ECU. The master ECU according to claim 11.

13. When the UCM Master module is configured to instruct the OTA server to transmit the target software package to the node ECU, The UCM Master module is configured to obtain a first parameter from the node ECU, a value of the first parameter being used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package; 13. The master ECU of claim 12, wherein the UCM Master module is configured to send an instruction to instruct the OTA server to send the target software package to the node ECU based on the first parameter.

14. The number of node ECUs is N, where N is an integer greater than 1; the UCM Master module is configured to send the instruction to instruct the OTA server to send the target software package to the node ECU upon obtaining N first parameters corresponding to the N node ECUs. The master ECU according to claim 13.

15. When the UCM Master module is configured to send a download address of the target software package to the node ECU, The UCM Master module is further configured to obtain the download address of the target software package from the OTA server; The UCM Master module is further configured to obtain a first parameter from the node ECU and send the download address to the node ECU based on the first parameter, where a value of the first parameter is used to indicate that the remaining storage space of the node ECU is not smaller than the size of the target software package. The master ECU according to claim 12.

16. The number of node ECUs is N, where N is an integer greater than 1; The UCM Master module is configured to send the download address to the node ECU when acquiring N first parameters corresponding to the N node ECUs; The master ECU according to claim 15.

17. The number of node ECUs is N, where N is an integer greater than 1; The master ECU is configured to obtain a download address of each node ECU in the N node ECUs from the OTA server; the master ECU is configured to acquire N first parameters from the N node ECUs; the master ECU is configured to transmit the download address of the respective target software package to each node ECU in the N node ECUs only if a value of each first parameter in the N first parameters indicates that a remaining storage space of each node ECU in the N node ECUs is not smaller than a size of a respective target software package for the each node ECU in the N node ECUs; The master ECU according to claim 15.

18. a node electronic control unit (ECU), the node ECU comprising an update and configuration management (UCM) module; The UCM module includes: Obtaining the size of the target software package of the node ECU from the master ECU or sending the size of the remaining storage space of the node ECU to the master ECU; configured to receive the target software package from an OTA server if the remaining storage space is not less than the size of the target software package; The UCM module is further configured to obtain a download address of the target software package from the master ECU; The UCM module is configured to send a message including the download address to the OTA server to request the target software package, the download address being in the form of a uniform resource locator (URL).

19. 19. The node ECU of claim 18, wherein the target software package is requested from the OTA server by the node ECU, and the target software package is sent by the OTA server instructed by the master ECU based on the relationship between the size of the remaining storage space of the node ECU and the size of the target software package, or the target software package is sent by the OTA server based on the relationship between the size of the remaining storage space of the node ECU and the size of the target software package.

20. When the size of the target software package of the node ECU is obtained by the node ECU, the UCM module is configured to determine the relationship between the size of the remaining storage space of the node ECU and the size of the target software package; The UCM module is configured to send a first parameter to the master ECU, a value of the first parameter being used to indicate that the remaining storage space of the node ECU is not smaller than the size of the target software package, and the target software package is sent by the OTA server instructed by the master ECU based on the first parameter.

20. The node ECU according to claim 18 or 19.

21. When the size of the target software package of the node ECU is obtained by the node ECU, the UCM module is configured to determine the relationship between the size of the remaining storage space of the node ECU and the size of the target software package; The UCM module is configured to send a first parameter to the master ECU, the value of the first parameter being used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package.

20. The node ECU according to claim 18 or 19.

22. 1. A data transmission method, comprising: The OTA server sends the size of the target software package of the node ECU to the master ECU; when the remaining storage space of the node ECU is not smaller than the size of the target software package, when the OTA server receives from the node ECU a message including the download address of the target software package, the message being transmitted from the OTA server to the master ECU, transmitting the target software package to the node ECU based on the download address; wherein the download address is in the form of a uniform resource locator (URL).

23. the message including a first parameter is received from the master ECU, and a value of the first parameter is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, or the message is received from the master ECU, and the message is used to instruct the OTA server to send the target software package to the node ECU.

23. The data transmission method according to claim 22.

24. the message is received from the node ECU, the message being used to request the target software package from the OTA server; 24. The data transmission method according to claim 23.

25. 1. A data transmission method, comprising: A master ECU obtaining a size of a target software package from an OTA server; the master ECU sending the size of the target software package to a node ECU or obtaining the size of the remaining storage space of the node ECU from the node ECU; sending a download address of the target software package to the node CU; wherein the target software package is requested by the node ECU from the OTA server based on the download address, the download address being in the form of a uniform resource locator (URL).

26. The method comprises: a step of the master ECU obtaining a relationship between the size of the remaining storage space of the node ECU and the size of the target software package, where if the size of the target software package is sent to the node ECU, the relationship between the size of the remaining storage space of the node ECU and the size of the target software package is obtained from the node ECU, or if the size of the remaining storage space of the node ECU is obtained by the master ECU, the relationship between the size of the remaining storage space of the node ECU and the size of the target software package is determined by the master ECU; if the remaining storage space of the node ECU is not less than the size of the target software package, sending a first parameter to the OTA server, where a value of the first parameter is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, or instructing the OTA server to send the target software package to the node ECU. The data transmission method according to claim 25, further comprising:

27. The method comprises: The step of instructing the OTA server to transmit the target software package to the node ECU further includes a step of: the master ECU obtaining a first parameter from the node ECU, the value of the first parameter being used to indicate that the remaining storage space of the node ECU is not smaller than the size of the target software package; and the step of instructing the OTA server to transmit the target software package to the node ECU further includes: sending an instruction to the OTA server to send the target software package to the node ECU based on the first parameter; 27. The data transmission method of claim 26, further comprising:

28. The number of node ECUs is N, where N is an integer greater than 1; The step of transmitting an instruction to the OTA server to transmit the target software package to the node ECU based on the first parameter includes: transmitting the instruction to the OTA server instructing the master ECU to transmit the target software package to the node ECU when obtaining N first parameters corresponding to the N node ECUs; 28. The data transmission method according to claim 27, comprising:

29. The method comprises: The master ECU obtaining the download address of the target software package from the OTA server; and acquiring a first parameter from the node ECU, wherein the step of transmitting a download address of the target software package to the node ECU includes: sending the download address to the node ECU based on the first parameter, the value of the first parameter being used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package; 27. The data transmission method of claim 26, further comprising:

30. The number of node ECUs is N, where N is an integer greater than 1; The step of transmitting the download address to the node ECU based on the first parameter includes: a step of the master ECU transmitting the download address to the node ECU when acquiring the N first parameters corresponding to the N node ECUs; 30. The data transmission method of claim 29, comprising:

31. The number of node ECUs is N, where N is an integer greater than 1, and the method includes: The master ECU acquires a download address of each node ECU in the N node ECUs from the OTA server; and the step of transmitting the download address to the node ECU based on the first parameters further includes the step of: sending the download address of the respective target software package to each node ECU in the N node ECUs only if a value of each first parameter in the N first parameters indicates that a remaining storage space of each node ECU in the N node ECUs is not less than a size of a respective target software package for each node ECU in the N node ECUs; 30. The data transmission method of claim 29, further comprising:

32. 1. A data transmission method, comprising: a node ECU obtaining a size of a target software package of the node ECU from a master ECU or sending a size of a remaining storage space of the node ECU to a master ECU; if the remaining storage space is not less than the size of the target software package, receiving the target software package from an OTA server; The data transmission method includes: The node ECU acquiring a download address of the target software package from the master ECU; sending a message including the download address to the OTA server to request the target software package, the download address being in the form of a uniform resource locator (URL); A data transmission method including:

33. 33. The data transmission method of claim 32, wherein the target software package is requested by the node ECU from the OTA server, and the target software package is transmitted by the OTA server instructed by the master ECU based on a relationship between the size of the remaining storage space of the node ECU and the size of the target software package, or the target software package is transmitted by the OTA server based on the relationship between the size of the remaining storage space of the node ECU and the size of the target software package.

34. The method comprises: when the size of the target software package of the node ECU is obtained by the node ECU, the node ECU determines the relationship between the size of the remaining storage space of the node ECU and the size of the target software package; the node ECU sending a first parameter to the master ECU, the value of the first parameter being used to indicate that the remaining storage space of the node ECU is not smaller than the size of the target software package, and the target software package is sent by the OTA server instructed by the master ECU based on the first parameter.

34. The data transmission method of claim 33, further comprising:

35. The method comprises: when the size of the target software package of the node ECU is obtained by the node ECU, the node ECU determines the relationship between the size of the remaining storage space of the node ECU and the size of the target software package; the node ECU sending a first parameter to the master ECU, the value of the first parameter being used to indicate that the remaining storage space of the node ECU is not greater than the size of the target software package; 34. The data transmission method of claim 33, further comprising:

36. A computer readable storage medium comprising a program, which when executed on a computer enables the computer to carry out the method according to any one of claims 22 to 35.

37. 22. An intelligent vehicle, the intelligent vehicle comprising a master electronic control unit (ECU) and a node ECU, the master ECU being a master ECU as claimed in any one of claims 11 to 17, and the node ECU being a node ECU as claimed in any one of claims 18 to 21.

Citation Information

Patent Citations

  • Communication system, in-vehicle device, communication device, and computer program

    JP2016071527A

  • On-vehicle update device and on-vehicle update system

    JP2018037059A

  • Update data storage system

    JP2018079768A

  • Relay device, program update system, and program update method

    JP2018181377A

  • Program update system, control system, moving body, program update method and program

    JP2020144682A