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

JP2026139686APending Publication Date: 2026-09-01YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2026083581
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2026-05-18
Publication Date
2026-09-01

AI Technical Summary

Benefits of technology

【0257】 ECU及び車両がデータ送信方法を実行し、有益な効果をもたらした特定の実装形態については、図4から図7bに対応する方法の実施形態における説明をことに留意されたい。詳細については本明細書で改めて説明しない。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026139686000001_ABST
    Figure 2026139686000001_ABST
Patent Text Reader

Abstract

This reduces reliance on the memory and processing capabilities of the master ECU during in-vehicle software upgrades. [Solution] In a data transmission system including an over-the-air (OTA) server, a master ECU, and node ECUs, 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 the size of the target software package and calls a second interface of the node ECU. In response to the master ECU calling the second interface, the node ECU obtains the size of the target software package, checks the remaining storage space of the node ECU, and if the remaining storage space is greater than or equal to the size of the target software package, receives the target software package sent by the OTA server.
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 Art

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

[0003] AutoSar allows for in-vehicle software upgrades using over-the-air (OTA) technology. Software packages can be downloaded locally from a cloud server using OTA technology. Since a vehicle contains multiple electronic control units (ECUs), each with its own software upgrade requirements, an update and configuration management master (UCM) module must be installed on at least one of the ECUs, and an update and configuration management (UCM) module must be installed on each of the other ECUs with software upgrade requirements. Using OTA technology, the software package is downloaded from the cloud server to the ECU with the installed UCM Master module, and then distributed by that ECU to the other ECUs with installed UCM modules, completing the vehicle-wide software upgrade. [Overview of the project]

[0004] Embodiments of this application provide a data transmission system, a data transmission method, an intelligent vehicle, and an apparatus. According to the solutions provided in this application, the process of performing in-vehicle software upgrades using OTA technology reduces reliance on the memory and processing capabilities of the master ECU and improves upgrade efficiency.

[0005] To achieve the above objectives, the following technical solutions are provided in embodiments of this 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 node ECUs. The OTA server is configured to invoke a first interface of the master ECU. The interface can be understood as a method and rules of interaction between a first device and a second device. The master ECU is configured to obtain the size of a target software package in response to the OTA server invoking the first interface. In this application, the target software package may alternatively be referred to as a software package, or as an upgrade package or software upgrade package. The software package contains data for upgrading the node ECU. In other words, the OTA server may transmit the size of the target software package to the master ECU by invoking the first interface of the master ECU. The master ECU is further configured to invoke a second interface of the node ECU. The node ECU is configured to receive the target software package sent by the OTA server in response to the master ECU calling the second interface, retrieve the size of the target software package, check the remaining storage space of the node ECU, and if the remaining storage space is greater than or equal to the size of the target software package, receive the target software package sent by the OTA server. The data transmission system provided in this application may be AutoSar. If the data transmission system provided in this application is AutoSar, the master ECU is an ECU in which a UCM Master module is installed in an ECU in the vehicle, the node ECU is an ECU in which a UCM module is installed in an ECU in the vehicle, and the interface may be understood as a method and rules of interaction between the first module of the first device and the second module of the second device. In the solution provided in this application, the OTA server can know in several ways whether the software package of the first ECU should be sent to the first ECU.As can be seen from the first embodiment, in the solution according to the first embodiment, the target software package of the node ECU is sent directly to the node ECU by the OTA server, and the master ECU does not need to buffer the software package of the node ECU or 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 relatively high processing performance. In the process of performing in-vehicle software upgrades using OTA technology, the dependence on the storage capacity and processing capacity of the master ECU is reduced.

[0007] Optionally, in a first possible implementation relating to the first aspect, 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, which is used to indicate that the remaining storage space of the node ECU is greater than or equal to 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 it should send the target software package directly to the node ECU. A manner may be used in which the first parameter value is added to the first call result, thereby allowing the OTA server to know that it should send the target software package directly to the node ECU.

[0008] Optionally, in a second possible implementation relating to the first possible implementation of the first aspect, the second interface is the 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 result of the call to the existing TransferStart interface defined by AutoSar, and this 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, this solution slightly modifies the existing software upgrade procedure specified by AutoSar. A parameter is added to the result of the call to the TransferStart interface on 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 sends the target software package of the node ECU directly to the node ECU without using the master ECU.

[0009] Optionally, in a third possible implementation relating to the first embodiment, a first possible implementation of the first embodiment, or a second possible implementation of the first embodiment, the number of node ECUs is N, where N is an integer greater than 1. The master ECU is specifically configured to call a third interface of the OTA server when obtaining N first parameter values. As can be seen from the third possible implementation of the first embodiment, if the data transmission system includes multiple node ECUs, the master ECU calls the third interface of the OTA server only if the master ECU knows that the remaining storage space of each node ECU in the multiple node ECUs is greater than or equal to the size of the software package of each node ECU, thereby causing the OTA server to send 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 it may send each software package to multiple node ECUs simultaneously. As can be seen from the third possible implementation of the first embodiment, the master ECU can know in advance whether all node ECUs have sufficient remaining storage space, and the software package is sent only if all node ECUs have sufficient remaining storage space to store their respective software packages. This prevents upgrade failures caused by resource shortages in some node ECUs during the download process, and reduces user traffic consumption and resource waste caused by upgrade failures. 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 interface of multiple node ECUs to obtain multiple results of the first call at once.

[0010] Optionally, in a fourth possible implementation relating to the first embodiment, the first possible implementation of the first embodiment, or the second possible implementation of the first embodiment, 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 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 of the first embodiment, the master ECU does not call the third interface of the OTA server if it does not know that the remaining storage space of each node ECU in the multiple node ECUs is greater than or equal to the size of each node ECU's software package. In other words, if the remaining storage space of some of the node ECUs among the multiple node ECUs is insufficient to store the node ECU's software package, the OTA server does not send the software package to any of the node ECUs among the multiple node ECUs. This prevents upgrade failures caused by insufficient resources in some node ECUs during the download process, thereby reducing user traffic consumption and resource waste resulting from upgrade failures.

[0011] Optionally, in a fifth possible implementation relating to the first aspect, the master ECU is further configured to obtain the download address of a target software package in response to an OTA server calling a first interface. The node ECU is further configured to return the result of the first call to the master ECU. The result of the first call includes a first parameter value, which is used to indicate that the remaining storage space of the node ECU is greater than or equal to the size of the target software package. As can be seen from the fourth possible implementation relating to the first aspect, a particular scheme is provided in which the OTA server knows that the OTA server should send the target software package directly to the node ECU, and the OTA server may send the download address of the target software package of the node ECU to the master ECU, and if the remaining storage space of the node ECU is sufficient to store the target software package of the node ECU, 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 a fifth possible implementation of the first embodiment, in a sixth possible implementation, the first interface is a TransferVehiclePackage interface. The TransferVehiclePackage interface is an interface defined in AutoSar. In the sixth possible implementation of the first embodiment, 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 method by which the OTA server directly sends the software package to the node ECU based on AutoSar, thereby increasing the versatility of the solution.

[0013] Optionally, in relation to the fifth possible implementation of the first embodiment or the sixth possible implementation of the first embodiment, in the seventh possible implementation, the number of node ECUs is N, where N is an integer greater than 1. The master ECU is specifically configured to call the fourth interface of the node ECUs when obtaining N first parameter values. As can be seen from the seventh possible implementation of the first embodiment, if the data transmission system includes multiple node ECUs, the master ECU calls the fourth interface of the node ECUs only if the master ECU knows that the remaining storage space of each node ECU in the multiple node ECUs is greater than or equal to the size of the software package of each node ECU, thereby allowing the node ECU to obtain the download address of the software package. If the master ECU knows that the remaining storage space of each node ECU in the multiple node ECUs is greater than or equal to the size of the software package of each node ECU, each node ECU may be able to obtain the download address of the software package of each node ECU according to the software package transmission sequence obtained from OTA. Alternatively, the download addresses of each software package may be transmitted to multiple node ECUs simultaneously. As can be seen from the seventh possible implementation of the first embodiment, software packages are sent only if the remaining storage space of all node ECUs is sufficient to store each software package. This prevents upgrade failures caused by insufficient resources in some node ECUs during the download process, and reduces user traffic consumption and resource waste caused by upgrade failures.

