Data flow scheduling method and device, electronic equipment and storage medium

CN116599913BActive Publication Date: 2026-06-19SHANGHAI YUANCHI HUIHANG AUTOMOBILE TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI YUANCHI HUIHANG AUTOMOBILE TECH CO LTD
Filing Date
2023-05-26
Publication Date
2026-06-19

Smart Images

  • Figure CN116599913B_ABST
    Figure CN116599913B_ABST
Patent Text Reader

Abstract

This invention provides a data stream scheduling method and apparatus. The method includes: allocating data streams to a static traffic queue or a dynamic traffic queue according to the type of the data stream; scheduling the data streams in the static traffic queue according to a pre-configured static gate control list when the data streams are allocated to a static traffic queue; and generating a dynamic gate control list and scheduling the data streams in the dynamic traffic queue according to the dynamic gate control list when the data streams are allocated to a dynamic traffic queue. This invention improves the adaptability of scheduling for different data streams by pre-configuring static and dynamic traffic queues, avoids uniformly scheduling all data streams according to a pre-configured static gate control list, improves the sending efficiency of event message data streams, and can also increase the sending time for data streams of newly added services, ensuring the integrity of data stream scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing technology, and in particular to a data stream scheduling method, a data stream scheduling device, an electronic device, and a computer-readable storage medium. Background Technology

[0002] With the continuous development of vehicle electronic and electrical architecture and the trend of automotive intelligence and connectivity, the amount of data in vehicle communication is surging. In-vehicle Ethernet technology has been widely applied in vehicle communication networks. Advanced driver assistance systems (ADAS) place higher demands on the real-time performance and reliability of in-vehicle Ethernet communication. Therefore, Time-Sensitive Network (TSN) technology has been introduced into in-vehicle Ethernet to reduce network transmission latency and ensure real-time, deterministic, and reliable data transmission.

[0003] IEEE 802.1 Qbv is a core protocol in TSN, primarily responsible for traffic scheduling of Ethernet data streams transmitted by the controller. It uses Time Awareness Shaper (TAS) to control the opening and closing of Qbv queue gates to control data transmission. At the egress hardware, there are 8 software queues, and the opening and closing times of each queue are controlled by a Gate Control List (GCL) to achieve ordered scheduling of the data stream.

[0004] For event packets in Ethernet data streams, the time for sending event packets needs to be reserved when configuring the GCL. When the GCL controls the queue to open, even if there are no configured event packets in the queue during the current opening cycle, the opening time will still include the event packet sending time, reducing the efficiency of data stream transmission. When the controller supports a service-oriented architecture, the Ethernet data streams that new services need to send need to be added to the existing Qbv queue. This causes the actual time required for the data stream in the Qbv queue to complete transmission to be longer than the time calculated in the GCL. This increases the uncertainty of data stream transmission and is also prone to data loss.

[0005] Therefore, existing controllers suffer from inefficiency and data loss during data flow scheduling. Summary of the Invention

[0006] In view of the above problems, embodiments of the present invention are proposed to provide a data stream scheduling method and a corresponding data stream scheduling apparatus that overcome or at least partially solve the above problems.

[0007] To address the aforementioned problems, this invention discloses a data flow scheduling method applied to an automotive domain controller. The domain controller includes a static traffic queue and a dynamic traffic queue. The method includes: acquiring a data flow to be processed; allocating the data flow to the static traffic queue or the dynamic traffic queue according to the type of the data flow; when the data flow is allocated to the static traffic queue, scheduling the data flow in the static traffic queue according to a pre-configured static gate control list; when the data flow is allocated to the dynamic traffic queue, generating a dynamic gate control list and scheduling the data flow in the dynamic traffic queue according to the dynamic gate control list.

[0008] Optionally, allocating the data stream to the static traffic queue or the dynamic traffic queue according to the type of the data stream includes: parsing the data stream to obtain the message type of the data stream; and allocating the data stream to the static traffic queue or the dynamic traffic queue according to the message type.

