Vehicle task allocation method and device, equipment, storage medium and architecture

By obtaining resource consumption prediction data in the vehicle and reassigning tasks between multiple execution controllers, the problem of resource bottleneck in the vehicle in different operating modes is solved, and efficiency and processing speed is improved.

CN119225948APending Publication Date: 2024-12-31BEIJING CO WHEELS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310804187.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In different operating modes, the controller's task volume is concentrated, resulting in resource bottlenecks and affecting efficiency.

Method used

By obtaining resource consumption prediction data, filtering tasks and reallocating them among multiple execution controllers, ensuring load balancing, reducing task overload and improving processing speed.

Benefits of technology

It effectively reduces the resource load of the vehicle, improves task processing efficiency, avoids task overload, and ensures efficient operation of the vehicle in different operating modes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119225948A_ABST
    Figure CN119225948A_ABST
Patent Text Reader

Abstract

The invention discloses a task allocation method and device for a vehicle, equipment, a storage medium and a framework. The method comprises the steps that resource consumption prediction data of a vehicle are obtained, the resource consumption prediction data comprise a plurality of to-be-operated tasks about to be operated within a first duration and resource consumption prediction values corresponding to all the to-be-operated tasks, a first task in the to-be-operated tasks is allocated to a plurality of execution controllers of the vehicle, and the first task is allocated to the plurality of execution controllers of the vehicle according to the resource consumption prediction values corresponding to all the to-be-operated tasks. Each first task is allocated to an execution controller corresponding to a program to which the first task belongs, and the first tasks in the execution controllers are reallocated on the basis of the resource consumption predicted values corresponding to the first tasks under the condition that the execution controllers which do not meet the load balancing condition exist in the execution controllers. According to the embodiment of the invention, the efficiency of the vehicle can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of vehicle technology, and in particular, relates to a vehicle task allocation method, device, equipment, storage medium and architecture. Background Art

[0002] As the functions of vehicles become more and more complete, the number of tasks carried by the vehicles is also increasing, and the number of tasks that need to be performed on the vehicles is also different when the vehicles are in different operating modes.

[0003] In certain operating modes of the vehicle, the vehicle needs to perform a large number of tasks, and they are mainly concentrated on a few controllers. The computing power and resources of the controllers are limited. Therefore, when the number of tasks of the controller increases, the controller may not be able to handle all tasks at the same time. For example, the processor performance, memory capacity or bandwidth of the controller may become a bottleneck, limiting its ability to handle more tasks, which leads to a decrease in the efficiency of the vehicle. Summary of the invention

[0004] The embodiments of the present application provide a vehicle task allocation method, device, equipment, storage medium and architecture, which can solve the problem of reduced efficiency of existing vehicles.

[0005] In a first aspect, an embodiment of the present application provides a method for assigning tasks to a vehicle, the method comprising:

[0006] Acquire resource consumption prediction data of the vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run;

[0007] Allocating first tasks among the plurality of tasks to be executed to a plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to an execution controller corresponding to a program to which it belongs;

[0008] In the case that there is an execution controller that does not meet the load balancing condition among the multiple execution controllers, the first tasks among the multiple execution controllers are reallocated based on the resource consumption prediction values ​​corresponding to each of the first tasks.

[0009] In some embodiments, after obtaining the resource consumption prediction data of the vehicle, the method further includes:

[0010] Sending the resource consumption prediction data to the cloud;

[0011] Wherein, in the case of receiving a resource allocation instruction fed back by the cloud based on the resource consumption prediction data, the first task is a task to be run indicated by the resource allocation instruction;

[0012] In the case where the resource allocation instruction is not received, the first task is all tasks to be executed.

[0013] In some embodiments, upon receiving a resource allocation instruction from the cloud based on the resource consumption prediction data feedback, the method further includes:

[0014] Sending raw data of a second task among the multiple tasks to be executed to the cloud, wherein the second task is a task to be executed other than the first task;

[0015] Obtain a second task result obtained by the cloud performing the second task based on the original data.

[0016] In some embodiments, the reallocating the first tasks in the plurality of execution controllers based on the resource consumption prediction values ​​corresponding to the first tasks includes:

[0017] Determining a resource value to be consumed of each execution controller among the multiple execution controllers based on the resource consumption prediction value corresponding to each of the first tasks, wherein the resource value to be consumed is used to indicate the resources to be consumed by the corresponding execution controller within the first time period;

[0018] In the case that there is a first execution controller whose value of resources to be consumed is greater than a first threshold value among the multiple execution controllers, a transfer instruction is sent to the first execution controller, wherein the transfer instruction is used to instruct the transfer of a target program from the first execution controller to a second execution controller, and the transfer of a first task corresponding to the target program from the first execution controller to the second execution controller, the target program being used to implement a first task corresponding to at least one of the first execution controllers, and the second execution controller being an execution controller whose value of resources to be consumed is less than a second threshold value among the multiple execution controllers.