[0014] Optionally, in relation to the fifth possible implementation of the first embodiment or the sixth possible implementation of the first embodiment, in the eighth possible implementation, 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 ECUs when obtaining 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 of the first embodiment, the fourth interface of the node ECUs is not called if the master ECU does not know that the remaining storage space of each node ECU in the multiple node ECUs is greater than or equal to the size of the software package of each node ECU. In other words, if the remaining storage space of some of the node ECUs among the multiple 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 multiple node ECUs to the node. This prevents upgrade failures caused by insufficient resources in some node ECUs during the download process, and reduces user traffic consumption and resource waste caused by upgrade failures.

[0015] Optionally, in the ninth possible implementation, relating to the first embodiment or the first possible implementation of the first embodiment to the sixth possible implementation of the first embodiment, the data transmission system is an AutoSar-based data transmission system.

[0016] Optionally, in a 10th possible implementation relating to the first embodiment or a first possible implementation of the first embodiment to a sixth possible implementation of the first embodiment, the node ECU is further configured to send a prompt message. This prompt message is used to indicate that the node ECU is downloading the target software package from the OTA server.

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

[0018] According to a second aspect, the 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, in response to the OTA server calling the first interface, the master ECU obtains the size of a target software package, the master ECU calls a second interface of a node ECU, in response to the master ECU calling the second interface, the node ECU obtains the size of a target software package, checks the remaining storage space of the node ECU, and if the remaining storage space is greater than or equal to 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 the first possible implementation, the UCM module is further configured to send a target software package to a node ECU in response to a call by the master ECU to a third interface of the UCM module. The third interface is an interface of the UCM module and is called by the master ECU when the master ECU obtains a first parameter value, the first parameter value being a parameter value included in the result of the first call returned to the master ECU by the node ECU, and the first parameter value is used to indicate that the remaining storage space of the node ECU is greater than or equal to the size of the target software package.

[0020] Optionally, in relation to the second aspect, in a second possible implementation, 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 the download address of the target software package, and then, in response to the master ECU calling a 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 UCM module is further configured to receive the download address of the target software package and send the target software package to the node ECU according to the download address.

[0021] According to a third aspect, the 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 the 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, checks the remaining storage space of the node ECU, and if the remaining storage space is greater than or equal to 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 the first possible implementation, the UCM Master module is further configured to call a third interface of the OTA server when obtaining a first parameter value, and in response to the call to the third interface, the OTA server sends the target software package to the node ECU. The first parameter value is a parameter value included in the result of the first call returned to the master ECU by the node ECU, and the first parameter value is used to indicate that the remaining storage space of the node ECU is greater than or equal to the size of the target software package.

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

[0024] Optionally, in relation to the third aspect, in a third possible implementation, the UCM Master module is further configured to obtain the download address of the target software package in response to an OTA server calling a first interface. The UCM Master module is further configured to call a fourth interface of the node ECU when obtaining a first parameter value, and in response to the call to the fourth interface, the node ECU obtains the download address and calls a fifth interface of the OTA server, and then, in response to the call to the fifth interface, 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 result of the first call returned to the master ECU by the node ECU, and the first parameter value is used to indicate that the remaining storage space of the node ECU is greater than or equal to the size of the target software package.

[0025] Optionally, in relation to a third possible implementation of the third aspect, in a fourth possible implementation, the number of node ECUs is N, where N is an integer greater than 1. The UCM Master module is specifically configured to call the fourth interface of the node ECUs when retrieving 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 receive the target software package sent by the OTA server if the master ECU has called a second interface of the UCM module after a first interface of the master ECU has been called, and to check the remaining storage space of the node ECU, and if the remaining storage space is greater than or equal to the size of the target software package. The first interface of the master ECU is called by the OTA server, and in response to the call to the first interface, the master ECU receives the size of the target software package.

[0027] Optionally, in relation to the fourth aspect, in the first possible implementation, 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, which is used to indicate that the remaining storage space of the node ECU is greater than or equal to the size of the target software package, and the master ECU calls a third interface of the OTA server when obtaining the first parameter value, and the OTA server then sends the target software package to the node ECU in response to the master ECU calling the third interface.