[0009] Optionally, allocating the data stream to the static traffic queue or the dynamic traffic queue according to the message type includes: allocating the data stream to the static traffic queue when the message type is a static message; and allocating the data stream to the dynamic traffic queue when the message type is a dynamic message.

[0010] Optionally, when the message type is a dynamic message, allocating the data stream to the dynamic traffic queue includes: when the message type is a dynamic message, parsing the data stream to obtain the priority of the data stream; and allocating the data stream to the dynamic traffic queue corresponding to the priority.

[0011] Optionally, generating the dynamic gate control list includes: generating the open gate hold time of the dynamic traffic queue based on the data volume of the data stream, the transmission time interval between the data stream and adjacent data streams, and the guard band time of the dynamic traffic queue; and generating the dynamic gate control list based on the open gate hold time.

[0012] Optionally, the method further includes: when the data stream output from the static traffic queue and the data stream output from the dynamic traffic queue are aggregated, scheduling the aggregated data stream according to a strict priority algorithm.

[0013] Optionally, the data stream includes event-type message data and new service message data; when the event-type message data and the new service message data do not exist in the vehicle domain controller, scheduling of the dynamic traffic queue is prohibited.

[0014] This invention also discloses a data stream scheduling device applied to an automotive domain controller. The domain controller includes a static traffic queue and a dynamic traffic queue. The device includes: a data stream acquisition module for acquiring data streams to be processed; a data stream allocation module for allocating the data streams to the static traffic queue or the dynamic traffic queue according to the type of the data streams; a static scheduling module for scheduling the data streams in the static traffic queue according to a pre-configured static gate control list when the data streams are allocated to the static traffic queue; and a dynamic scheduling module for generating a dynamic gate control list and scheduling the data streams in the dynamic traffic queue according to the dynamic gate control list when the data streams are allocated to the dynamic traffic queue.

[0015] Optionally, the data stream allocation module includes: a message type parsing module, used to parse the data stream to obtain the message type of the data stream; and a traffic queue allocation module, used to allocate the data stream to the static traffic queue or the dynamic traffic queue according to the message type.

[0016] Optionally, the traffic queue allocation module includes: a static traffic queue allocation module, used to allocate the data stream to the static traffic queue when the message type is a static message; and a dynamic traffic queue allocation module, used to allocate the data stream to the dynamic traffic queue when the message type is a dynamic message.

[0017] Optionally, the dynamic traffic queue allocation module includes: a priority parsing module, used to parse the data stream to obtain the priority of the data stream when the message type is a dynamic message; and a priority queue allocation module, used to allocate the data stream to the dynamic traffic queue corresponding to the priority.

[0018] Optionally, the dynamic scheduling module includes: an open-door hold time generation module, used to generate an open-door hold time for the dynamic traffic queue based on the data volume of the data stream, the transmission time interval between the data stream and adjacent data streams, and the guard band time of the dynamic traffic queue; and a dynamic door control list generation module, used to generate the dynamic door control list based on the open-door hold time.

[0019] Optionally, the apparatus further includes: a summary scheduling algorithm module, used to schedule the summarized data stream according to a strict priority algorithm when the data stream output from the static traffic queue is summarized with the data stream output from the dynamic traffic queue.

[0020] Optionally, the data stream includes event-type message data and new service message data; the device further includes: a scheduling prohibition module, used to prohibit scheduling of the dynamic traffic queue when the event-type message data and the new service message data do not exist in the vehicle domain controller.

[0021] This invention also discloses an electronic device, including: one or more processors; and one or more machine-readable media storing instructions thereon, which, when executed by the one or more processors, cause the electronic device to perform the data flow scheduling method as described above.

[0022] This invention also discloses a computer-readable storage medium storing a computer program that causes a processor to execute the data flow scheduling method described above.

[0023] The embodiments of the present invention have the following advantages:

[0024] The data flow scheduling scheme provided in this embodiment of the invention allocates the data flow to be processed by the vehicle domain controller to a static flow queue or a dynamic flow queue. When the data flow is allocated to a static flow queue, the data flow in the static flow queue is scheduled according to a pre-configured static gate control list. When the data flow is allocated to a dynamic flow queue, a dynamic gate control list is generated, and the data flow in the dynamic flow queue is scheduled according to the dynamic gate control list.

