Task scheduling method and device, vehicle and storage medium

By analyzing and issuing scheduling instructions for cloud platforms in autonomous driving vehicles, the problem of poor scheduling adaptability of cloud platforms and autonomous driving end tasks is solved, and the timely execution of scheduling tasks and clear responsibilities are achieved.

CN119166311APending Publication Date: 2024-12-20SHANGHAI ECAR TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411331283.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

In closed scenarios, the task scheduling adaptability of cloud platforms and autonomous driving ends is poor, resulting in the problem of untimely execution of scheduling tasks.

Method used

Through the domain controller, the full process scheduling instructions issued by the cloud platform are checked and parsed, scheduling task messages are generated, and dispatched to the executor (autonomous driving controller and business execution unit) to realize the splitting and distribution of scheduling tasks and Timely execution improves the adaptability and execution efficiency of scheduling instructions.

Benefits of technology

There is no need to customize interfaces for different autonomous driving solutions, which improves the task scheduling adaptability of cloud platforms and autonomous driving ends, ensures the timely execution of scheduling tasks and the clarity of responsibilities of autonomous driving controllers and business execution units.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119166311A_ABST
    Figure CN119166311A_ABST
Patent Text Reader

Abstract

The invention discloses a task scheduling method and device, a vehicle and a storage medium, and belongs to the technical field of vehicle data processing. The task scheduling method is applied to a domain controller, and comprises the following steps: acquiring a scheduling instruction issued by a cloud platform; verifying the scheduling instruction based on the vehicle identification information, and analyzing the scheduling instruction to generate at least one scheduling task message when the scheduling instruction is verified to be correct; determining an executor of the scheduling task message, and issuing the scheduling task message to the executor, so that the executor responds to the scheduling task message to execute the scheduling task; wherein the execution party comprises an automatic driving controller and a service execution unit. According to the embodiment of the invention, the domain controller is used as a forwarding interface of the full-process scheduling instruction, the process scheduling instruction does not need to be customized for different vehicles, and the adaptability of the full-process scheduling instruction is improved; meanwhile, the whole-process scheduling instruction is analyzed and split, so that the splitting of the scheduling task is realized, and the execution timeliness of the scheduling task is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of vehicle data processing, and in particular to a task scheduling method, device, vehicle and storage medium. Background Art

[0002] With the rapid development of autonomous driving technology, the demand for unmanned vehicles in various application scenarios is increasing. Especially in closed scenarios, unmanned vehicle technology has demonstrated its unique advantages. Closed scenarios such as factories, ports, airports, logistics parks, mining areas, etc. have become ideal testing grounds and application scenarios for the implementation of unmanned vehicle technology because of their relatively fixed environment and simple and controllable traffic rules.

[0003] The cloud platform can formulate and configure scheduling tasks according to fixed business scenarios. The autonomous driving solution is deployed on an independent autonomous driving controller. On the basis of completing vehicle driving, it also needs to complete the implementation of specific business. However, with the expansion of closed scenario business and the change and upgrade of autonomous driving solutions, the incompatibility between cloud task scenarios and vehicle-side autonomous driving solutions is becoming increasingly greater. The continuous changes in cloud task scenarios require the autonomous driving solution to adapt accordingly; and different autonomous driving solutions require vehicles to be configured with different command interfaces. Based on different autonomous driving solutions, the task instructions of the cloud platform also need to be customized to match the specific characteristics and functions of different autonomous driving solutions. At the same time, since the task instructions are received and allocated by the autonomous driving controller, there may be problems with the untimely execution of scheduling tasks. Therefore, how to improve the adaptability of task scheduling between the cloud platform and the autonomous driving end, and how to improve the timeliness of scheduling task execution have become issues that need to be solved urgently. Summary of the invention

[0004] The present invention provides a task scheduling method, device, vehicle and storage medium to solve the problems in the prior art of untimely execution of scheduling tasks and poor adaptability of task scheduling between a cloud platform and an autonomous driving terminal.

[0005] According to one aspect of the present invention, a task scheduling method is provided, characterized in that it is applied to a domain controller, the domain controller is connected to an autonomous driving controller and a service execution unit respectively, the domain controller, the autonomous driving controller and the service execution unit are installed inside a vehicle, and the method comprises:

[0006] Obtain the dispatch instructions issued by the cloud platform;