[0019] In some embodiments, after determining the resource value to be consumed of each execution controller in the plurality of execution controllers based on the resource consumption prediction value corresponding to each of the first tasks, the method further includes:

[0020] Setting the control authority of the third execution controller to the first level, and setting the control authority of the fourth execution controller to the second level, wherein the third execution controller is an execution controller with the largest value of resources to be consumed among the multiple execution controllers, and the fourth execution controller is an execution controller other than the third execution controller among the multiple execution controllers, and the communication priority of the first level is greater than that of the second level;

[0021] A communication state of the fourth execution controller is controlled based on the communication priority.

[0022] In some embodiments, controlling the communication state of the fourth execution controller based on the communication priority includes:

[0023] In a case where it is detected that the fourth execution controller and the third execution controller use the same communication channel, acquiring the communication data volume of the communication channel;

[0024] When the communication data volume of the communication channel is greater than a third threshold, a pause instruction is sent to the fourth execution controller, where the pause instruction is used to instruct the fourth execution controller to suspend the use of the communication channel within a second time period after the current moment.

[0025] In a second aspect, an embodiment of the present application provides a vehicle task allocation device, the device comprising:

[0026] An acquisition module, configured to acquire resource consumption prediction data of a vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run;

[0027] an allocating module, configured to allocate a first task among the plurality of tasks to be run to a plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to an execution controller corresponding to a program to which it belongs;

[0028] The adjustment module is used to reallocate the first tasks among the multiple execution controllers based on the resource consumption prediction values ​​corresponding to each of the first tasks when there is an execution controller among the multiple execution controllers that does not meet the load balancing condition.

[0029] In a third aspect, an embodiment of the present application provides a task allocation device for a vehicle, the device comprising: a processor and a memory storing computer program instructions;

[0030] When the processor executes the computer program instructions, the above-mentioned vehicle task allocation method is implemented.

[0031] In a fourth aspect, an embodiment of the present application provides a computer storage medium having computer program instructions stored thereon, and when the computer program instructions are executed by a processor, the above-mentioned vehicle task allocation method is implemented.

[0032] In a fifth aspect, an embodiment of the present application provides an electronic and electrical architecture, the electronic and electrical architecture comprising:

[0033] Multiple execution controllers for executing tasks;

[0034] A task allocation controller is used to obtain resource consumption prediction data of a vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run; a first task among the plurality of tasks to be run is allocated to a plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to an execution controller corresponding to a program to which it belongs; and, in the event that there are execution controllers among the plurality of controllers that do not meet load balancing conditions, the first tasks among the plurality of execution controllers are reallocated based on the resource consumption prediction values ​​corresponding to each of the first tasks.

[0035] In the present application, resource consumption prediction data is obtained by predicting the resources to be consumed by the vehicle within a first time period in the future, wherein the resource consumption prediction data includes a plurality of tasks to be run that are about to be run within the first time period, and a resource consumption prediction value corresponding to each task to be run. A first task can be screened out from the plurality of tasks to be run, and the first task can be assigned to a plurality of execution controllers of the vehicle. In the case where there are execution controllers that do not meet the load balance condition among the plurality of execution controllers, the first tasks in the plurality of execution controllers are reallocated based on the resource consumption prediction values ​​corresponding to the respective first tasks. In the above manner, the number of tasks to be run that need to be executed in the vehicle within the first time period can be re-determined, and after the tasks to be run are allocated to different execution controllers according to an inherent allocation method, the execution controllers with heavier task loads are reallocated to reduce the number of tasks in the vehicle, balance the number of tasks in each execution controller in the vehicle, avoid task overload, speed up task processing, and improve vehicle efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0037] Figure 1 is a flowchart of a method for allocating tasks to a vehicle provided in one embodiment of the present application;

[0038] Figure 2 This is a schematic diagram of a scenario of a method for allocating tasks to a vehicle provided in an embodiment of the present application;

[0039] Figure 3 is a structural schematic diagram of a vehicle task allocation device provided in one embodiment of the present application;

[0040] Figure 4It is a schematic diagram of the hardware structure of a task allocation device for a vehicle provided in one embodiment of the present application. DETAILED DESCRIPTION

[0041] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

[0042] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0043] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The embodiments will be described in detail below in conjunction with the accompanying drawings.

[0044] Specifically, in order to solve the problems of the prior art, the embodiments of the present application provide a method, device, equipment, storage medium and architecture for allocating tasks for a vehicle. The following first introduces the method for allocating tasks for a vehicle provided in the embodiments of the present application.

[0045] Figure 1 A flow chart of a method for allocating tasks to a vehicle provided by an embodiment of the present application is shown. The method comprises the following steps:

[0046] S110, obtaining resource consumption prediction data of the vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run.