[0025] This invention allows for pre-configuration of traffic queues in a vehicle domain controller as static and dynamic traffic queues. Data streams to be processed can be allocated to either the static or dynamic traffic queues. Furthermore, data streams in the static traffic queue are scheduled according to a pre-configured static gate control list, while data streams in the dynamic traffic queue are scheduled according to a subsequently generated dynamic gate control list. This invention allocates data streams to either static or dynamic traffic queues, rather than uniformly storing all data streams in the static traffic queue. By pre-configuring static and dynamic traffic queues, the adaptability for scheduling different data streams is improved. This avoids uniformly scheduling all data streams according to a pre-configured static gate control list, improves the sending efficiency of event message data streams, and allows for increased sending time for data streams of newly added services, ensuring the integrity of data stream scheduling. Attached Figure Description

[0026] Figure 1 This is a flowchart illustrating the steps of a data stream scheduling method according to an embodiment of the present invention;

[0027] Figure 2 This is a schematic diagram of a scheme for scheduling data streams in a static traffic queue according to an embodiment of the present invention;

[0028] Figure 3 This is a schematic diagram illustrating the principle of a data stream transmission scheduling scheme according to an embodiment of the present invention;

[0029] Figure 4 This is a flowchart illustrating a data stream transmission scheduling scheme according to an embodiment of the present invention;

[0030] Figure 5 This is a structural block diagram of a data stream scheduling device according to an embodiment of the present invention. Detailed Implementation

[0031] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0032] This invention allows data streams to be allocated to either static or dynamic traffic queues. Data streams in static traffic queues are scheduled according to a pre-configured static gate control list; data streams in dynamic traffic queues are scheduled according to a generated dynamic gate control list.

[0033] Reference Figure 1 The diagram illustrates a flowchart of a data flow scheduling method according to an embodiment of the present invention. This data flow scheduling method can be applied to an automotive domain controller, which may include static traffic queues and dynamic traffic queues. Specifically, the data flow scheduling method may include the following steps:

[0034] Step 101: Obtain the data stream to be processed.

[0035] In embodiments of the present invention, the data stream to be processed can be an Ethernet data stream to be sent by the vehicle domain controller. A data stream refers to a collection of data packets or blocks of data that are sent or transmitted. Common data streams may include, but are not limited to: Sensor data: including various sensor data from the vehicle's surrounding environment, such as cameras, radar, lidar, and ultrasonic sensors. This data is used to perceive information such as obstacles, road conditions, and other vehicles around the vehicle. Control signals: including control signals sent to various systems and components of the vehicle, such as the engine, braking system, steering system, and transmission system. These signals are used to control the vehicle's acceleration, deceleration, steering, and gear shifting. Vehicle status: including current status information of various systems and components of the vehicle, such as vehicle speed, engine speed, vehicle posture, tire pressure, and fuel level. This information is used to monitor the vehicle's status and performance and serves as input to other control logic. Communication data: including data used for communication with other vehicles, road infrastructure, and external servers. This may include vehicle-to-vehicle communication between vehicles, vehicle-to-infrastructure communication between vehicles and road infrastructure, and vehicle-to-cloud communication between vehicles and cloud servers. Fault diagnosis data: including fault diagnosis information for vehicle systems and components. This data can be used to detect and diagnose vehicle malfunctions and to perform appropriate repairs and maintenance.

[0036] Step 102: Assign the data stream to a static traffic queue or a dynamic traffic queue according to the type of data stream.

[0037] In embodiments of the present invention, the traffic queues storing data streams in the vehicle domain controller can be pre-configured as static traffic queues and dynamic traffic queues. For example, eight traffic queues can be configured as six static traffic queues and two dynamic traffic queues. The embodiments of the present invention do not impose specific limitations on the number or size of the static and dynamic traffic queues. Data streams to be scheduled in the vehicle domain controller can be allocated to either static or dynamic traffic queues.