[0007] Verifying the dispatch instruction based on the vehicle identification information, and parsing the dispatch instruction to generate at least one dispatch task message if the dispatch instruction is verified to be correct;

[0008] Determine the executor of the scheduling task message, and send the scheduling task message to the executor so that the executor executes the scheduling task in response to the scheduling task message; wherein the executor includes the automatic driving controller and the business execution unit.

[0009] According to another aspect of the present invention, there is provided a task scheduling device, characterized in that it is applied to a domain controller and comprises:

[0010] The instruction acquisition module is used to obtain the scheduling instructions issued by the cloud platform;

[0011] A message generating module, used for verifying the dispatch instruction based on the vehicle identification information, and parsing the dispatch instruction to generate at least one dispatch task message when the dispatch instruction is verified to be correct;

[0012] A task sending module is used to determine the executor of the scheduling task message and send the scheduling task message to the executor so that the executor executes the scheduling task in response to the scheduling task message; wherein the executor includes the automatic driving controller and the business execution unit.

[0013] According to another aspect of the present invention, a vehicle is provided, characterized in that the vehicle comprises: at least one controller; and a memory communicatively connected to the at least one controller; wherein the controller comprises a domain controller and an automatic driving controller; the memory stores a computer program executable by the at least one controller, and the computer program is executed by the at least one controller so that the at least one controller can execute the task scheduling method described in any embodiment.

[0014] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the task scheduling method described in any embodiment of the present invention when executed.

[0015] The technical solution of the embodiment of the present invention obtains the full-process scheduling instruction issued by the cloud platform, verifies the full-process scheduling instruction based on the vehicle identification information, and parses the full-process scheduling instruction to generate at least one scheduling task message when the full-process scheduling instruction is verified correctly, determines the executor of the scheduling task message, and sends the scheduling task message to the executor, so that the executor executes the scheduling task in response to the scheduling task message, thereby realizing the issuance of the full-process scheduling instruction through the domain controller as the forwarding interface of the full-process scheduling instruction, without the need to customize the process scheduling instructions for different full-process scheduling instruction interfaces, thereby improving the adaptability of the full-process scheduling instruction; at the same time, the full-process scheduling instruction is parsed and split by the domain controller, thereby realizing the splitting of the scheduling task, making the task responsibilities of the automatic driving controller and the business execution unit clearer and more focused, and ensuring the timeliness of the execution of the scheduling task.

[0016] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0018] Figure 1 is a flowchart of a task scheduling method provided according to Embodiment 1 of the present invention;

[0019] Figure 2 is a flowchart of another task scheduling method provided according to the second embodiment of the present invention;

[0020] Figure 3 is a flowchart of a task scheduling method provided according to Embodiment 3 of the present invention;

[0021] Figure 4 It is a flowchart of a task scheduling method provided by the prior art;

[0022] Figure 5 is a structural diagram of a task scheduling device provided according to a fourth embodiment of the present invention;

[0023] Figure 6 It is a structural schematic diagram of a vehicle for implementing the task scheduling method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0024] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0026] Embodiment 1

[0027] Figure 1 This is a flowchart of a task scheduling method provided according to the first embodiment of the present invention. This embodiment is applicable to the case where the scheduling instructions issued by the cloud platform are parsed and issued. The method can be executed by a task scheduling device, which can be implemented in the form of hardware and / or software. The task scheduling device can be configured in a domain controller, wherein the domain controller is connected to the autonomous driving controller and the service execution unit respectively, and the domain controller, the autonomous driving controller and the service execution unit are installed inside the vehicle. Figure 1 As shown, the method includes:

[0028] S110. Obtain the full-process scheduling instruction issued by the cloud platform.

[0029] Among them, the full-process dispatching instruction can be understood as an instruction or command for the deployment and management of the vehicle. Exemplarily, the full-process dispatching instruction can be an instruction for the comprehensive planning and dispatching of the vehicle from the starting point to the end point. For example, the full-process dispatching instruction can instruct the vehicle to perform tasks such as automatic driving, coverage cleaning, and automatic watering. In the actual operation process, the user can determine the operation process of the vehicle according to the needs, and generate the full-process dispatching instruction according to the operation process on the cloud platform. The full-process dispatching instruction can be generated by integrating multiple action instructions. That is to say, when the vehicle receives the full-process dispatching instruction, it can control the automatic driving controller and the business execution unit to perform the corresponding operation tasks in the full-process dispatching instruction. The cloud platform refers to a server deployed on a cloud computing platform that provides users with computing, storage, network and other services through the Internet.