[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, where the first parameter value is used to indicate that the remaining storage space of the node ECU is greater than or equal to the size of the target software package, and the master ECU calls the fourth interface of the node ECU when acquiring the first parameter value. In response to the master ECU calling the fourth interface, the UCM module acquires the download address of the target software package and calls the fifth interface of the OTA server; and in response to the fifth interface being called, the OTA server receives the download address and is further configured to transmit 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 comprising: an OTA server calls a first interface of a master ECU; in response to the OTA server calling the first interface, the master ECU acquires the size of a target software package, and the master ECU calls a second interface of a node ECU; in response to the master ECU calling the second interface, the node ECU acquires the size of the target software package and checks the remaining storage space of the node ECU; and when the remaining storage space is greater than or equal to the size of the target software package, the node ECU receives the target software package transmitted by the OTA server.

[0030] Optionally, in relation to the fifth aspect, in a first possible implementation, the method further comprises, in response to the master ECU calling a third interface of a UCM module, the OTA server transmitting the target software package to the node ECU. The third interface is an interface of the OTA server and an interface called by the master ECU when the master ECU acquires a first parameter value, the first parameter value is a parameter value included in a 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 greater than or equal to the size of the target software package.

[0031] Optionally, in relation to the fifth aspect, in a second possible implementation, the method further comprises: the OTA server calls a first interface of the master ECU, in response to the OTA server calling the first interface, the master ECU acquires a download address of the target software package, then in response to the master ECU calling a fourth interface, the node ECU acquires 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 transmits 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 in which a master ECU obtains the size of a target software package in response to an OTA server calling a first interface of a UCM Master module. The master ECU calls a second interface of a node ECU, and in response to the call to the second interface, the node ECU obtains the size of the target software package, checks the remaining storage space of the node ECU, and if the remaining storage space is greater than or equal to 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 the first possible implementation, the method further includes the master ECU calling a third interface of the OTA server when obtaining a first parameter value, and the OTA server sending a target software package to the node ECU in response to the call to the third interface. The first parameter value is a parameter value included in the result of the first call returned to the master ECU by the node ECU, and the first parameter value is used to indicate that the remaining storage space of the node ECU is greater than or equal to the size of the target software package.

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

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

[0036] Optionally, in relation to the third possible implementation of the sixth aspect, in the fourth possible implementation, 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 ECUs when obtaining a first parameter value includes the master ECU calling the fourth interface of the node ECUs when obtaining N first parameter values.

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

[0038] Optionally, in relation to the seventh aspect, in the first possible implementation, 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, which is used to indicate that the remaining storage space of the node ECU is greater than or equal to 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 the OTA server then sends the target software package to the node ECU in response to the master ECU calling the third interface.

[0039] Optionally, in relation to the seventh aspect, in a second possible implementation, the method further includes the node ECU returning the result of a first call to the master ECU. The result of the first call includes a first parameter value, which is used to indicate that the remaining storage space of the node ECU is greater than or equal to the size of the target software package, and the master ECU calls the 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 the download address of the target software package and calls the fifth interface of the OTA server, and in response to the call to the fifth interface, 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 the eighth aspect, the present application provides an OTA server. The OTA server may include a processor, the processor is coupled to memory, the memory stores program instructions, and when the program instructions stored in memory are executed by the processor, a method according to the fifth aspect and any one of the possible implementations of the fifth aspect is implemented.

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

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

[0043] According to the eleventh aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium may contain a program. When the program is executed on a computer, the computer becomes capable of performing a method according to the fifth aspect and any one of the possible implementations of the fifth aspect.

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

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

[0046] According to the fourteenth aspect, the present application provides a chip system. The chip system may include a processor configured to support a vehicle in order to implement the functions in the sixth aspect and in any one of the possible implementation forms of the sixth aspect.

[0047] According to the 15th aspect, the present application provides a chip system. The chip system may include a processor configured to support a vehicle in order to implement the functions in the seventh aspect and in any one of the possible implementation forms of the seventh aspect.

[0048] According to the sixteenth aspect, the present application provides a computer program product. When the computer program product is executed on a device, the device becomes capable of performing a method according to the fifth aspect and any one of the possible implementations of the fifth aspect.

[0049] According to the 17th aspect, the present application provides a computer program product. When the computer program product is executed on a device, the device becomes capable of performing a method according to the sixth aspect and any one of the possible implementations of the sixth aspect.

[0050] According to the 18th aspect, the present application provides a computer program product. When the computer program product is executed on a device, the device becomes capable of performing a method according to the 7th aspect and any one of the possible implementations of the 7th aspect.

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

[0052] According to the 20th aspect, the present application provides an intelligent vehicle. The intelligent vehicle includes a processing circuit and a memory circuit, the processing circuit and the memory circuit being configured to perform a method according to the sixth aspect and any one of the possible implementations of the sixth aspect.

[0053] According to the 21st aspect, the present application provides an intelligent vehicle. The intelligent vehicle includes a processing circuit and a memory circuit, the processing circuit and the memory circuit being configured to perform a method according to the 7th aspect and any one of the possible implementations of the 7th 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 for each node ECU is sent directly to each node ECU by the OTA server, and the master ECU does not need to buffer the software package for each node ECU or transfer the upgrade package for each node ECU. In this way, the master ECU does not need to have a relatively large storage space or relatively high processing performance, and upgrade efficiency can be further improved. In addition, a new interface is defined in the data transmission system provided in this application. If all node ECUs have enough storage space to store their respective software packages, each software package is sent to the node ECU. This prevents upgrade failures caused by insufficient resources in some node ECUs during the download process, and reduces user traffic consumption and resource waste caused by upgrade failures. Upgrade efficiency can be further improved. [Brief explanation of the drawing]

[0055] [Figure 1] This is a schematic diagram of AutoSar. [Figure 2] This is a schematic diagram of the architecture for performing software upgrades in AutoSar. [Figure 3] This is a schematic diagram of the software upgrade procedure in AutoSar. [Figure 4] This is a schematic flowchart of a data transmission method according to one embodiment of this application. [Figure 5] This is a schematic flowchart of another data transmission method according to one embodiment of this application. [Figure 6] This is a schematic flowchart of another data transmission method according to one embodiment of this application. [Figure 7a]This is a schematic flowchart of another data transmission method according to one embodiment of this application. [Figure 7b] This is a schematic flowchart of another data transmission method according to one embodiment of this application. [Figure 8] This is a schematic diagram of the structure of a data transmission system according to one embodiment of this application. [Figure 9] This is a schematic diagram of the structure of a communication device according to one embodiment of this application. [Figure 10] This is a schematic diagram of the structure of a vehicle according to one embodiment of the present application. [Figure 11] This is a schematic diagram of an application scenario according to one embodiment of this application. [Modes for carrying out the invention]

[0056] The embodiments of this application will be described below with reference to the attached drawings. It will be clear that the embodiments described are only a part of the embodiments of this application, and not all of them. Those skilled in the art will know that, with the advancement of the art and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0057] In the specification, claims, and accompanying drawings of this application, terms such as “first,” “second,” etc., are intended to distinguish similar objects and do not necessarily indicate a specific order or sequence. Since the data used in such a manner is interchangeable where appropriate, it should be understood that the embodiments described herein can be implemented in an order other than the order illustrated or described herein. Furthermore, the terms “including,” “having,” and any other variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product, or device including a set of steps or modules is not necessarily limited to the steps or modules explicitly listed, but may include other steps or modules that are not explicitly listed or are specific to such process, method, product, or device. The naming or numbering of steps in this application does not mean that the steps in a method procedure must be performed according to the time / logical sequence indicated by the naming or numbering. The execution sequence of steps in a named or numbered procedure may be modified according to the technical objective to be achieved, provided that the same or similar technical effects can be achieved. The division into modules in this application is a logical division. In actual application, other decomposition methods may be possible. For example, multiple modules may be combined or integrated into a separate system, and some features may be ignored or not performed. In addition, mutual coupling, direct coupling, or communication connection shown or discussed may be implemented by using several interfaces. Indirect coupling or communication connection between modules may be implemented in electronic form or in other similar form, and this is not limited to the present application. In addition, modules or submodules described as separate parts may or may not be physically separate, may or may not be physical modules, or may be distributed across 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, standardized software architecture jointly established by global automotive manufacturers, parts suppliers, and electronic software system companies. It represents the culmination of over 100 years of experience in automotive technology. AutoSar defines a set of system service interfaces that can be used to implement compatibility and interoperability between different software, thereby simplifying automotive software development and facilitating software deployment across different vehicle models. AutoSar primarily possesses the following characteristics:

[0059] a. AutoSar is dedicated to solving the software development difficulties caused by differences between hardware platforms, allowing developers to focus on innovation in automotive software functionality.

[0060] b. AutoSar provides standard software interface definitions. Engineers can assign the necessary software components to the vehicle's electronic control unit (ECU) based on actual requirements, in order to enable the reusability of standard software components.

[0061] c. The application layer software components of AutoSar are independent of the hardware, and 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 interface.

[0062] Figure 1 is a schematic diagram of AutoSar. Typically, AutoSar can be thought of as including an application layer and a services layer.

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

[0064] The main services of the service layer include communication management (COM), cryptography (CRYPTO), logging and tracing (LOG), diagnostics (DIAG), persistence (PER), state management (SM), execution management (EXEC), time synchronization (TSYNC), update and configuration management (UCM), and update and configuration management master (UCM Master). The solution provided in this application mainly concerns the UCM and UCM Master in the service layer. The embodiments provided in this application mainly focus on the UCM and UCM Master in the service layer within AutoSar. The UCM and UCM Master are responsible for managing updates and upgrades of vehicle software within the vehicle. Existing standards define the interface and interaction procedures between the UCM and UCM Master services. Automobile users or manufacturers can easily install, update, and uninstall software within the AutoSar system by using these interfaces. Referring to Figures 2 and 3, the process of upgrading in-vehicle automotive software using the UCM within AutoSar is described below.

[0065] Figure 2 is a schematic diagram of the architecture for performing software upgrades in AutoSar. In AutoSar, software upgrades within the vehicle can be performed using OTA technology. OTA means that automotive software is updated or upgraded using a wireless communication interface, such as Wireless Fidelity (Wi-Fi), Long Term Evolution (LTE), or 5th generation mobile communication (5G). Because OTA upgrades do not depend on a fixed location or fixed line, OTA upgrades have flexibility and convenience not found in conventional automotive software upgrade methods. Software upgrade packages can be downloaded locally from a cloud server using OTA technology. In this application, the cloud server may also be referred to as an OTA server, OTA cloud, or OTA cloud server, and these terms have the same meaning. In this application, "local" refers to the ECUs within the vehicle. A vehicle contains multiple ECUs, the software of multiple ECUs may have upgrade requirements, and the upgrade sequences of multiple ECUs may have dependencies; that is, the software upgrade sequences of multiple ECUs need to be controlled. In addition, upgrade conditions may be further restricted, such as whether the software can be upgraded while the vehicle is running, or whether it can only be upgraded after obtaining user consent. Therefore, it is necessary to install a control module in at least one of the multiple ECUs to coordinate software upgrades for multiple ECUs. In AutoSar, this module is the UCM Master module. Typically, the UCM Master module can be installed in a gateway or a telematics box (TBOX).In addition, UCM modules are installed on other ECUs within the vehicle. This allows the ECU with the UCM Master module installed to control and coordinate the UCM modules on other ECUs that need upgrading, thereby completing the vehicle-wide software upgrade. The interaction process for software upgrades and downloads in AutoSar is described below with reference to Figure 3. Hereafter, the ECU with the UCM Master module installed will be referred to as the master ECU, and the ECUs with UCM modules installed will be referred to as node ECUs.

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

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