[0038] Step 103: When the data stream is allocated to the static traffic queue, schedule the data stream in the static traffic queue according to the pre-configured static gate control list.

[0039] In embodiments of the present invention, the data stream in the static flow queue can be scheduled according to a pre-configured static gate control list. (See also...) Figure 2 This diagram illustrates a scheme for scheduling data streams in a static traffic queue, according to an embodiment of the present invention. Figure 2There are eight static traffic queues: Static Traffic Queue 0, ..., Static Traffic Queue 4, Static Traffic Queue 5, Static Traffic Queue 6, and Static Traffic Queue 7. A pre-configured static gate control list controls when the gate (transmission gate) of each static traffic queue opens and for how long it remains open (the open time is calculated based on the amount of data in the static traffic queue). A transmission selection algorithm is configured for each static traffic queue to ensure that data streams from multiple static traffic queues are sent according to the configured algorithm during static queue transmission selection.

[0040] Step 104: When the data stream is allocated to the dynamic traffic queue, a dynamic gate control list is generated, and the data stream in the dynamic traffic queue is scheduled according to the dynamic gate control list.

[0041] In embodiments of the present invention, a dynamic gate control list can be generated for a dynamic traffic queue, and then the data stream in the dynamic traffic queue can be scheduled according to the dynamic gate control list.

[0042] The data flow scheduling scheme provided in this embodiment of the invention allocates the data flow to be processed by the vehicle domain controller to a static flow queue or a dynamic flow queue. When the data flow is allocated to a static flow queue, the data flow in the static flow queue is scheduled according to a pre-configured static gate control list. When the data flow is allocated to a dynamic flow queue, a dynamic gate control list is generated, and the data flow in the dynamic flow queue is scheduled according to the dynamic gate control list.

[0043] This invention allows for pre-configuration of traffic queues in a vehicle domain controller as static and dynamic traffic queues. Data streams to be processed can be allocated to either the static or dynamic traffic queues. Furthermore, data streams in the static traffic queue are scheduled according to a pre-configured static gate control list, while data streams in the dynamic traffic queue are scheduled according to a subsequently generated dynamic gate control list. This invention allocates data streams to either static or dynamic traffic queues, rather than uniformly storing all data streams in the static traffic queue. By pre-configuring static and dynamic traffic queues, the adaptability for scheduling different data streams is improved. This avoids uniformly scheduling all data streams according to a pre-configured static gate control list, improves the sending efficiency of event message data streams, and allows for increased sending time for data streams of newly added services, ensuring the integrity of data stream scheduling.

[0044] In an exemplary embodiment of the present invention, one implementation of allocating a data stream to a static traffic queue or a dynamic traffic queue based on the data stream type involves parsing the data stream to obtain its message type, and then allocating the data stream to either a static or dynamic traffic queue based on the message type. In practical applications, certain specific bytes of a data stream can represent its message type. The traffic parsing processor in the automotive domain controller can parse the message type of the data stream. The message type can be a static message or a dynamic message. For example, bytes 8 to 11 of the data stream can represent its message type. "0001" can represent a static message, and "0000" can represent a dynamic message. When the message type represents a static message, the data stream is allocated to the static traffic queue; when the message type represents a dynamic message, the data stream is allocated to the dynamic traffic queue. For example, if bytes 8 to 11 of data stream D01 are "0001", indicating that data stream D01 is a static message, then data stream D01 is allocated to the static traffic queue. If bytes 8 to 11 of data stream D02 are “0000”, it indicates that data stream D02 is a dynamic message, and data stream D02 will be allocated to the dynamic traffic queue.

[0045] This invention utilizes dynamic traffic queues to flexibly allocate data streams based on real-time demands. This allows for appropriate processing and prioritization of different types of data streams to meet specific application requirements. Allocating data streams to static or dynamic traffic queues helps improve the real-time performance of data processing. By allocating based on message type, it ensures that critical data streams are processed promptly, thereby reducing latency and improving system response speed. Allocating data streams based on message type simplifies processing logic. After allocating data streams to static or dynamic traffic queues, the processor can focus on processing the corresponding message type, reducing processor load and complexity. The use of static and dynamic traffic queues helps optimize resource utilization. Different types of data streams can be allocated to appropriate queues based on their characteristics to more effectively manage computing and storage resources, improving system performance and efficiency.