[0030] In an embodiment, after the cloud platform issues the full-process scheduling instruction, the domain controller can receive the full-process scheduling instruction issued by the cloud platform. In the actual operation process, communication protocols such as Hypertext Transfer Protocol (HTTP), Message Queuing Telemetry Transport (MQTT) and Transmission Control Protocol (TCP) can be followed.

[0031] S120. Verify the full-process dispatch instruction based on the vehicle identification information, and if the full-process dispatch instruction is verified to be correct, parse the full-process dispatch instruction to generate at least one dispatch task message.

[0032] Among them, vehicle identification information can be understood as a set of data used to uniquely identify and distinguish different vehicles. For example, vehicle identification information may include but is not limited to vehicle license plate number, vehicle identification number (VIN), etc. The scheduling task message can be understood as the instruction information for scheduling the automatic driving controller and the business execution unit to perform the corresponding scheduling task. In the actual operation process, each scheduling task message may contain an action instruction or a step instruction, for example, controlling the vehicle to move to the water adding target position, cleaning action, etc.

[0033] In an embodiment, the field information contained in the full-process scheduling instruction can be determined to determine whether the field information contains vehicle identification information. If the vehicle identification information exists in the field information, the full-process scheduling instruction can be verified to be correct, and the full-process scheduling instruction is sent to this vehicle; if the vehicle identification information does not exist in the field information, it can be considered that the full-process scheduling instruction has a verification error, and the full-process scheduling instruction is not sent to this vehicle, which is a sending error. When the full-process scheduling instruction is verified incorrectly, information about the full-process scheduling instruction verification error can be fed back to the cloud, so that the cloud re-sends a new full-process scheduling instruction to the vehicle. When the full-process scheduling instruction is verified correctly, the full-process scheduling instruction can be split to generate one or more scheduling task messages.

[0034] In the actual operation process, the full-process scheduling instruction may include the first identifier of the autonomous driving controller and the second identifier of the business execution unit. The first identifier of the autonomous driving controller and the second identifier of the business execution unit can be determined, and the first identifier and the second identifier contained in the full-process scheduling instruction can be found. The full-process scheduling instruction can be split into at least one scheduling task message according to the first identifier and the second identifier. Alternatively, the execution steps contained in the full-process scheduling instruction can be determined, and the full-process scheduling instruction can be split into one or more scheduling task messages according to the execution steps. Generally speaking, the communication protocols between the cloud platform and the domain controller, the domain controller and the autonomous driving controller, and the domain controller and the business execution unit may be different. The communication information of the scheduling task message can be converted so that the autonomous driving controller and the business execution unit can correctly receive the scheduling task message.

[0035] S130: Determine an executor of the scheduling task message, and send the scheduling task message to the executor, so that the executor executes the scheduling task in response to the scheduling task message.

[0036] Among them, the executor can be understood as the party responsible for executing the scheduling task message. The executor includes an autonomous driving controller and a business execution unit. The autonomous driving controller can be understood as a controller that controls the autonomous driving of the vehicle, and the business execution unit can be understood as an executor that performs scheduling tasks other than autonomous driving. Exemplarily, when the vehicle is used to clean a closed scene, the business execution unit may include at least a cleaning mechanism, a water adding mechanism, and a fan.

[0037] In an embodiment, the identification information contained in the scheduling task message can be determined, and the autonomous driving controller or business execution unit corresponding to the identification information is used as the executor, and then the scheduling task message is sent to the executor, so that the autonomous driving controller or the business execution unit responds to the scheduling task message and executes the scheduling task corresponding to the scheduling task message. In an actual application, the number of scheduling task messages can be multiple, and the identification information contained in each scheduling task message can be determined separately. When the identification information is the identification information of the autonomous driving controller, the scheduling task message can be sent to the autonomous driving controller so that the autonomous driving controller executes the scheduling task message; when the identification information is the identification information of the business execution unit, the scheduling task message can be sent to the corresponding business execution unit so that the corresponding business execution unit executes the scheduling task message.