[0068] The OTA server invokes the TransferVehiclePackage interface of the master ECU's UCM Master module. Note that the UCM Master module may also be referred to as the UCM Master service in this application. In addition, note that the master ECU interface in this application is the interface of the master ECU's UCM Master module. Further details will not be discussed later.

[0069] A vehicle-wide upgrade package primarily includes control information such as upgrade policies, and the master ECU can control the upgrade and update process of each node ECU based on this information. For example, the master ECU can control the upgrade sequence and upgrade conditions of each node ECU based on the control information. Upgrade conditions may include whether to allow software upgrades while the vehicle is running, and whether software upgrades can only be performed after obtaining user consent.

[0070] AutoSar defines the entire TransferVehiclePackage interface for downloading vehicle-wide upgrade packages to the UCM Master module. The OTA server can call the TransferVehiclePackage interface of the master ECU to send control information, such as the upgrade policy, to the master ECU. Specifically, control information such as the upgrade policy is sent to the UCM Master module.

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

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

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

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

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

[0076] The master ECU invokes the TransferStart interface of the UCM module of node ECU1. Note that in this application, the node ECU interface refers to the interface of the node ECU's UCM module. Further details will not be provided later.

[0077] For example, Node ECU includes Node ECU1.

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

[0079] 304: Node ECU1 returns the result of calling the TransferStart interface of Node ECU1.

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

[0081] 305: The master ECU feeds back the results of the TransferStart interface call of node ECU1, which were obtained, 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, according to step 305, that node ECU1 has sufficient storage space, the OTA server sends an upgrade package for ECU1 to the master ECU. The upgrade package for ECU1 may contain software code or data for ECU1 that needs to be updated.

[0085] AutoSar defines the data transfer (TransferData) interface for the UCM Master module and the data transfer (TransferData) interface for the UCM service. The OTA server calls the TransferData interface of the UCM Master service on 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 calls the TransferData interface of node ECU1.

[0087] The master ECU calls the TransferData interface of the UCM module on 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: Node ECU1 returns the result of calling the TransferData interface of Node ECU1.

[0089] In response to the master ECU calling the TransferData interface on node ECU1, the UCM module on node ECU1 may return the result of the call to notify the master ECU whether the reception was successful or unsuccessful.

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

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

[0092] 310: Node ECU2 returns the result of calling the TransferStart interface of Node ECU2.

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

[0094] 311: The master ECU feeds back the results of the TransferStart interface call of node ECU2, which were obtained, to the OTA server.

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

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

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

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

[0099] For example, node ECU includes 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 possible implementations, step 314 may further include the node ECU2 returning the result of calling the node ECU2's TransferData interface.

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

[0103] If further upgrade package downloads are included, for example, if further node ECUs are included, the process for downloading the upgrade packages is the same as the process for downloading the upgrade packages for node ECU1 and node ECU2. For understanding, please refer to steps 303 through 308 or steps 309 through 314. Steps 303 through 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 ECUs can check whether they have enough free memory.

[0104] The applicant found a flaw in the software upgrade procedure in AutoSar. In the upgrade package transmission procedure, the master ECU must buffer the software packages for all node ECUs before transferring them to the corresponding node ECUs, for example, steps 306 and 307 and steps 312 and 313 must be executed. This design allows the master ECU to control the upgrade of each node ECU based on control information and coordinate the upgrade process of multiple node ECUs. For example, controlling the upgrade sequence for each node ECU includes controlling the sequence for downloading, installing, and launching the upgrade package for each node ECU. However, this design has relatively high requirements for the master ECU's memory space and processing performance. If the master ECU's memory space is insufficient, the download of the upgrade package may fail. If the master ECU's processing performance is not high, the download efficiency will be affected, i.e., the transmission speed of the upgrade package will be relatively low. This will affect the overall upgrade efficiency of the vehicle. In addition, the applicant found that in the aforementioned design, if some node ECUs do not have sufficient storage space, node ECUs with sufficient storage space still need to download their respective software packages. In this case, if there is a dependency between node ECUs with insufficient storage space and node ECUs with sufficient storage space in the upgrade sequence, the upgrade of the node with sufficient storage space may fail even if the upgrade package has been downloaded. As a result, storage resources are wasted and upgrade efficiency is affected. For example, node ECU1 has sufficient storage space and downloads its software package from the master ECU. Node ECU2 does not have sufficient storage space, and the master ECU does not send node ECU2's software package to node ECU2.If node ECU1 and node ECU2 have dependencies during the upgrade process, even if node ECU1 downloads its software package, the upgrade of node ECU1 may still fail. As a result, node ECU1's storage space is wasted, and the upgrade efficiency is affected. In addition to dependencies between node ECUs in the upgrade sequence, it should be noted that upgrades may also fail if some node ECUs do not have sufficient storage space.

[0105] To solve the aforementioned problems, this 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 this application, the master ECU can still know the download status of node ECUs, 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 can control multiple node ECUs to download software packages simultaneously or in a specific download sequence. Alternatively, the master ECU may control whether node ECUs download software packages. Based on this, i.e., based on the master ECU still controlling the upgrade process of each node ECU, the software package for each node ECU is sent directly to each node ECU by the OTA server, and the master ECU does not need to buffer the software package for each node ECU or transfer the upgrade package for each node ECU. In this way, the master ECU does not need to have a relatively large storage space or relatively high processing performance, and upgrade efficiency can also be improved. In addition, a new interface is defined in the data transmission system provided in this application. If all node ECUs have enough storage space to store their respective software packages, each software package is transmitted to the node ECU. This further improves 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 on another data transmission system for upgrading an ECU in a vehicle. This application will be described based on AutoSar, which is used as an example.

[0107] Based on the aforementioned research philosophy, the technical solutions provided in this application will be described in detail below.

[0108] Figure 4 is a schematic flowchart of a data transmission method according to one embodiment of this application.

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

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

[0111] To understand step 401, please refer to step 301 in the solution corresponding to Figure 3. Further details will not be provided in this specification.

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

[0113] To understand step 402, please refer to step 302 in the solution corresponding to Figure 3. Further details will not be provided here.

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

[0115] To understand step 403, please refer to step 303 in the solution corresponding to Figure 3. Further details will not be provided in this specification.

[0116] 404: Node ECU1 returns the result of calling the TransferStart interface on Node ECU1.

[0117] Node ECU1, in response to the master ECU calling the TransferStart interface, returns the result of the TransferStart interface call to the master ECU. The call result may indicate whether node ECU1 has enough remaining storage space to store node ECU1's upgrade package.

[0118] In addition, the solution provided in this application may further include a first parameter in the call result. The value of the first parameter is used to instruct the OTA server to send the software package for node ECU1 directly to node ECU1. This will be described below with reference to several specific implementation forms.

[0119] In possible implementations, if node ECU1 has sufficient remaining storage space to store node ECU1's upgrade package, 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 send the software package directly to node ECU1 without using the master ECU.

[0120] In possible implementations, a first parameter is added to the call result. The value of the first parameter is A if node ECU1 has enough remaining storage space to store node ECU1's upgrade package, and the value of the first parameter is B if node ECU1 does not have enough remaining storage space to store node ECU1's upgrade package. Here, A and B are examples to illustrate the different values ​​of the first parameter in the two cases: when node ECU1 determines that it has enough remaining storage space, and when node ECU1 determines that it does not have enough remaining storage space. Node ECU1 feeds back the first parameter so that the OTA server knows whether it can send the software package directly to node ECU1. For example, if the OTA server knows that the value of the first parameter is A, the OTA server can send the software package directly to node ECU1 without using the master ECU.

[0121] 405: The master ECU feeds back the results of the TransferStart interface call of node ECU1, which were obtained, to the OTA server.

[0122] The UCM Master module of the master ECU feeds back the results of the TransferStart interface call from node ECU1 to the UCM module of the OTA server.