[0046] In an exemplary embodiment of the present invention, when multiple dynamic traffic queues exist in the vehicle domain controller, different dynamic traffic queues can store data streams with different priorities. Therefore, when the message type is a dynamic message, one implementation method for allocating data streams to dynamic traffic queues is that the traffic parsing processor can parse the data stream to obtain its priority, and then allocate the data stream to the dynamic traffic queue corresponding to the priority. Similar to the message type, certain specific bytes of the data stream can represent the priority of the data stream. The priority can be high priority, medium priority, or low priority. The dynamic traffic queues corresponding to the priorities can also be divided into high-priority dynamic traffic queues, medium-priority dynamic traffic queues, and low-priority dynamic traffic queues. For example, if the 12th and 13th bytes of data stream D02 are "11", indicating high priority, then data stream D02 is allocated to the high-priority dynamic traffic queue P1.

[0047] This invention provides flexible processing and configuration options for data streams of different priorities by using multiple dynamic traffic queues. Priority allocation and management of data streams can be performed based on application requirements and real-time conditions. By assigning data streams to dynamic traffic queues corresponding to their priorities, system resources can be managed more effectively. High-priority data streams receive priority processing, thereby improving the response speed of critical tasks and system performance. Prioritizing data streams ensures that important data streams are processed promptly. This helps reduce latency and provides a better user experience and system performance. Dynamic traffic queues with different priorities can be optimized for different tasks or application scenarios. For example, high-priority dynamic traffic queues can be used for critical control tasks, while low-priority dynamic traffic queues can be used for non-critical background tasks. This ensures that system resources are better allocated to higher-priority tasks.

[0048] A door control list is a data structure used to control access permissions to doors. The specific method for generating a door control list may vary depending on the situation, but the general steps are as follows:

[0049] 1. Determine the access requirements of the door: First, it is necessary to determine the access control policy that you want to implement on the door.

[0050] 2. Identify door attributes: Understanding the attributes and characteristics of doors is important for generating a door control list. This may involve determining the door's identifier, type, location, and other relevant information.

[0051] 3. Design the door control list format: Based on the access requirements and attributes of the doors, design the format of the door control list. A door control list is typically a table or data structure containing different fields, used to store door access permission information.

[0052] 4. Determine the access control policy: Based on the designed door control list format, determine the rules of the access control policy.

[0053] 5. Populate the door control list: Populate the door control list using the selected format and policy. Associate the door identifiers with the corresponding access permissions, and ensure the format is correct and complete.

[0054] 6. Update and maintain the door control list: Door access requirements may change over time, so it is crucial to review and update the door control list regularly. Add, modify, or delete entries in the door control list as needed.

[0055] Please note that the steps above provide general guidance for generating a door control list; specific implementation may vary depending on the particular system or application. In practice, appropriate adjustments and customizations may be necessary based on requirements and environment.

[0056] In one exemplary embodiment of the present invention, one implementation of generating a dynamic gate control list involves generating an open-gate hold time for a dynamic traffic queue based on the data volume of the data stream, the transmission time interval between the data stream and adjacent data streams, and the guard band time of the dynamic traffic queue. The dynamic gate control list is then generated based on this open-gate hold time. The guard band time is a period of time during which the dynamic traffic queue is protected or restricted. The open-gate hold time refers to the duration during which the dynamic traffic queue is allowed access or transmission. Based on the calculated open-gate hold time, a dynamic gate control list can be generated, which includes access control rules for scheduling dynamic traffic queues, determining which dynamic traffic queues can access the gate and when they can access the gate.