[0038] In an embodiment of the present invention, by obtaining the full-process scheduling instruction issued by the cloud platform, verifying the full-process scheduling instruction based on the vehicle identification information, and parsing the full-process scheduling instruction to generate at least one scheduling task message when the full-process scheduling instruction is verified correctly, the executor of the scheduling task message is determined, and the scheduling task message is sent to the executor, so that the executor executes the scheduling task in response to the scheduling task message, thereby realizing that the full-process scheduling instruction is issued through the domain controller as the forwarding interface of the full-process scheduling instruction, without the need to customize the process scheduling instructions for different full-process scheduling instruction interfaces, thereby improving the adaptability of the full-process scheduling instruction; at the same time, the full-process scheduling instruction is parsed and split by the domain controller, thereby realizing the splitting of the scheduling task, making the task responsibilities of the automatic driving controller and the business execution unit clearer and more focused, and ensuring the timeliness of the execution of the scheduling task.

[0039] In one embodiment, after determining the executor of the scheduling task message and sending the scheduling task message to the executor, the method further includes:

[0040] Obtain the task execution results of the autonomous driving controller and the business execution unit, and upload the task execution results to the cloud platform.

[0041] The task execution result can be understood as the result fed back after the task execution is completed, and can be used to indicate that the scheduled task execution is completed.

[0042] In an embodiment, after determining the executor of the scheduling task message and sending the scheduling task message to the executor, the autonomous driving controller and the business execution unit can send the task execution results to the domain controller respectively after executing the scheduling task. The domain controller can receive the task execution results of the autonomous driving controller and the business execution unit, and upload the task execution results to the cloud platform, so that the cloud platform can send the full-process scheduling instructions to the autonomous driving controller and the business execution unit again according to the task execution results.

[0043] In one embodiment, the task scheduling method further includes:

[0044] Receive first status information and first fault condition uploaded by the autonomous driving controller according to a first preset time period, and upload the first status information and the first fault condition to the cloud platform so that the cloud platform monitors the performance of the autonomous driving controller.

[0045] Among them, the first state information can be understood as the state information of the autonomous driving controller. Exemplarily, the first state information may include but is not limited to parameters such as the operating state and position information of the autonomous driving controller. The first fault condition can be understood as the fault condition of the autonomous driving controller. The first fault condition may at least include that the autonomous driving controller is fault-free and that the autonomous driving controller is faulty. Since the autonomous driving controller is a controller, the autonomous driving controller can autonomously detect the first fault condition and report the specific information of the fault. The first preset time period can be understood as a pre-set time period for collecting information. The first preset time period can be set according to user needs. Exemplarily, the first preset time period may include but is not limited to 5 seconds, 30 seconds, 1 minute, etc.

[0046] In an embodiment, the autonomous driving controller may collect first state information and determine a first fault condition according to the first state information, and the domain controller may receive the first state information and the first fault condition uploaded by the autonomous driving controller according to a first preset time period, and upload the first state information and the first fault condition to the cloud platform, so that the cloud platform monitors the performance of the autonomous driving controller. After receiving the first state information and the first fault condition, the cloud platform may determine the next full-process scheduling instruction according to the first state information and the first fault condition.

[0047] In one embodiment, the task scheduling method further includes:

[0048] Acquire second status information of the service execution unit according to a second preset time period, and determine a second fault condition of the service execution unit according to the second status information;

[0049] The second status information and the second fault condition are uploaded to the cloud platform so that the cloud platform monitors the performance of the service execution unit.

[0050] Among them, the second status information can be understood as the status information of the business execution unit. Exemplarily, the business execution unit can include but is not limited to parameters such as the operating status and location information of the business execution unit. The first fault condition can be understood as the fault condition of the business execution unit. The first fault condition can at least include that the business execution unit is fault-free and that the business execution unit is faulty. The first preset time period can be understood as a pre-set time period for collecting information. The second preset time period can be set according to user needs. Exemplarily, the second preset time period can include but is not limited to 5 seconds, 30 seconds, 1 minute, etc. In one embodiment, the second preset time period can be the same as the first preset time period, or it can be different from the first preset time period, and there is no limitation on this.

[0051] In an embodiment, the domain controller may collect the second state information of the service execution unit, determine the second fault condition according to the second state information, and upload the second state information and the second fault condition to the cloud platform so that the cloud platform monitors the performance of the service execution unit. After receiving the second state information and the second fault condition, the cloud platform may determine the next full-process scheduling instruction according to the second state information and the second fault condition.