[0047] In this embodiment, the resource consumption prediction data is used to predict multiple tasks to be run by the vehicle within the first time period after the current moment, and the resource consumption prediction value corresponding to each task to be run. Since the vehicle is in different states, the tasks to be run are different, so the resources to be consumed by the vehicle in the first time period are also different accordingly. Specifically, the resources include the communication bandwidth, computing power and storage capacity of the vehicle, wherein the bandwidth refers to the network transmission bandwidth available to the vehicle, which is used to transmit data, images, audio or video information; computing power refers to the computing power of the vehicle, including processor performance, memory capacity and computing speed, etc., which are used to perform various computing tasks; storage capacity refers to the available storage space of the vehicle for storing data, files or other resources. The tasks to be run are specific functions or operations that the vehicle needs to complete. These tasks to be run may include acceleration, braking, steering, shifting, safe driving assistance, etc. The tasks to be run can be executed and implemented by various execution controllers of the vehicle.

[0048] For example, the resource consumption prediction data includes M pending tasks that the vehicle will run within the first time period after the current moment, and M resource consumption prediction values ​​corresponding to these M pending tasks. Each resource consumption prediction value is used to predict the resources that a pending task will consume within the first time period. Then, these M resource consumption prediction values ​​are added together, and the sum obtained is the resources that the vehicle needs to consume in the next first time period, where M is a positive integer greater than 1.

[0049] S120, allocating a first task among the plurality of tasks to be executed to a plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to an execution controller corresponding to a program to which it belongs;

[0050] In this embodiment, the vehicle includes multiple execution controllers, each of which contains preset algorithms and logics, which are written into programs to execute specific tasks to be executed. Therefore, each task to be executed has its own program.

[0051] After predicting multiple tasks to be run that the vehicle will run within the first time period, the tasks to be run can be screened, and some or all of the tasks to be run can be assigned as first tasks to multiple execution controllers of the vehicle, and each task to be run can be assigned to the execution controller corresponding to the program to which it belongs.

[0052] For example, the resource consumption prediction data includes M tasks to be run within the first time period, and M resource consumption prediction values ​​corresponding to the M tasks to be run. The total resources that may be consumed by the vehicle within the first time period, that is, the total predicted consumption, can be calculated based on the M resource consumption prediction values. The total predicted consumption is the total resources consumed by executing the M tasks to be run. The resource usage status of the vehicle can be reallocated according to the total predicted consumption, so as to determine the actual total consumption that the vehicle actually needs to consume within the first time period, and the P first tasks corresponding to the actual total consumption. For example, since the equipment of each vehicle is certain, the available resources of the vehicle are determined. If the predicted total predicted consumption is greater than the available resources of the vehicle, then part of the tasks to be run that the vehicle needs to consume resources can be transferred to the cloud or other vehicle terminals, and only P first tasks are retained to ensure that the actual total consumption of the vehicle is less than or equal to the available resources of the vehicle, thereby reducing the resource consumption on the vehicle to ensure the efficient operation of the tasks in the vehicle, and P is a positive integer less than M.

[0053] S130: When there is an execution controller that does not meet the load balancing condition among the multiple execution controllers, reallocate the first tasks among the multiple execution controllers based on the resource consumption prediction values ​​corresponding to each of the first tasks.

[0054] In this embodiment, the vehicle includes multiple execution controllers, each of which is responsible for controlling different functions and subsystems of the vehicle. Therefore, when the vehicle is in different operating states, the resources consumed by different execution controllers are also quite different. This may result in a large number of first tasks to be run in some execution controllers and almost no first tasks to be run in other execution controllers under the same operating state. In this way, a large number of resources are idle in the idle execution controllers, and the operating efficiency of the overloaded execution controllers is very low.

[0055] For the above situation, based on the inherent allocation method of the first task, the first task can be reallocated among multiple execution controllers, and part of the first task can be transferred from the execution controller with heavy load to the relatively idle execution controller for running, thereby realizing resource reallocation, so as to achieve load balancing of multiple execution controllers as much as possible and improve task efficiency.

[0056] Specifically, a balanced load condition can be set in advance, and the load condition of the execution controller can be characterized by the balanced load condition. The balanced load condition can be that the predicted value of the resource consumption of the execution controller is less than or equal to a first threshold set in advance, or the balanced load condition can be that the difference between the predicted value of the resource consumption of the execution controller and the average value of the resource consumption is less than or equal to a fourth threshold, wherein the average value of the resource consumption is the average value of the predicted values ​​of the resource consumption of all execution controllers. When all execution controllers meet the balanced load condition, it can be considered that the loads of multiple execution controllers are balanced, and there is no need to reallocate the first tasks among the multiple execution controllers; otherwise, it is necessary to reallocate the first tasks among the multiple execution controllers.