[0057] The method for generating a dynamic gate control list in this invention allows for the scheduling and control of dynamic traffic queues based on actual conditions. By considering data volume and transmission time intervals, flexible gating scheduling can be performed according to the needs of different data flows to meet real-time and priority requirements. The generation of the dynamic gate control list is based on the gate hold time, i.e., the duration for which a dynamic traffic queue is allowed to access the gate. By reasonably calculating the gate hold time, system resources can be effectively utilized, avoiding resource waste and congestion. The introduction of a protection band time can protect or restrict the dynamic traffic queue for a certain period of time. This ensures that specific data flows can still be properly transmitted and processed under interference or contention, improving data reliability and integrity. The generated dynamic gate control list contains access control rules to determine which dynamic traffic queues can access the gate and when. This allows for reasonable scheduling and management of traffic, ensuring the stability and performance of the system in a multi-tasking environment.

[0058] Reference Figure 3This diagram illustrates the principle of a data stream transmission scheduling scheme according to an embodiment of the present invention. In this scheme, static traffic queues (static traffic queue 0, static traffic queue 1, ..., static traffic queue 5) and dynamic traffic queues (dynamic traffic queue 0, dynamic traffic queue 1) are pre-configured. A traffic parsing processor is responsible for parsing the data stream to obtain its message type. If the message type is static, the data stream is sent to the static traffic queue. If the message type is dynamic, the data stream is sent to the dynamic traffic queue. Data streams in the static traffic queue are scheduled for transmission according to a pre-configured static gate control list. The static gate control list controls when the gates (transmission gates) of each static traffic queue open and for how long they remain open, and configures a transmission selection algorithm for each static traffic queue so that data streams sent by multiple static traffic queues are scheduled according to the configured transmission selection algorithm during static queue transmission selection. The traffic parsing processor is also responsible for parsing data streams with dynamic message types to obtain their priority and sending the data streams to the dynamic traffic queue corresponding to their priority. Data streams in the dynamic traffic queue are scheduled for transmission according to a dynamically generated dynamic gate control list. The dynamic gate control list controls when and for how long the gates (transmission gates) of each dynamic traffic queue open, and configures a transmission selection algorithm for each dynamic traffic queue to schedule data streams from multiple dynamic traffic queues according to the configured algorithm during dynamic queue transmission selection. Ultimately, data streams from static traffic queues and data streams from dynamic traffic queues are aggregated during queue transmission selection.

[0059] In an exemplary embodiment of the present invention, when the data stream output from the static traffic queue and the data stream output from the dynamic traffic queue are aggregated, the aggregated data stream can be scheduled according to the Strict Priority (SP) algorithm. Specifically, the SP algorithm prioritizes sending data streams from higher priority queues in descending order of priority. When a higher priority queue is empty, data streams from lower priority queues are then sent.

[0060] The SP algorithm in this embodiment allows for the scheduling of data streams according to a strict priority order. Data streams in higher-priority queues are sent first, ensuring timely transmission and processing of critical tasks or high-priority data. Static and dynamic traffic queues can be configured according to actual needs and application scenarios. This flexibility can adapt to different types of data streams and schedule and process them reasonably according to their priorities. The SP algorithm ensures that data streams in higher-priority queues receive priority processing. This is crucial for mission-critical and real-time applications, reducing latency and improving responsiveness and reliability. The SP algorithm only sends data streams from lower-priority queues when higher-priority queues are empty. This mechanism ensures relatively fair resource allocation, giving data streams in lower-priority queues a chance to be sent and processed, avoiding situations where excessively high-priority queues occupy resources for too long.

[0061] In an exemplary embodiment of the present invention, the data flow may include event-type message data and new service message data. In practical applications, event-type message data and new service message data can be considered as a data flow with dynamic message type. Therefore, event-type message data and new service message data can be allocated to a dynamic traffic queue. Moreover, when there is no event-type message data and new service message data in the vehicle domain controller, i.e., when there is no data flow with dynamic message type, scheduling of the dynamic traffic queue can be prohibited, reducing the number of participants in the traffic queue and improving the scheduling efficiency of the data flow.

[0062] Reference Figure 4 The diagram illustrates a data stream transmission scheduling scheme according to an embodiment of the present invention.

[0063] Step 401: The data stream enters the traffic parsing processor.