[0052] Embodiment 2

[0053] Figure 2 FIG. 1 is a flowchart of another task scheduling method provided according to Embodiment 2 of the present invention. This embodiment is a further description of a task scheduling method based on the above embodiment. Figure 2 As shown, the method includes:

[0054] S210. Receive the full-process scheduling instructions issued by the cloud platform based on a preset communication protocol; wherein the preset communication protocol at least includes a message queue telemetry transmission protocol.

[0055] The preset communication protocol may be understood as a pre-set transmission communication protocol between the cloud platform and the cloud platform.

[0056] In an embodiment, a message queue telemetry transmission protocol may be used to receive full-process scheduling instructions issued by a cloud platform.

[0057] S220, extracting the field information of the full-process dispatch instruction, and when it is determined that the field information contains vehicle identification information, determining that the full-process dispatch instruction is verified correctly.

[0058] In an embodiment, the field information of the full-process dispatch instruction can be extracted to determine whether there is vehicle identification information in the field information. When it is determined that the field information contains vehicle identification information, it can be determined that the full-process dispatch instruction has been verified correctly.

[0059] S230. Determine the first identifier of the autonomous driving controller and the second identifier of the business execution unit, and search for the first identifier and the second identifier included in the field information.

[0060] Among them, the first identifier can be understood as the identification information of the autonomous driving controller. By way of example, the first identifier can include but is not limited to the numbering information of the autonomous driving controller; the second identifier can be understood as the identification information of the business execution unit. By way of example, the second identifier can include but is not limited to the numbering information of the business execution unit.

[0061] In an embodiment, a first identifier of the autonomous driving controller and a second identifier of the business execution unit may be obtained, and the first identifier and the second identifier may be searched for in the field information respectively.

[0062] S240: Split the full-process scheduling instruction into at least one sub-process scheduling instruction according to the first identifier and the second identifier.

[0063] In an embodiment, after determining the first identifier and the second identifier contained in the field information, the full-process scheduling instruction can be split into at least one sub-process scheduling instruction according to the positions of the first identifier and the second identifier. In the actual operation process, for each step in the full-process scheduling instruction, there is a first identifier or a second identifier. After determining the first identifier and the second identifier, the full-process scheduling instruction can be split according to the instruction position corresponding to the first identifier or the second identifier. Exemplarily, when the full-process scheduling instruction is arranged as the first identifier + content + suffix information + the second identifier + content + suffix information, at this time, the sub-process scheduling can be divided in front of the first identifier and the second identifier.

[0064] S250: Convert the sub-process scheduling instruction into a scheduling task message according to a preset communication protocol conversion rule.

[0065] In an embodiment, since the communication protocols between the cloud platform and the domain controller, the domain controller and the autonomous driving controller, and the domain controller and the business execution unit may be different, the communication information of the scheduling task message can be converted so that the autonomous driving controller and the business execution unit can correctly receive the scheduling task message. The preset communication protocol conversion rules can be understood as pre-set rules for converting communication protocols. Exemplarily, the preset communication protocol conversion rules may include rules for converting the MQTT protocol to the TCP protocol, rules for converting the MQTT protocol to the HTTP protocol, and the like.

[0066] In an embodiment, after the sub-process scheduling is determined, the communication protocol of the sub-process scheduling instruction can be converted according to a preset communication protocol conversion rule, and the sub-process scheduling instruction after the communication protocol conversion is used as a scheduling task message.

[0067] S260. Determine the identification information contained in the scheduling task message, and use the autonomous driving controller and / or business execution unit corresponding to the identification information as the executor.

[0068] In an embodiment, the identification information contained in the scheduling task message can be extracted to determine the autonomous driving controller and / or business execution unit corresponding to the identification information as the executor. Exemplarily, when the identification information in the scheduling task message is determined to be the first identification, the executor can be determined to be the autonomous driving controller; when the identification information in the scheduling task message is determined to be the second identification, the executor can be determined to be the business execution unit corresponding to the second identification.

[0069] S270: Send the scheduling task message to the executor, so that the executor executes the scheduling task corresponding to the scheduling task message in response to the scheduling task message.

[0070] In an embodiment, the scheduling task message is sent to the executor so that the executor executes the scheduling task corresponding to the scheduling task message in response to the scheduling task message. When the autonomous driving controller receives the scheduling task message, the autonomous driving function can be executed; when the business execution unit receives the scheduling task message, the execution function corresponding to the business execution unit can be executed.