[0123] In this solution, if node ECU1 has enough remaining storage space to store node ECU1's upgrade package, the call result fed back to the OTA server will include the first parameter.

[0124] In possible implementations, the master ECU may call the OTA server interface to send the result of the TransferStart interface call of node ECU1 obtained to the OTA server, and in response to this interface call, the OTA server sends the software package to node ECU. Note that in this application, when one device sends information to another device or instructs another device to perform an action, it is usually described as the device calling the interface of another device, i.e., the device calling the interface of another device to send information to another device or instruct the other device to perform an action. Further details are not described again in the embodiments of this application.

[0125] 406: The OTA server calls the TransferData interface on node ECU1.

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

[0127] For example, in AutoSar, the OTA server can 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 possible implementations, step 407 may further include the node ECU1 returning the result of calling the TransferData interface of node ECU1.

[0129] In response to the OTA server calling the TransferData interface on node ECU1, node ECU1 may return the result of the call to notify 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, Node ECU further includes Node ECU2, and Master ECU calls the TransferStart interface of Node ECU2.

[0132] 409: Node ECU2 returns the result of calling the TransferStart interface of Node ECU2.

[0133] 410: The master ECU feeds back the results of the TransferStart interface call of node ECU2, which were obtained, to the OTA server.

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

[0135] The parameter values ​​for the TransferData interface of node ECU2 are the software packages of node ECU2.

[0136] In possible implementations, step 412 may further include the node ECU2 returning the result of calling the node ECU2's TransferData interface.

[0137] For an understanding of steps 408 through 412, please refer to steps 403 through 407. Further details will not be provided here. If another node ECU is included, for an understanding of the process of downloading the upgrade package, please refer to the process of downloading the upgrade package for ECU1. That is, for an understanding, please refer to steps 403 through 407.

[0138] As can be seen from the embodiment corresponding to Figure 4, this solution slightly modifies the existing software upgrade procedure specified by AutoSar. Parameters are added to the result of the TransferStart interface call of the node ECU, and these parameters are fed back to the OTA server, which then knows that a distributed download can be performed and sends the upgrade package of the node ECU directly to the corresponding node ECU without using the master ECU. This solution reduces the dependence on the storage space and processing performance of the master ECU. In addition, according to the solution provided in this application, multiple node ECUs can perform downloads simultaneously, thereby improving download efficiency.

[0139] In addition to the solution provided in the embodiment corresponding to Figure 4, it should be noted that this application further provides another solution in which the OTA server can directly send upgrade packages to node ECUs based on AutoSar. Furthermore, according to the solution provided in this application, the master ECU can know in advance whether all node ECUs have sufficient remaining storage space, and the software packages are sent only if the remaining storage space of all node ECUs is sufficient to store each software package. This prevents upgrade failures caused by insufficient resources in some node ECUs during the download process, and reduces user traffic consumption and resource waste caused by upgrade failures. The following will be described with reference to several specific embodiments.

[0140] Figure 5 is a schematic flowchart of a data transmission method according to one embodiment of this application.

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

[0142] The OTA server calls the TransferVehiclePackage interface of the master ECU to send control information to the master ECU, including the upgrade policy and the names and sizes of the software upgrade packages for each node ECU. For example, the OTA server calls the TransferVehiclePackage interface of the master ECU to send the names and sizes of the software packages for node ECU1 and 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 so that the master ECU can centrally know whether the remaining memory space of all node ECUs is sufficient to store their respective software packages.

[0145] The parameter value of the target interface can be the size of the software package for each node ECU. For example, Table 1 provides a way to define a 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 indicate that the remaining storage space of the node ECU is sufficient to store the node ECU's software package, and false may indicate that the remaining storage space of the node ECU is insufficient to store the node ECU's software package. [Table 1]

[0146] In response to the master ECU calling the target interface, the node ECU checks whether its memory space is sufficient to store each software package.

[0147] Let's use ECU1 as an example. Specifically, the master ECU calls the target interface of node ECU1, and the parameter value of the target interface includes the size of the software package for node ECU1. In response to the call to the target interface, node ECU1 detects the remaining storage space and determines whether the remaining storage space is sufficient to store the upgrade package for node ECU1.

[0148] 503: Node ECU1 returns the result of the call to the target interface of Node ECU1.

[0149] Node ECU1, in response to the master ECU calling the target interface, returns the result of the target interface call to the master ECU. The call result may indicate whether node ECU1 has enough remaining storage space to store node ECU1's upgrade package. For example, the returned call result may be true or false.

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

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

[0152] 505: Node ECU2 returns the result of the call to the target interface of Node ECU2.

[0153] Node ECU2, in response to the master ECU calling the target interface, returns the result of the target interface call to the master ECU. The call result may indicate whether node ECU2 has enough remaining storage space to store node ECU2's upgrade package. For example, the returned call result may be true or false.

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

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

[0156] If the master ECU determines, based on the results of target interface calls from all node ECUs, that all node ECUs have sufficient storage space to store their respective software packages, the master ECU sends a feedback message to the OTA server. The feedback information is used to instruct the OTA server to perform a distributed download, that is, to instruct the OTA server to send each node ECU's software package to the corresponding node ECU. For example, if the node ECUs consist only of node ECU1 and node ECU2, there are three possible cases:

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

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

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

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

[0161] 507: The OTA server calls the TransferData interface on node ECU1.

[0162] If the OTA server determines, based on the feedback message, that it can send the software package from the node ECU to the node ECU, the OTA server calls the TransferData interface of those nodes to send the software package to the node ECU.

[0163] The feedback message may be status information sent by the master ECU. This status information is used to notify the OTA server that distributed downloads are possible. After receiving the status information, the OTA server sends the software packages from each node ECU directly to the corresponding node ECUs, and the software packages are 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 way, the software package of node ECU1 is sent to node ECU1.

[0165] In possible implementations, step 508 may further include the node ECU1 returning the result of calling the TransferData interface of node ECU1.

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

[0167] 509: The OTA server calls the TransferData interface on node ECU2.

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

[0169] In possible implementations, step 510 may further include the node ECU2 returning the result of calling the TransferData interface of node ECU2.

[0170] For an understanding of steps 509 and 510, please refer to steps 507 and 508. Note that if another node ECU is included, refer to the process of interaction between ECU1 and the OTA server or between ECU2 and the OTA server, i.e., refer to steps 502 through 509 for an understanding.

[0171] As can be seen from the embodiment corresponding to Figure 5, the master ECU can know in advance whether all node ECUs have sufficient remaining storage space, and a method is provided in which software packages are sent only if the remaining storage space of all node ECUs is sufficient to store each software package. This prevents upgrade failures caused by insufficient resources in some node ECUs during the download process, and reduces user traffic consumption and resource waste caused by upgrade failures. Specifically, in the implementation corresponding to Figure 5, an interface, such as a target interface, may be newly defined in AutoSar, thereby allowing the master ECU to know whether all node ECUs have sufficient remaining storage space. In addition, new status information may be added, and the master ECU can use this new status information to notify the OTA server that distributed downloads are possible, that is, that the software packages of each node ECU can be sent directly to the corresponding node ECUs.

[0172] In the embodiment corresponding to Figure 5, the master ECU may notify the OTA server that distributed download is possible, i.e., that the software packages of each node ECU can be sent directly to the corresponding node ECU, by using new status information. In some other implementations, the OTA server may alternatively perform distributed download in a different manner, i.e., send the software packages of each node ECU directly to the corresponding node ECU. This will be described below with reference to several specific embodiments.

[0173] Figure 6 is a schematic flowchart of a data transmission method according to one embodiment of this application.

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

[0175] The OTA server calls the master ECU's TransferVehiclePackage interface to send control information to the master ECU, including the upgrade policy, the name and size of the software upgrade package for each node ECU, and the download address for the software package for each node ECU. For example, the OTA server calls the master ECU's TransferVehiclePackage interface to send the master ECU the name and size of the software package for node ECU1, the download address for the software package for node ECU1, the name and size of the software package for node ECU2, and the download address for the software package for node ECU2.