[0057] For example, Figure 2 As shown, the multiple execution controllers may include an intelligent cockpit controller, an intelligent chassis controller, an automatic driving controller, a left rear domain controller, a left front domain controller, a right rear domain controller, and a right front domain controller; wherein the intelligent cockpit controller is an electronic control unit responsible for managing and controlling the vehicle's internal cockpit system, the intelligent chassis controller is an electronic control unit responsible for managing and controlling the vehicle's chassis system, the automatic driving controller is a key component for realizing the automatic driving function, the left rear domain controller is responsible for managing and controlling the relevant systems and functions of the left rear area, such as the left rear light, the left rear brake system, the left rear suspension system, etc.; the left front domain controller is responsible for managing and controlling the relevant systems and functions of the left front area, such as the left front light, the left front brake system, the left front suspension system, etc.; the right rear domain controller is responsible for managing and controlling the relevant systems and functions of the right rear area, such as the right rear light, the right rear brake system, the right rear suspension system, etc., and the right front domain controller is responsible for managing and controlling the relevant systems and functions of the right front area, such as the right front light, the right front brake system, the right front suspension system, etc. The execution controllers communicate with each other through Ethernet and CAN networks.

[0058] There are also large differences in the resources consumed by different execution controllers when the vehicle is in different operating states. For example, when the vehicle is in the automatic driving mode, the automatic driving controller needs to consume more resources, and the intelligent chassis controller and the intelligent cockpit controller need to consume fewer resources. If the automatic driving controller does not meet the balanced load condition, some of the first tasks in the automatic driving controller can be allocated to other execution controllers; when the vehicle is in the super cockpit mode, the intelligent cockpit controller needs to consume more resources, and the intelligent chassis controller and the automatic driving controller need to consume fewer resources. If the intelligent cockpit controller does not meet the balanced load condition, some of the first tasks in the intelligent cockpit controller can be allocated to other execution controllers.

[0059] In the present application, resource consumption prediction data is obtained by predicting the resources to be consumed by the vehicle within a first time period in the future, wherein the resource consumption prediction data includes a plurality of tasks to be run that are about to be run within the first time period, and a resource consumption prediction value corresponding to each task to be run. A first task can be screened out from the plurality of tasks to be run, and the first task can be assigned to a plurality of execution controllers of the vehicle. In the case where there are execution controllers that do not meet the load balance condition among the plurality of execution controllers, the first tasks in the plurality of execution controllers are reallocated based on the resource consumption prediction values ​​corresponding to the respective first tasks. In the above manner, the number of tasks to be run that need to be executed in the vehicle within the first time period can be re-determined, and after the tasks to be run are allocated to different execution controllers according to an inherent allocation method, the execution controllers with heavier task loads are reallocated to reduce the number of tasks in the vehicle, balance the number of tasks in each execution controller in the vehicle, avoid task overload, speed up task processing, and improve vehicle efficiency.

[0060] As an optional embodiment, after the above S110, the following steps may be included:

[0061] Sending the resource consumption prediction data to the cloud;

[0062] Wherein, in the case of receiving a resource allocation instruction fed back by the cloud based on the resource consumption prediction data, the first task is a task to be run indicated by the resource allocation instruction;

[0063] In the case where the resource allocation instruction is not received, the first task is all tasks to be executed.

[0064] In this embodiment, the vehicle and the cloud are connected in communication, and the vehicle can upload its own resource consumption prediction data to the cloud. After the cloud receives the resource consumption prediction data uploaded by the vehicle, it can analyze the resource consumption prediction data based on the stored historical data of the vehicle and the available resources of the vehicle, and formulate a resource allocation strategy for the vehicle, and then generate a resource allocation instruction based on the resource allocation strategy. The resource allocation instruction describes the cloud's way of allocating resources for the vehicle. After the vehicle receives the resource allocation instruction, it can determine some of the tasks to be run from multiple tasks to be run as the first task, that is, the task to be performed by the vehicle within the first time period, and allocate the first task to multiple execution controllers.

[0065] For example, each cloud can be connected to multiple vehicles. The cloud is not only connected to the vehicle in communication, but also connected to at least one other vehicle. Since the vehicle executes the first task among multiple tasks to be run, the cloud or other vehicles connected to the cloud execute the second task among multiple tasks to be run. Therefore, the task with a smaller predicted resource consumption value among the multiple tasks to be run can be used as the first task, and the task with a larger predicted resource consumption value can be used as the second task.

[0066] For another example, since the user can receive resource consumption forecast data uploaded by the vehicle and resource information uploaded by other vehicles, the cloud can combine the resource information of all vehicles to determine the resource allocation strategy for the vehicle and generate corresponding resource allocation instructions. Other vehicles may have programs that implement some of the tasks to be run, so the second task can be selected from the tasks to be run that can be executed by the programs already available in other vehicles.

[0067] In this way, if it is predicted that the resource consumption of the vehicle will be large within the first period of time in the future, some of the tasks to be run can be allocated to the cloud or other terminals connected to the cloud to reduce the burden on the vehicle and improve the vehicle's operating efficiency.

[0068] As an optional embodiment, in the case of receiving a resource allocation instruction fed back by the cloud based on the resource consumption prediction data, the method further includes:

[0069] Sending raw data of a second task among the multiple tasks to be executed to the cloud, wherein the second task is a task to be executed other than the first task;

[0070] Obtain a second task result obtained by the cloud performing the second task based on the original data.

[0071] In this embodiment, in the resource consumption prediction data, it is predicted that the vehicle will run multiple tasks to be run within the first time period, but after adjustment, the vehicle finally only needs to execute the first task. Therefore, the first task can be selected from the multiple tasks to be executed by the vehicle to be run on the vehicle, and the original data of the second task other than the first task can be sent to the cloud. The cloud can run the second task itself, or send the second task to other vehicles connected to it for operation, and send the second task result of the second task back to the vehicle, and the vehicle can directly apply the second task result.

[0072] In this way, the burden on the vehicle can be reduced and the operating efficiency of the vehicle can be improved. At the same time, the vehicle can also obtain and apply the operating results of all tasks to be run to ensure the normal operation of the vehicle.

[0073] As an optional embodiment, S130 includes:

[0074] Determining a resource value to be consumed of each execution controller among the multiple execution controllers based on the resource consumption prediction value corresponding to each of the first tasks, wherein the resource value to be consumed is used to indicate the resources to be consumed by the corresponding execution controller within the first time period;

[0075] In the case that there is a first execution controller whose value of resources to be consumed is greater than a first threshold value among the multiple execution controllers, a transfer instruction is sent to the first execution controller, wherein the transfer instruction is used to instruct the transfer of a target program from the first execution controller to a second execution controller, and the transfer of a first task corresponding to the target program from the first execution controller to the second execution controller, the target program being used to implement a first task corresponding to at least one of the first execution controllers, and the second execution controller being an execution controller whose value of resources to be consumed is less than a second threshold value among the multiple execution controllers.

[0076] In this embodiment, when the first task among the multiple tasks to be run is assigned to the multiple execution controllers of the vehicle, the resource value to be consumed of each execution controller can be calculated based on the result of this assignment. For example, the sum of the resource consumption prediction values ​​of all the first tasks in each execution controller can be determined as the resource value to be consumed of the execution controller.

[0077] If a large number of first tasks exist in some execution controllers and almost no first tasks to be run exist in other execution controllers, resources may be allocated among the execution controllers in order to achieve load balancing among the execution controllers.

[0078] Specifically, if there is a first execution controller among multiple execution controllers whose value of resources to be consumed is greater than a first threshold, it can be considered that the process of the first execution controller is overloaded and requires a large amount of computing power. If the value of resources to be consumed of the second execution controller is less than the second threshold, it can be considered that there are a large number of idle resources in the controller. Therefore, the target program in the first execution controller can be transferred to the second execution controller, and the first task corresponding to the target program can be transferred from the first execution controller to the second execution controller. The target program is run in the second execution controller, and the first task corresponding to at least one first execution controller is implemented through the target program, so as to achieve load balancing between controllers.

[0079] For example, when entering the super cockpit mode, the intelligent chassis controller and the autonomous driving controller will obtain the target program of the intelligent cockpit and the first task corresponding to the target program through ultra-high-speed Ethernet, and then store them in the local memory. When the function is running, it will share the computing, storage, and communication load of the intelligent cockpit controller to achieve more efficient use of resources.

[0080] For example, when entering the super self-driving mode, the intelligent cockpit controller and the intelligent chassis controller will obtain the target program of autonomous driving and the first task corresponding to the target program through ultra-high-speed Ethernet, and then store them in the local memory. When the function is running, it will share the computing, storage, and communication load of the autonomous driving controller to achieve more efficient use of resources.

[0081] As an optional embodiment, after determining the resource value to be consumed of each execution controller in the multiple execution controllers based on the resource consumption prediction value corresponding to each of the first tasks, the method further includes:

[0082] Setting the control authority of the third execution controller to the first level, and setting the control authority of the fourth execution controller to the second level, wherein the third execution controller is an execution controller with the largest value of resources to be consumed among the multiple execution controllers, and the fourth execution controller is an execution controller other than the third execution controller among the multiple execution controllers, and the communication priority of the first level is greater than that of the second level;

[0083] A communication state of the fourth execution controller is controlled based on the communication priority.

[0084] In this embodiment, different execution controllers are responsible for managing and executing specific tasks and functions. They may need to share or compete for limited resources, such as sensor data, processing power, memory, or bus bandwidth. This may lead to conflicts in task execution or resource contention. In order to resolve these conflicts and ensure that key tasks are executed in a timely manner, the control permissions of different execution controllers can be set at different levels. Different levels correspond to different control permission priorities, and the priorities include resource priorities and communication priorities. Resource priority is used to characterize the priority of the execution controller to access computing resources, storage resources, etc. required for different tasks or functions, and communication priority is used to characterize the priority of the application communication channel.

[0085] For example, when the third execution controller and the fourth execution controller want to access a shared resource at the same time, that is, there is a resource conflict, the third execution controller with a high priority may be granted access to the resource, while the fourth execution controller with a low priority needs to wait.