[0071] In an embodiment of the present invention, a full-process scheduling instruction is received from a cloud platform based on a preset communication protocol, and field information of the full-process scheduling instruction is extracted. When it is determined that the field information contains vehicle identification information, it is determined that the full-process scheduling instruction is correctly verified to avoid receiving misplaced full-process scheduling instructions; by determining a first identifier of the automatic driving controller and a second identifier of the business execution unit, the first identifier and the second identifier contained in the field information are searched, and the full-process scheduling instruction is split into at least one sub-process scheduling instruction according to the first identifier and the second identifier, and the sub-process scheduling instruction is converted into a scheduling task message according to a preset communication protocol conversion rule, so as to realize the splitting of the full-process scheduling instruction; by determining the identification information contained in the scheduling task message, the automatic driving controller and / or the business execution unit corresponding to the identification information is used as the executor, and the scheduling task message is sent to the executor, so that the executor executes the scheduling task corresponding to the scheduling task message in response to the scheduling task message, so that the automatic driving controller and / or the business execution unit executes the corresponding scheduling task message in time, and ensures that the scheduling task corresponding to the scheduling task message is executed in time.

[0072] Embodiment 3

[0073] Figure 3This is a flowchart of a task scheduling method provided according to Embodiment 3 of the present invention. This embodiment takes the state information including the first state information and the second state information as an example, takes the fault condition including the first fault condition and the second fault condition as an example, takes the scheduling task message corresponding to the automatic driving controller as a motion control instruction, and takes the scheduling task message corresponding to the service control unit as a service execution unit control instruction as an example, to further illustrate a task scheduling method. Figure 3 As shown, this solution implements message forwarding between the cloud platform and the autonomous driving controller through a domain controller.

[0074] In one embodiment, Figure 4 This is a flowchart of a task scheduling method provided by the prior art. Figure 4 As shown, the cloud can send full-process scheduling instructions to the autonomous driving controller. The autonomous driving controller can generate motion control instructions and operation unit control instructions based on the full-process scheduling instructions, control the vehicle movement through motion control instructions, and execute the business execution unit through the operation unit control instructions to execute the scheduling task. The autonomous driving controller feeds back the task execution results, status information, and fault conditions to the cloud platform. Since different autonomous driving controllers execute full-process scheduling instructions in different ways, the automatic controller solution may include multiple ones. Some automatic controller solutions cannot be connected to the cloud platform, or need to re-match the cloud business interface, and cannot adapt to the information interaction between different autonomous driving controllers and the cloud platform.

[0075] In this application, the domain controller is used as the middleware of the scheduling service, and the message transfer between the cloud and the autonomous driving controller is realized through the scheduling service on the domain controller. Based on the MQTT communication protocol, the scheduling service receives the full-process scheduling instructions issued by the cloud platform, and converts them into scheduling task messages after message verification and analysis. The scheduling task message corresponding to the autonomous driving controller is sent to the autonomous driving controller through the task message interface, and the scheduling task message corresponding to the business control unit is sent to the corresponding business control unit. After the autonomous driving controller receives the scheduling task, it completes the vehicle scheduling through the self-driving solution. At the same time, the state information, fault conditions, location information and other data of the autonomous driving controller can be reported to the domain controller in the form of periodic data through the periodic data and event interface at regular intervals; after completing the received scheduling task, the autonomous driving controller can also report the task execution results in the form of events to the domain controller. After receiving the periodic data (first state information, first fault condition) and the task execution results, the domain controller immediately reports to the cloud platform. For scheduling task messages that do not require self-driving processing, such as the control and state collection of the cleaning mechanism, the domain controller can notify the corresponding business control service of some messages that control the cleaning operation unit to realize the control of the cleaning operation mechanism. This makes the responsibilities of each business execution unit clearer, avoids repeated control of the cleaning operation unit, and ensures the stability of the message bus.

[0076] In the embodiment of the present invention, the scheduling service of the domain controller is used as the message middleware between the cloud platform and the autonomous driving controller. This can effectively abstract the cloud business. After receiving the task issued by the cloud platform, the part that needs to be processed by the self-driving solution is extracted, and the task message is passed to the autonomous driving controller using a unified message protocol. In this way, a unified message interface is provided for different autonomous driving controllers and solutions, which improves the reusability and compatibility of the software.