[0176] In possible implementations, 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: Node ECU1 returns the result of the call to the target interface of Node ECU1.

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

[0180] 605: Node ECU2 returns the result of the call to the target interface of Node ECU2.

[0181] For an understanding of steps 602 to 605, please refer to steps 502 to 505 in the embodiment corresponding to Figure 5. Further details will not be described further herein.

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

[0183] Based on the results of the target interface calls of all node ECUs, if the master ECU determines that all node ECUs have sufficient storage space to store their respective software packages, the master ECU sends the download address for each software package to the node ECUs.

[0184] For example, a node ECU includes node ECU1 and node ECU2. If both node ECU1 and node ECU2 have sufficient storage space to store their respective software packages, the master ECU sends the download address for node ECU1's software package to node ECU1, and the master ECU sends the download address for node ECU2's software package to node ECU2.

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

[0186] In possible implementations, 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 the download address of the node ECU's software package. For example, if the master ECU calls the TransferStart interface of node ECU1, the TransferStart interface will include a new parameter whose value is the download address of node ECU1's software package. In another example, if the master ECU calls the TransferStart interface of node ECU2, the TransferStart interface will include a new parameter whose value is the download address of node ECU2's software package.

[0187] 607: Node ECU1 sends a request message to the OTA server based on the downloaded software package address for Node ECU1 that was obtained.

[0188] For example, after receiving the download address for the software package of ECU1, node ECU1 sends a request message to the OTA server. The request message carries the download address for the software package of ECU1 and is used to request the OTA server to send the software package of node ECU1 to node ECU1.

[0189] In possible implementations, a new interface, for example, a second interface, may be defined. The parameter of the second interface is the download address of the software package. When the second interface of the OTA server is invoked, the OTA server may send the software package of a node ECU to the corresponding node ECU. For example, node ECU1 may invoke the second interface of the OTA server. The parameter of the second interface is the download address of the software package of node ECU1. In response to the invoked second interface, the OTA server may send the software package of node ECU1 to node ECU1 based on the parameter value of the second interface. Note that the OTA server interface in this application is the UCM interface of the OTA server. Further details are not described 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 that the input parameters of the second interface include the download address of the software package. In some possible implementations, the input parameters of the second interface may further include the name of the software package or the software package identifier ID. [Table 2]

[0191] 608: The OTA server calls the TransferData interface on node ECU1.

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

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

[0194] In possible implementations, step 609 may further include the node ECU1 returning the result of calling the TransferData interface of node ECU1.

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

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

[0197] If the master ECU determines, based on the results of the target interface calls of all node ECUs, that all node ECUs have sufficient storage space to store their respective software packages, the master ECU sends the download address for each software package to the node ECUs.

[0198] For example, a node ECU includes node ECU2. In this case, the master ECU sends node ECU2 the download address for the software package.

[0199] 611: Node ECU2 sends a request message to the OTA server based on the downloaded software package address for Node ECU2.

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

[0201] In possible implementations, step 613 may further include the node ECU2 returning the result of calling the node ECU2's TransferData interface.

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