[0086] In this way, when a resource conflict or communication conflict occurs, the tasks in the high-priority controller can be executed first, and then the tasks in the low-priority controller can be executed, so as to achieve reasonable allocation of resources and efficient processing of tasks.

[0087] As an optional embodiment, controlling the communication state of the fourth execution controller based on the communication priority includes:

[0088] In a case where it is detected that the fourth execution controller and the third execution controller use the same communication channel, acquiring the communication data volume of the communication channel;

[0089] When the communication data volume of the communication channel is greater than a third threshold, a pause instruction is sent to the fourth execution controller, where the pause instruction is used to instruct the fourth execution controller to suspend the use of the communication channel within a second time period after the current moment.

[0090] In this embodiment, if the fourth execution controller and the third execution controller share a communication bus or a communication channel, and there is a communication conflict between the tasks in the fourth execution controller and the tasks in the third execution controller, that is, the fourth execution controller and the third execution controller preempt the communication channel, resulting in the amount of communication data in the communication channel being greater than the third threshold, then the communication channel can be considered to be too busy, and the data sending of the low-priority fourth execution controller can be suspended first to ensure that the tasks in the high-priority controller can be completed in time.

[0091] Based on the vehicle task allocation method provided in the above embodiment, the present application also provides a specific implementation of a vehicle task allocation device. Please refer to the following embodiment.

[0092] See first Figure 3 The vehicle task allocation device 300 provided in the embodiment of the present application includes the following modules:

[0093] The acquisition module 301 is used to acquire resource consumption prediction data of the vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run;

[0094] An allocating module 302 is used to allocate the first tasks among the plurality of tasks to be executed to the plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to the execution controller corresponding to the program to which it belongs;

[0095] The adjustment module 303 is used to reallocate the first tasks among the multiple execution controllers based on the resource consumption prediction values ​​corresponding to each of the first tasks when there is an execution controller among the multiple execution controllers that does not meet the load balancing condition.

[0096] The device can obtain resource consumption prediction data by predicting the resources to be consumed by the vehicle within a first time period in the future, wherein the resource consumption prediction data includes multiple tasks to be run within the first time period, and the resource consumption prediction value corresponding to each task to be run. The first task can be screened out from the multiple tasks to be run, and the first task can be assigned to multiple execution controllers of the vehicle. In the case where there are execution controllers that do not meet the load balance condition among the multiple execution controllers, the first tasks in the multiple execution controllers are reallocated based on the resource consumption prediction values ​​corresponding to each first task. In the above manner, the number of tasks to be run that need to be executed in the vehicle within the first time period can be re-determined, and after the tasks to be run are allocated to different execution controllers according to an inherent allocation method, the execution controllers with heavier task loads are reallocated to reduce the number of tasks in the vehicle and balance the number of tasks in each execution controller in the vehicle, avoid task overload, speed up task processing, and improve vehicle efficiency.

[0097] As an implementation of the present application, the task allocation device 300 further includes:

[0098] A first sending module, used for sending the resource consumption prediction data to the cloud;

[0099] A first receiving module is configured to, when receiving a resource allocation instruction fed back by the cloud based on the resource consumption prediction data, wherein the first task is a task to be run indicated by the resource allocation instruction;

[0100] The receiving module is further configured to, when the resource allocation instruction is not received, the first task is all tasks to be executed.

[0101] As an implementation of the present application, the task allocation device 300 further includes:

[0102] A second sending module, used for sending raw data of a second task among the multiple tasks to be run to the cloud, wherein the second task is a task to be run other than the first task;

[0103] The second receiving module is used to obtain a second task result obtained by the cloud performing the second task based on the original data.

[0104] As an implementation of the present application, the adjustment module 303 further includes:

[0105] a determining unit, configured to determine a resource value to be consumed of each execution controller among the plurality of execution controllers based on the resource consumption prediction value corresponding to each of the first tasks, wherein the resource value to be consumed is used to indicate resources to be consumed by the corresponding execution controller within a first time period;

[0106] A transmission unit is used to send a transmission instruction to a first execution controller whose value of resources to be consumed is greater than a first threshold value when there is a first execution controller among the multiple execution controllers, wherein the transmission instruction is used to instruct to transfer a target program from the first execution controller to a second execution controller, and to transfer a first task corresponding to the target program from the first execution controller to the second execution controller, the target program being used to implement a first task corresponding to at least one of the first execution controllers, and the second execution controller being an execution controller among the multiple execution controllers whose value of resources to be consumed is less than a second threshold value.

[0107] As an implementation of the present application, the task allocation device 300 further includes:

[0108] A setting module, used to set the control authority of the third execution controller to the first level, and set the control authority of the fourth execution controller to the second level, wherein the third execution controller is an execution controller with the largest value of resources to be consumed among the multiple execution controllers, and the fourth execution controller is an execution controller other than the third execution controller among the multiple execution controllers, and the communication priority of the first level is greater than that of the second level;