[0077] Embodiment 4

[0078] Figure 5 Schematic diagram of a task scheduling device according to Embodiment 4 of the present invention. Figure 5 As shown, the device includes: an instruction acquisition module 51, a message generation module 52 and a task issuing module 53.

[0079] The instruction acquisition module 51 is used to acquire the scheduling instructions issued by the cloud platform.

[0080] The message generating module 52 is used to verify the dispatch instruction based on the vehicle identification information, and to parse the dispatch instruction to generate at least one dispatch task message when the dispatch instruction is verified to be correct.

[0081] The task sending module 53 is used to determine the executor of the scheduling task message and send the scheduling task message to the executor so that the executor executes the scheduling task in response to the scheduling task message; wherein the executor includes an automatic driving controller and a business execution unit.

[0082] In an embodiment of the present invention, an instruction acquisition module obtains a full-process scheduling instruction issued by a cloud platform, a message generation module verifies the full-process scheduling instruction based on vehicle identification information, and parses the full-process scheduling instruction to generate at least one scheduling task message when the full-process scheduling instruction is verified correctly, a task issuance module determines an executor of the scheduling task message, and sends the scheduling task message to the executor, so that the executor executes the scheduling task in response to the scheduling task message, thereby implementing the issuance of the full-process scheduling instruction through a domain controller as a forwarding interface for the full-process scheduling instruction, without the need to customize process scheduling instructions for different full-process scheduling instruction interfaces, thereby improving the adaptability of the full-process scheduling instruction; at the same time, the full-process scheduling instruction is parsed and split by the domain controller, thereby realizing the splitting of the scheduling task, making the task responsibilities of the autonomous driving controller and the business execution unit clearer and more focused, thereby ensuring the timeliness of the execution of the scheduling task.

[0083] In one embodiment, the instruction acquisition module 51 includes:

[0084] The instruction acquisition unit is used to receive the scheduling instructions issued by the cloud platform based on a preset communication protocol; wherein the preset communication protocol at least includes a message queue telemetry transmission protocol.

[0085] In one embodiment, the message generation module 52 includes:

[0086] A verification unit, used to extract field information of the dispatch instruction, and when it is determined that the field information contains vehicle identification information, determine that the dispatch instruction is verified correctly;

[0087] an identification determination unit, used to determine a first identification of the autonomous driving controller and a second identification of the service execution unit, and to search for the first identification and the second identification included in the field information;

[0088] An instruction splitting unit, used for splitting the scheduling instruction into at least one sub-scheduling instruction according to the first identifier and the second identifier;

[0089] The message generating unit is used to convert the sub-scheduling instruction into a scheduling task message according to a preset communication protocol conversion rule.

[0090] In one embodiment, the task issuing module 53 includes:

[0091] An executor determination unit, used to determine identification information contained in the scheduling task message, and use the autonomous driving controller and / or the business execution unit corresponding to the identification information as the executor;

[0092] The task sending unit is used to send the scheduling task message to the executor, so that the executor executes the scheduling task corresponding to the scheduling task message in response to the scheduling task message.

[0093] In one embodiment, the task scheduling device further includes:

[0094] The result upload module is used to obtain the task execution results of the autonomous driving controller and the business execution unit, and upload the task execution results to the cloud platform.

[0095] In one embodiment, the task scheduling device further includes:

[0096] The first performance monitoring module is used to receive first status information and first fault conditions uploaded by the autonomous driving controller according to a first preset time period, and upload the first status information and the first fault conditions to the cloud platform so that the cloud platform monitors the performance of the autonomous driving controller.

[0097] In one embodiment, the task scheduling device further includes:

[0098] a fault determination module, configured to obtain second status information of the service execution unit according to a second preset time period, and determine a second fault condition of the service execution unit according to the second status information;

[0099] The second performance monitoring module is used to upload the second status information and the second fault condition to the cloud platform so that the cloud platform monitors the performance of the business execution unit.

[0100] The task scheduling device provided in the embodiment of the present invention can execute the task scheduling method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0101] Embodiment 5

[0102] Figure 6 is a schematic diagram of the structure of a vehicle for implementing the task scheduling method of an embodiment of the present invention. The vehicle is intended to indicate that there is no limitation on the specific type of the vehicle, such as a motor vehicle, a non-motor vehicle, etc., as long as it can have an automatic driving function. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.