[0064] The traffic parsing processor parses the data stream to obtain the packet type of the data stream.

[0065] Step 402: Determine whether to enter the dynamic traffic queue based on the message type.

[0066] If the message type is a static message, proceed to step 403; if the message type is a dynamic message, proceed to step 404.

[0067] Step 403: The data stream enters the static traffic queue.

[0068] Step 405: Schedule the data stream of the static flow queue according to the static gate control list.

[0069] Step 406: The data streams output by each static traffic queue select the data to be sent according to the static queue transmission selection algorithm.

[0070] Step 404: Select the corresponding dynamic traffic queue based on the priority of the data stream.

[0071] Step 407: Generate a dynamic door control list.

[0072] Step 408: Schedule the data stream of the dynamic flow queue according to the dynamic gate control list.

[0073] Step 409: The data streams output by each dynamic traffic queue select the data to be sent according to the dynamic queue transmission selection algorithm.

[0074] Step 410: Select the data stream for the dynamic traffic queue and the data stream for the static traffic queue according to the SP algorithm.

[0075] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.

[0076] Reference Figure 5 This diagram illustrates a structural block diagram of a data flow scheduling device according to an embodiment of the present invention. This data flow scheduling device is applied to an automotive domain controller, which includes static traffic queues and dynamic traffic queues. Specifically, this data flow scheduling device may include the following modules.

[0077] Data stream acquisition module 51 is used to acquire the data stream to be processed;

[0078] Data stream allocation module 52 is used to allocate the data stream to the static traffic queue or the dynamic traffic queue according to the type of the data stream;

[0079] The static scheduling module 53 is used to schedule the data stream in the static traffic queue according to a pre-configured static gate control list when the data stream is allocated to the static traffic queue.

[0080] The dynamic scheduling module 54 is used to generate a dynamic gate control list when the data stream is allocated to the dynamic traffic queue, and to schedule the data stream in the dynamic traffic queue according to the dynamic gate control list.

[0081] In an exemplary embodiment of the present invention, the data stream allocation module 52 includes:

[0082] The message type parsing module is used to parse the data stream to obtain the message type of the data stream;

[0083] The traffic queue allocation module is used to allocate the data stream to the static traffic queue or the dynamic traffic queue according to the message type.

[0084] In an exemplary embodiment of the present invention, the traffic queue allocation module includes:

[0085] A static traffic queue allocation module is used to allocate the data stream to the static traffic queue when the message type is a static message;

[0086] The dynamic traffic queue allocation module is used to allocate the data stream to the dynamic traffic queue when the message type is a dynamic message.

[0087] In an exemplary embodiment of the present invention, the dynamic traffic queue allocation module includes:

[0088] The priority parsing module is used to parse the data stream to obtain the priority of the data stream when the message type is a dynamic message;

[0089] The priority queue allocation module is used to allocate the data stream to the dynamic traffic queue corresponding to the priority.

[0090] In an exemplary embodiment of the present invention, the dynamic scheduling module 54 includes:

[0091] The door-opening hold time generation module is used to generate the door-opening hold time of the dynamic traffic queue based on the data volume of the data stream, the transmission time interval between the data stream and the adjacent data stream, and the guard band time of the dynamic traffic queue.

[0092] The dynamic door control list generation module is used to generate the dynamic door control list based on the door open holding time.

[0093] In one exemplary embodiment of the present invention, the apparatus further includes:

[0094] The aggregation scheduling algorithm module is used to schedule the aggregated data stream according to a strict priority algorithm when the data stream output from the static traffic queue and the data stream output from the dynamic traffic queue are aggregated.

[0095] In an exemplary embodiment of the present invention, the data stream includes event-type message data and new service message data; the apparatus further includes:

[0096] The scheduling disallowing module is used to prohibit scheduling of the dynamic traffic queue when the event-type message data and the new service message data do not exist in the vehicle domain controller.

[0097] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0098] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0099] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, embodiments of the present invention can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention can take the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0100] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0101] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0102] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0103] Although preferred embodiments of the present invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the present invention.