[0109] A control module is used to control the communication state of the fourth execution controller based on the communication priority.

[0110] As an implementation of the present application, the control module is further used to, when it is detected that the fourth execution controller and the third execution controller use the same communication channel, obtain the communication data volume of the communication channel;

[0111] When the communication data volume of the communication channel is greater than a third threshold, a pause instruction is sent to the fourth execution controller, where the pause instruction is used to instruct the fourth execution controller to suspend the use of the communication channel within a second time period after the current moment.

[0112] The vehicle task allocation device provided in the embodiment of the present invention can implement each step in the above-mentioned method embodiment, and will not be described again here to avoid repetition.

[0113] Figure 4 A schematic diagram of the hardware structure of a task allocation device for a vehicle provided in an embodiment of the present application is shown.

[0114] The task allocation device in the vehicle may include a processor 401 and a memory 402 storing computer program instructions.

[0115] Specifically, the processor 401 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0116] Memory 402 may include a large capacity memory for data or instructions. By way of example and not limitation, memory 402 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, memory 402 may include removable or non-removable (or fixed) media. In appropriate cases, memory 402 may be inside or outside an integrated gateway disaster recovery device. In a particular embodiment, memory 402 is a non-volatile solid-state memory.

[0117] The memory may include read-only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical or other physical / tangible memory storage devices. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.

[0118] The processor 401 implements any one of the vehicle task allocation methods in the above embodiments by reading and executing computer program instructions stored in the memory 402 .

[0119] In one example, the task allocation device of the vehicle may further include a communication interface 403 and a bus 410. Figure 4 As shown, the processor 401, the memory 402, and the communication interface 403 are connected via a bus 410 and communicate with each other.

[0120] The communication interface 403 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0121] Bus 410 includes hardware, software or both, and couples the components of the task distribution device of the vehicle to each other. For example, but not limitation, the bus may include an accelerated graphics port (AGP) or other graphics bus, an enhanced industrial standard architecture (EISA) bus, a front-side bus (FSB), a hypertransport (HT) interconnect, an industrial standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a microchannel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standard association local (VLB) bus or other suitable bus or a combination of two or more of these. Where appropriate, bus 410 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.

[0122] The task allocation device of the vehicle may be based on the above-mentioned embodiment, thereby realizing the task allocation method and apparatus in combination with the above-mentioned vehicle.

[0123] In addition, in combination with the vehicle task allocation method in the above-mentioned embodiment, the embodiment of the present application may provide a computer storage medium to implement it. The computer storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any of the vehicle task allocation methods in the above-mentioned embodiments is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here. Among them, the above-mentioned computer-readable storage medium may include a non-transitory computer-readable storage medium, such as a read-only memory (Read-Only Memory, referred to as ROM), a random access memory (Random Access Memory, referred to as RAM), a disk or an optical disk, etc., which are not limited here.

[0124] In addition, an embodiment of the present application further provides a computer program product, including computer program instructions, which can implement the steps and corresponding contents of the aforementioned method embodiment when the computer program instructions are executed by a processor.

[0125] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0126] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0127] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0128] The present application also proposes an electronic and electrical architecture, characterized in that the electronic and electrical architecture includes:

[0129] Multiple execution controllers for executing tasks;

[0130] A task allocation controller is used to obtain resource consumption prediction data of a vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run; a first task among the plurality of tasks to be run is allocated to a plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to an execution controller corresponding to a program to which it belongs; and, in the event that there are execution controllers among the plurality of controllers that do not meet load balancing conditions, the first tasks among the plurality of execution controllers are reallocated based on the resource consumption prediction values ​​corresponding to each of the first tasks.

[0131] like Figure 2As shown, the multiple execution controllers may include an intelligent cockpit controller, an intelligent chassis controller, an automatic driving controller, a left rear domain controller, a left front domain controller, a right rear domain controller and a right front domain controller; wherein the intelligent cockpit controller is an electronic control unit responsible for managing and controlling the vehicle's internal cockpit system, the intelligent chassis controller is an electronic control unit responsible for managing and controlling the vehicle's chassis system, the automatic driving controller is a key component for realizing the automatic driving function, the left rear domain controller is responsible for managing and controlling the relevant systems and functions of the left rear area, such as the left rear light, the left rear braking system, the left rear suspension system, etc.; the left front domain controller is responsible for managing and controlling the relevant systems and functions of the left front area, such as the left front light, the left front braking system, the left front suspension system, etc.; the right rear domain controller is responsible for managing and controlling the relevant systems and functions of the right rear area, such as the right rear light, the right rear braking system, the right rear suspension system, etc., and the right front domain controller is responsible for managing and controlling the relevant systems and functions of the right front area, such as the right front light, the right front braking system, the right front suspension system, etc.

[0132] Among them, any two execution controllers are connected through Ethernet communication, and the left rear domain controller and the right rear domain controller are connected through CAN network communication, and the left front domain controller and the right front domain controller are connected through CAN network communication.