[0103] like Figure 6As shown, the vehicle 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the vehicle 10 can also be stored. The processor 11, ROM 12 and RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0104] A number of components in the vehicle 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the vehicle 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0105] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a task scheduling method.

[0106] In some embodiments, the task scheduling method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the vehicle 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the task scheduling method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the task scheduling method in any other appropriate manner (e.g., by means of firmware).

[0107] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0108] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0109] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0110] To provide interaction with a user, the systems and techniques described herein can be implemented on a vehicle having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the vehicle. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0111] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0112] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0113] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0114] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A task scheduling method, characterized in that: Applied to a domain controller, the domain controller is connected to an autonomous driving controller and a service execution unit respectively, the domain controller, the autonomous driving controller and the service execution unit are installed inside a vehicle, and the method includes: Obtain the dispatch instructions issued by the cloud platform; Verifying the dispatch instruction based on the vehicle identification information, and parsing the dispatch instruction to generate at least one dispatch task message if the dispatch instruction is verified to be correct; Determine the executor of the scheduling task message, and send the scheduling task message to the executor so that the executor executes the scheduling task in response to the scheduling task message; wherein the executor includes the automatic driving controller and the business execution unit.

2. The method according to claim 1, characterized in that The obtaining of the scheduling instruction issued by the cloud platform includes: The scheduling instruction issued by the cloud platform is received based on a preset communication protocol; wherein the preset communication protocol at least includes a message queue telemetry transmission protocol.

3. The method according to claim 1, characterized in that The verifying the dispatch instruction based on the vehicle identification information, and parsing the dispatch instruction to generate at least one dispatch task message when the dispatch instruction is verified to be correct, includes: Extracting the field information of the dispatch instruction, and determining that the dispatch instruction is verified to be correct when it is determined that the field information contains the vehicle identification information; Determine a first identifier of the automatic driving controller and a second identifier of the service execution unit, and search for the first identifier and the second identifier included in the field information; Splitting the scheduling instruction into at least one sub-scheduling instruction according to the first identifier and the second identifier; The sub-scheduling instruction is converted into a scheduling task message according to a preset communication protocol conversion rule.

4. The method according to claim 1, characterized in that The determining the executor of the scheduling task message and sending the scheduling task message to the executor includes: Determine identification information contained in the scheduling task message, and use the autonomous driving controller and / or the business execution unit corresponding to the identification information as an executor; The scheduling task message is sent to the executor, so that the executor executes the scheduling task corresponding to the scheduling task message in response to the scheduling task message.

5. The method according to claim 1, characterized in that After determining the executor of the scheduling task message and sending the scheduling task message to the executor, the method further includes: Obtain the task execution results of the automatic driving controller and the business execution unit, and upload the task execution results to the cloud platform.

6. The method according to claim 1, characterized in that The method further comprises: Receive first status information and first fault condition uploaded by the autonomous driving controller according to a first preset time period, and upload the first status information and first fault condition to a cloud platform so that the cloud platform monitors the performance of the autonomous driving controller.

7. The method according to claim 1, characterized in that The method further comprises: Acquire second status information of the service execution unit according to a second preset time period, and determine a second fault condition of the service execution unit according to the second status information; The second status information and the second fault condition are uploaded to a cloud platform so that the cloud platform monitors the performance of the service execution unit.

8. A task scheduling device, characterized in that: Applies to domain controllers, including: The instruction acquisition module is used to obtain the scheduling instructions issued by the cloud platform; A message generating module, used for verifying the dispatch instruction based on the vehicle identification information, and parsing the dispatch instruction to generate at least one dispatch task message when the dispatch instruction is verified to be correct; A task sending module is used to determine the executor of the scheduling task message and send the scheduling task message to the executor so that the executor executes the scheduling task in response to the scheduling task message; wherein the executor includes an automatic driving controller and a business execution unit.

9. A vehicle, characterized in that: The vehicle comprises: at least one controller; and A memory communicatively connected to the at least one controller; wherein the controller includes a domain controller and an autonomous driving controller; the memory stores a computer program executable by the at least one controller, the computer program being executed by the at least one controller so that the at least one controller can execute the task scheduling method described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the task scheduling method according to any one of claims 1 to 7 when executed.