[0104] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element.

[0105] The above provides a detailed description of a data stream scheduling method and a data stream scheduling device provided by the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A data stream scheduling method, characterized in that, Applied to an automotive domain controller, the domain controller including a static traffic queue and a dynamic traffic queue, the method includes: Obtain the data stream to be processed; The data stream is allocated to the static traffic queue or the dynamic traffic queue according to the message type of the data stream; When the data stream is allocated to the static traffic queue, the data stream in the static traffic queue is scheduled according to a pre-configured static gate control list; When the data stream is allocated to the dynamic traffic queue, a dynamic gate control list is generated, and the data stream in the dynamic traffic queue is scheduled according to the dynamic gate control list; The generation of the dynamic gate control list includes: The open hold time of the dynamic traffic queue is generated based on the data volume of the data stream, the transmission time interval between the data stream and adjacent data streams, and the guard band time of the dynamic traffic queue. The dynamic door control list is generated based on the door open holding time; the dynamic door control list also includes access control rules, which schedule the dynamic traffic queue and determine the access permissions and access time of the dynamic traffic queue to the door. The step of allocating the data stream to the static traffic queue or the dynamic traffic queue according to the message type of the data stream includes: When the message type is a static message, the data stream is allocated to the static traffic queue; When the message type is a dynamic message, the data stream is allocated to the dynamic traffic queue.

2. The method according to claim 1, characterized in that, The step of allocating the data stream to the static traffic queue or the dynamic traffic queue according to the message type of the data stream includes: The data stream is parsed to obtain the message type of the data stream; The data stream is allocated to the static traffic queue or the dynamic traffic queue according to the message type.

3. The method according to claim 1, characterized in that, When the message type is a dynamic message, allocating the data stream to the dynamic traffic queue includes: When the message type is a dynamic message, the priority of the data stream is obtained by parsing the data stream; The data stream is allocated to the dynamic traffic queue corresponding to the priority.

4. The method according to claim 1, characterized in that, The method further includes: When the data stream output from the static traffic queue is aggregated with the data stream output from the dynamic traffic queue, the aggregated data stream is scheduled according to a strict priority algorithm.

5. The method according to claim 1, characterized in that, The data stream includes event-type message data and new service message data; When the event-type message data and the new service message data are not present in the vehicle domain controller, scheduling of the dynamic traffic queue is prohibited.

6. A data stream scheduling device, characterized in that, Applied to an automotive domain controller, the domain controller including a static traffic queue and a dynamic traffic queue, the device includes: The data stream acquisition module is used to acquire the data stream to be processed. A data stream allocation module is used to allocate the data stream to the static traffic queue or the dynamic traffic queue according to the message type of the data stream; A static scheduling module is used to schedule the data streams in the static traffic queue according to a pre-configured static gate control list when the data streams are allocated to the static traffic queue. The dynamic scheduling module is used to generate a dynamic gate control list when the data stream is allocated to the dynamic traffic queue, and to schedule the data stream in the dynamic traffic queue according to the dynamic gate control list. The dynamic scheduling module includes: an open-door hold time generation module, used to generate the open-door hold time of the dynamic traffic queue based on the data volume of the data stream, the transmission time interval between the data stream and adjacent data streams, and the guard band time of the dynamic traffic queue; and a dynamic door control list generation module, used to generate the dynamic door control list based on the open-door hold time; the dynamic door control list further includes access control rules, which schedule the dynamic traffic queue and determine the access permissions and access time of the dynamic traffic queue's access doors. The traffic queue allocation module includes: A static traffic queue allocation module is used to allocate the data stream to the static traffic queue when the message type is a static message; The dynamic traffic queue allocation module is used to allocate the data stream to the dynamic traffic queue when the message type is a dynamic message.

7. An electronic device, characterized in that, include: One or more processors; and One or more machine-readable media having instructions stored thereon, which, when executed by the one or more processors, cause the electronic device to perform the data stream scheduling method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, When the stored computer program is executed by a processor, the processor performs the data flow scheduling method as described in any one of claims 1 to 5.