[0133] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0134] The above are only specific implementation methods of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. A vehicle task allocation method, characterized in that: The method comprises: Acquire resource consumption prediction data of the vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run; Allocating first tasks among the plurality of tasks to be executed to a plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to an execution controller corresponding to a program to which it belongs; In the case that there is an execution controller that does not meet the load balancing condition among the multiple execution controllers, the first tasks among the multiple execution controllers are reallocated based on the resource consumption prediction values ​​corresponding to each of the first tasks.

2. The vehicle task allocation method according to claim 1, characterized in that: After obtaining the resource consumption prediction data of the vehicle, the method further includes: Sending the resource consumption prediction data to the cloud; Wherein, in the case of receiving a resource allocation instruction fed back by the cloud based on the resource consumption prediction data, the first task is a task to be run indicated by the resource allocation instruction; In the case where the resource allocation instruction is not received, the first task is all tasks to be executed.

3. The vehicle task allocation method according to claim 2, characterized in that: In the case of receiving a resource allocation instruction fed back by the cloud based on the resource consumption prediction data, the method further includes: Sending raw data of a second task among the multiple tasks to be executed to the cloud, wherein the second task is a task to be executed other than the first task; Obtain a second task result obtained by the cloud performing the second task based on the original data.

4. The vehicle task allocation method according to claim 1, characterized in that: The reallocating of the first tasks in the plurality of execution controllers based on the resource consumption prediction values ​​corresponding to the first tasks includes: Determining a resource value to be consumed of each execution controller among the multiple execution controllers based on the resource consumption prediction value corresponding to each of the first tasks, wherein the resource value to be consumed is used to indicate the resources to be consumed by the corresponding execution controller within the first time period; In the case that there is a first execution controller whose value of resources to be consumed is greater than a first threshold value among the multiple execution controllers, a transfer instruction is sent to the first execution controller, wherein the transfer instruction is used to instruct the transfer of a target program from the first execution controller to a second execution controller, and the transfer of a first task corresponding to the target program from the first execution controller to the second execution controller, the target program being used to implement a first task corresponding to at least one of the first execution controllers, and the second execution controller being an execution controller whose value of resources to be consumed is less than a second threshold value among the multiple execution controllers.

5. The vehicle task allocation method according to claim 4, characterized in that: After determining the resource value to be consumed of each execution controller in the plurality of execution controllers based on the resource consumption prediction value corresponding to each of the first tasks, the method further includes: Setting the control authority of the third execution controller to the first level, and setting the control authority of the fourth execution controller to the second level, wherein the third execution controller is an execution controller with the largest value of resources to be consumed among the multiple execution controllers, and the fourth execution controller is an execution controller other than the third execution controller among the multiple execution controllers, and the communication priority of the first level is greater than that of the second level; A communication state of the fourth execution controller is controlled based on the communication priority.

6. The vehicle task allocation method according to claim 5, characterized in that: The controlling the communication state of the fourth execution controller based on the communication priority comprises: In a case where it is detected that the fourth execution controller and the third execution controller use the same communication channel, acquiring the communication data volume of the communication channel; When the communication data volume of the communication channel is greater than a third threshold, a pause instruction is sent to the fourth execution controller, where the pause instruction is used to instruct the fourth execution controller to suspend the use of the communication channel within a second time period after the current moment.

7. A vehicle task allocation device, characterized in that: The device comprises: An acquisition module, configured to acquire resource consumption prediction data of a vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run; an allocating module, configured to allocate a first task among the plurality of tasks to be run to a plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to an execution controller corresponding to a program to which it belongs; The adjustment module is used to reallocate the first tasks among the multiple execution controllers based on the resource consumption prediction values ​​corresponding to each of the first tasks when there is an execution controller among the multiple execution controllers that does not meet the load balancing condition.

8. A vehicle task allocation device, characterized in that: The task allocation device of the vehicle includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the task allocation method for a vehicle according to any one of claims 1 to 6 is implemented.

9. A computer storage medium, characterized in that The computer storage medium stores computer program instructions, which, when executed by a processor, implement the vehicle task allocation method according to any one of claims 1 to 6.

10. An electronic and electrical architecture, characterized in that: The electronic and electrical architecture includes: Multiple execution controllers for executing tasks; A task allocation controller is used to obtain resource consumption prediction data of a vehicle, wherein the resource consumption prediction data includes a plurality of tasks to be run within a first time period, and a resource consumption prediction value corresponding to each of the tasks to be run; a first task among the plurality of tasks to be run is allocated to a plurality of execution controllers of the vehicle, wherein each of the first tasks is allocated to an execution controller corresponding to a program to which it belongs; and, in the event that there are execution controllers among the plurality of controllers that do not meet load balancing conditions, the first tasks among the plurality of execution controllers are reallocated based on the resource consumption prediction values ​​corresponding to each of the first tasks.