[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 for each node ECU, for example, controlling the sequence for downloading the software package for each node ECU. However, the software package for each node ECU is sent directly to each node ECU by the OTA server, and the master ECU does not need to buffer the software package for each node ECU or transfer the upgrade package for each node ECU. In this way, the master ECU does not need to have a relatively large storage space or relatively high processing performance, and the upgrade efficiency can be further improved. In addition, the solution provided in the present application supports multiple node ECUs performing downloads simultaneously, thereby improving download efficiency and not affecting the master ECU's control over the installation and activation processes for each node ECU later on. Furthermore, a new interface is defined in the data transmission system provided in the present application. Each software package is sent to a node ECU only if all node ECUs have sufficient storage space to store their respective software packages. This can further improve the upgrade efficiency.

[0204] In order to address the dependency on the master ECU's memory space and processing performance in the existing AutoSar software upgrade process, in addition to the aforementioned method of improving the software upgrade procedure in AutoSar based on AutoSar, the solution provided in this application may alternatively use another method to address the dependency on the ECU's memory space and processing performance. This will be described below with reference to several specific implementation forms.

[0205] Figure 7a is a schematic flowchart of a data transmission method according to one embodiment of this application.

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

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

[0208] 703: The master ECU sends the size of the remaining storage space for 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 for each node ECU to the OTA server in tabular format.

[0210] In possible implementations, the node ECU may alternatively send the size of its remaining storage space directly to the OTA server, and the size is not transferred by the master ECU.

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

[0212] Based on the size of the remaining storage space in each node ECU and the size of each node ECU's software package, if the OTA server determines that each node ECU has enough storage space to store its software package, the OTA server calls the master ECU's TransferVehiclePackage interface. In one example, it is assumed that the node ECUs include only node ECU1 and node ECU2. Three cases are possible:

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

[0214] 2. If the remaining storage space of node ECU1, as retrieved by the OTA server, is greater than or equal to the size of node ECU1's software package, and the remaining storage space of node ECU2, as retrieved, is less than the size of node ECU2's software package, the OTA server will determine that it cannot currently perform the upgrade successfully and will not start the software package upgrade program.

[0215] 3. If the remaining storage space of node ECU1, as retrieved by the OTA server, is less than the size of node ECU1's software package, and the remaining storage space of node ECU2, as retrieved, is greater than or equal to the size of node ECU2's software package, the OTA server will determine that it cannot currently perform the upgrade successfully and will not start the software package upgrade program.

[0216] 705: The OTA server calls the TransferData interface on node ECU1.

[0217] In possible implementations, step 706 may further include the node ECU1 returning the result of calling the TransferData interface of node ECU1.

[0218] 707: The OTA server calls the TransferData interface on node ECU2.

[0219] In possible implementations, step 708 may further include the node ECU2 returning the result of calling the node ECU2's TransferData interface.

[0220] For an understanding of steps 705 through 708, please refer to steps 406, 407, 411, and 412 in the embodiment corresponding to Figure 4.

[0221] If other node ECUs are included, please note that for understanding purposes, we will refer to the steps performed by node ECU1 and node ECU2. Further details will not be described again in this specification.

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

[0223] 801: Node ECU1 sends the size of the remaining storage space on Node ECU1 to the Master ECU.

[0224] 802: Node ECU2 sends the size of the remaining storage space on Node ECU2 to the Master ECU.

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

[0226] The OTA server invokes the TransferVehiclePackage interface of the master ECU to send the size of the software packages of all node ECUs to the master ECU. Note that in this embodiment, node ECU1 and node ECU2 are used as examples. If other node ECUs are included, refer to the steps performed by node ECU1 and node ECU2 for understanding. Further details are not described herein.

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

[0228] Based on the size of the remaining storage space in each node ECU and the size of the software package in each node ECU, if the master ECU determines that each node ECU has sufficient storage space to store its software package, the master ECU sends a notification message to the OTA server, which then sends the software package to the node ECU.

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

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

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

[0232] 3. If the remaining storage space of node ECU1, as acquired by the master ECU, is less than the size of node ECU1's software package, and the remaining storage space of node ECU2, as acquired, is greater than or equal to the size of node ECU2's software package, the master ECU will not send a notification message to the OTA server. In other words, the software package download procedure will not be initiated.

[0233] 805: The OTA server calls the TransferData interface on node ECU1.

[0234] In possible implementations, step 806 may further include the node ECU1 returning the result of calling the TransferData interface of node ECU1.

[0235] 807: The OTA server calls the TransferData interface on node ECU2.

[0236] In possible implementations, step 808 may further include the node ECU2 returning the result of calling the node ECU2's TransferData interface.

[0237] For an understanding of steps 805 through 808, please refer to steps 406, 408, 411, and 412 in the embodiment corresponding to Figure 4.

[0238] The above describes a data transmission method provided in the embodiments of this application. One embodiment of this 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 embodiments corresponding to Figures 4 to 7b, the master ECU is the master ECU described in the embodiments corresponding to Figures 4 to 7b, and the node ECUs are the node ECUs described in the embodiments corresponding to Figures 4 to 7b. For example, please refer to node ECU1 and node ECU2 for understanding. In addition, one embodiment of this application further provides an OTA cloud server, a master ECU, and node ECUs based on the same inventive concept as the embodiments described above. The data transmission system provided in one embodiment of this application will be described below with reference to several specific implementation forms.

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

[0240] A node ECU may include an Update and Configuration Management (UCM) module. The node ECU's UCM module is configured to check the remaining storage space and return a first call result when it learns that the node ECU's target interface has been invoked. The target interface parameter value may include the size of the node ECU's software package. The first call result indicates whether the remaining storage space is greater than or equal to the size of the node ECU's software package. If the remaining storage space is greater than or equal to the size of the node ECU's software package, the node ECU's UCM module is further configured to receive the node ECU's software package sent by the OTA server.

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

[0242] In possible implementations, the node ECU's UCM module is further configured to obtain the download address of the node ECU's software package and to call the OTA server interface based on the obtained download address. Since the interface parameter value is the download address of the node ECU's software package, the OTA server sends the node ECU's software package to the UCM module in response to the interface being called.

[0243] In possible implementations, the OTA server may include an Update and Configuration Management (UCM) module. The OTA server's UCM module is configured to call the node ECU's TransferData interface to send the node ECU's software package to the node ECU when it determines that the remaining storage space of the node ECU is greater than or equal to the size of the node ECU's software package.

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

[0245] In possible implementations, the UCM module of the OTA server is further configured to call the TransferVehiclePackage interface of the master ECU for the vehicle-wide software package. The parameter values ​​of the TransferVehiclePackage interface may include the download address of the software package for each node ECU in a group of node ECUs. The master ECU sends the download address of the software package for the node ECU to the node ECU, which then calls the interface of the UCM module based on the node ECU's download address. The parameters of the interface may include the download address of the software package for the node ECU. The UCM module is specifically configured to send the software package for the node ECU to the node ECU in response to the node ECU calling the interface.

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

[0247] In possible implementations, if the remaining storage space of the node ECU is greater than or equal to the size of the node ECU's software package, the result of the first call 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 a first parameter value, and the OTA server, upon obtaining the first parameter value, calls the node ECU's TransferData interface to send the node ECU's software package to the node ECU.

[0248] In possible implementations, the UCM Master module is further configured to receive the results of a first call from each node ECU within a group of node ECUs. A node ECU is any one of the group of node ECUs. Based on the results of the first call, if it is determined that the remaining storage space of each node ECU is greater than or equal to the size of each node ECU's software package, a second parameter value is sent to the OTA server, which calls the node ECU's TransferData interface to retrieve the second parameter value.

[0249] One embodiment of this application further provides an ECU, which is a node ECU in the embodiment corresponding to Figure 8. For understanding, please refer to the node ECU described in the embodiments corresponding to Figures 4 to 7b.

[0250] One embodiment of this application further provides an ECU, which is a master ECU in the embodiment corresponding to Figure 8. For understanding, please refer to the master ECU described in the embodiments corresponding to Figures 4 to 7b.

[0251] One embodiment of this application further provides an OTA server. The OTA server is the OTA server in the embodiment corresponding to Figure 8. For understanding, please refer to the OTA server described in the embodiments corresponding to Figures 4 to 7b.

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

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

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

[0255] In possible implementations, the vehicle may include a display 1101 and an ECU 1102, as shown in Figure 10. The ECU 1102 is a node ECU or master ECU as described in the embodiments corresponding to Figures 4 to 7b. The vehicle may interact with the user by using the display, for example, by sending prompt messages using the display. Prompt messages are used to instruct the node ECU to download a software package for the first ECU from an OTA server. Figure 11 is a schematic diagram of an application scenario of a data transmission method according to one embodiment of the present application. In the solution provided in this embodiment of the present application, the user may choose whether to upgrade the in-vehicle software, or the in-vehicle software may be upgraded directly by default. When each device in the vehicle is upgraded, a specific process for downloading the software upgrade package for each ECU sends a prompt message prompting each device to download the software package from the OTA server.

[0256] The vehicles may include automobiles, trucks, motorcycles, buses, boats, lawnmowers, recreational vehicles, playground vehicles, construction machinery, trolleys, golf carts, and the like. This is not particularly limited to this embodiment of the present application.

[0257] For specific implementations in which the ECU and vehicle perform the data transmission method and achieve beneficial effects, please refer to the descriptions in the embodiments of the method corresponding to Figures 4 to 7b. Further details will not be described elsewhere in this specification.

[0258] One embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores a program used to download a software package. Once the program is executed on a computer, the computer is able to perform steps performed by the ECU in the manner described in the embodiments shown in Figures 4 to 7b.

[0259] One embodiment of this application further provides a computer-readable storage medium that stores a program used to download a software package. Once the program is executed on a computer, the computer is able to perform steps that are performed by OTA in the manner described in the embodiments shown in Figures 4 to 7b.

[0260] One embodiment of this application further provides a computer program product. When the computer program product is executed on a computer, the computer becomes capable of performing steps performed by the ECU in the manner described in the embodiments shown in Figures 4 to 7b. Alternatively, when the computer program product is executed on a computer, the computer becomes capable of performing steps performed by OTA in the manner described in the embodiments shown in Figures 4 to 7b. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the procedures or functions according to the embodiments of this application are generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted by wired (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio, or microwave) from one website, computer, server, or data center to another website, computer, server, or data center. Computer-readable storage media can be any usable medium accessible by a computer, or a data storage device such as a server or data center that integrates one or more usable media. Usable media can be magnetic media (e.g., floppy disks, hard disks, or magnetic tapes), optical media (e.g., DVDs), semiconductor media (e.g., solid-state drives (SSDs)), etc.

[0261] One embodiment of this application further provides a circuit system, which includes a processing circuit and a memory circuit. The processing circuit and the memory circuit are configured to perform steps performed by an ECU or OTA server in the manner described in the embodiments shown in Figures 4 to 7b. The processing circuit may be any suitable type of computing unit, e.g., 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 memory circuit may be volatile and / or non-volatile. For example, the memory circuit may be a register, a cache, etc. Specifically, the volatile memory circuit may include a cache memory, and the non-volatile memory circuit may include a flash memory.

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

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

[0264] As described above, those skilled in the art will 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 memory, dedicated components, etc. In general, any function performed by a computer program can be easily implemented by using the corresponding hardware, and the specific hardware structure used to achieve the same function can take various forms, such as analog circuits, digital circuits, application-specific circuits, etc. However, with respect to the present application, the software program implementation is, in most cases, a better implementation. Based on such understanding, the technical solutions of the present application, either essentially or in part with respect to the prior art, can be implemented in the form of a software product. The computer software product is stored on a readable storage medium such as a computer floppy disk, USB flash drive, removable hard disk, ROM, RAM, magnetic disk, or compact disk, and includes several instructions for instructing a computer device (which may be a personal computer, server, network device, etc.) to perform the method described in the embodiments 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 send the size of the target software package of the node ECU to the master ECU. The master ECU is configured to obtain the size of the target software package of the node ECU from the OTA server. The master ECU is further configured to transmit the size of the target software package to the node ECU, or to obtain the 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 smaller than the size of the target software package. The master ECU is further configured to send the download address of the target software package to the node ECU, and the target software package is requested from the OTA server by the node ECU based on the download address, and the download address is in the form of a uniform resource locator (URL), in a data transmission system.

2. The master ECU is further 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, and when the size of the target software package is transmitted 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 when 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 less than the size of the target software package, the value of which 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 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 transmitted to the node ECU by the OTA server based on the first parameter, or the target software package is transmitted by the OTA server instructed by the master ECU. The data transmission system according to claim 1.

3. The node ECU is further configured to transmit a first parameter to the master ECU, the value of which is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package. The master ECU is further configured to obtain the first parameter from the node ECU and, based on the first parameter, to send a command to the OTA server instructing it to send the target software package to the node ECU. The OTA server is further configured to transmit the target software package to the node ECU based on the instruction. 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 send the command to the OTA server instructing it to send the target software package to the node ECU when acquiring N first parameters corresponding to the N node ECUs. The data transmission system according to claim 3.

5. If the master ECU is further configured to send the 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 transmit a first parameter to the master ECU, the value of which is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package. The 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 to request the target software package 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. 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 send the download address to the node ECU when obtaining N first parameters corresponding to the N node ECUs. 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 specifically configured to obtain the download address of each node ECU within 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 send the download address of each target software package to each node ECU in the N node ECUs only if the value of each of the N first parameters indicates that the remaining storage space of each node ECU in the N node ECUs is not less than the size of the respective target software package for 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. The data transmission system according to claim 5.

8. An over-the-air (OTA) server, wherein the OTA server includes an update and configuration management (UCM) module, The UCM module transmits the size of the target software packages of multiple node ECUs to the master ECU. The node ECU is 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 the download address of the target software package to the master ECU. The UCM module is configured to receive from the node ECU a message containing the download address of the target software package, which has been 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, wherein the download address is in the form of a uniform resource locator (URL), and the OTA server.

9. The OTA server according to claim 8, wherein 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 the size of the target software package.

10. The message containing the first parameter is received from the master ECU, and the 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; 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; or the message is received from the node ECU, and the message is used to request the target software package from the OTA server. The OTA server according to claim 9.

11. The message is received from the node ECU and is used to request the target software package from the OTA server. The OTA server according to claim 10.

12. A master electronic control unit (ECU), wherein the master ECU includes an update and configuration management master (UCM Master) module. The UCM Master module is configured to obtain the size of the ECU's target software package from the OTA server. The UCM Master module is further configured to transmit the size of the target software package to the node ECU, or to obtain the size of the remaining storage space in the node ECU from the node ECU. The UCM Master module is further configured to send the download address of the target software package to the node ECU. The target software package is requested from the OTA server by the node ECU based on the download address, and the download address is in the form of a uniform resource locator (URL). Master ECU.

13. The UCM Master module is further 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, and when the size of the target software package is transmitted 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 when 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, the value of which 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 12.

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

15. The number of node ECUs is N, where N is an integer greater than 1. The UCM Master module is configured to send the command instructing the OTA server to send the target software package to the node ECU when acquiring N first parameters corresponding to the N node ECUs. The master ECU according to claim 14.

16. If the UCM Master module is configured to send the 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, based on the first parameter, to send the download address to the node ECU, wherein the 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. The master ECU according to claim 13.

17. 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 obtaining N first parameters corresponding to the N node ECUs. The master ECU according to claim 16.

18. The number of node ECUs is N, where N is an integer greater than 1. The master ECU is configured to obtain the download address of each node ECU within 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 send the download address of each target software package to each node ECU in the N node ECUs only if the value of each of the N first parameters indicates that the remaining storage space of each node ECU in the N node ECUs is not less than the size of the respective target software package for each node ECU in the N node ECUs. The master ECU according to claim 16.

19. A node electronic control unit (ECU), wherein the node ECU includes an update and configuration management (UCM) module. The aforementioned UCM module is The size of the target software package for multiple node ECUs is obtained from the master ECU, or the size of the remaining storage space of the node ECUs is sent to the master ECU. The system is configured to receive the target software package from the OTA server if the remaining storage space is not smaller than the size of the target software package. The UCM module is further configured to obtain the download address of the target software package from the master ECU. The UCM module is configured to send a message containing the download address to the OTA server to request the target software package, wherein the download address is in the form of a uniform resource locator (URL), as per the node ECU.

20. The node ECU according to claim 19, wherein the UCM module is configured to call the interface of the OTA server based on the acquired download address, and the parameter value of the interface is the download address of the software package of the node ECU.

21. The node ECU according to claim 20, wherein the target software package is requested by the node ECU to the OTA server, and the target software package is transmitted 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 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.

22. 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 transmit a first parameter to the master ECU, the value of which is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, and the target software package is transmitted by the OTA server instructed by the master ECU based on the first parameter. The node ECU according to claim 20 or 21.

23. 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 transmit a first parameter to the master ECU, the value of which is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package. The node ECU according to claim 20 or 21.

24. A method for transmitting data, The OTA server sends the size of the target software package for multiple node ECUs to the master ECU, If the remaining storage space of the node ECU is not less than the size of the target software package, the OTA server receives a message containing the download address of the target software package, which has been sent from the OTA server to the master ECU, from the node ECU, and the OTA server then transmits the target software package to the node ECU based on the download address. A data transmission method that includes the download address being in the form of a uniform resource locator (URL).

25. The message containing the first parameter is received from the master ECU, and the 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. The data transmission method according to claim 24.

26. The message is received from the node ECU and is used to request the target software package from the OTA server. The data transmission method according to claim 25.

27. A method for transmitting data, The master ECU obtains the size of the target software package for the node ECU from the OTA server, The steps include: the master ECU sending the size of the target software package to the node ECU, or obtaining the size of the remaining storage space of the node ECU from the node ECU; The steps include sending the download address of the target software package to the node ECU. A data transmission method comprising the following: the target software package is requested from the OTA server by the node ECU based on the download address, the download address being in the form of a uniform resource locator (URL).

28. The aforementioned method, A step in which the master ECU obtains a relationship between the size of the remaining storage space of the node ECU and the size of the target software package, wherein if the size of the target software package is transmitted 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, the steps include sending a first parameter to the OTA server, the value of which 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 27, further comprising:

29. The aforementioned method, The steps include the master ECU obtaining a first parameter from the node ECU, the value of which is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, and instructing the OTA server to send the target software package to the node ECU, The step of sending a command to the OTA server instructing it to send the target software package to the node ECU based on the first parameter. The data transmission method according to claim 28, further comprising:

30. The number of node ECUs is N, where N is an integer greater than 1. The step of sending an instruction to the OTA server to send the target software package to the node ECU based on the first parameter is: The step of obtaining N first parameters corresponding to the N node ECUs, and sending the command to the OTA server instructing the master ECU to send the target software package to the node ECUs. The data transmission method according to claim 29, including the following:

31. The aforementioned method, The master ECU obtains the download address of the target software package from the OTA server. The steps further include obtaining a first parameter from the node ECU and sending the download address of the target software package to the node ECU, A step of sending the download address to the node ECU based on the first parameter, wherein the 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. The data transmission method according to claim 28, further comprising:

32. The number of node ECUs is N, where N is an integer greater than 1. The step of sending the download address to the node ECU based on the first parameter is: Steps in which the master ECU sends the download address to the node ECU when obtaining N first parameters corresponding to the N node ECUs The data transmission method according to claim 31, including the method described in claim 31.

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

34. A method for transmitting data, The steps include: multiple node ECUs 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; If the remaining storage space is not smaller than the size of the target software package, the step of receiving the target software package from the OTA server is as follows: The data transmission method includes, The steps include: the node ECU obtaining the download address of the target software package from the master ECU; A step of sending a message containing the download address to the OTA server to request the target software package, wherein the download address is in the form of a uniform resource locator (URL), and A data transmission method that includes this.

35. The data transmission method according to claim 34, wherein the target software package is requested by the node ECU to the OTA server, and the target software package is transmitted 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 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.

36. The aforementioned method, If 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, Steps include: the node ECU sending a first parameter to the master ECU, the value of which is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package, and the target software package being sent by the OTA server instructed by the master ECU based on the first parameter. The data transmission method according to claim 35, further comprising:

37. The aforementioned method, If 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 steps include: the node ECU transmitting a first parameter to the master ECU, the value of which is used to indicate that the remaining storage space of the node ECU is not less than the size of the target software package; The data transmission method according to claim 35, further comprising:

38. A computer-readable storage medium containing a program, wherein when the program is executed on a computer, the computer is able to perform the method according to any one of claims 24 to 37.

39. An intelligent vehicle comprising a master electronic control unit (ECU) and node ECUs, wherein the master ECU is the master ECU according to any one of claims 12 to 18, and the node ECU is the node ECU according to any one of claims 19 to 23.