Real-time task scheduling method and device, computer equipment and readable storage medium
By obtaining and analyzing the attribute information of real-time tasks, selecting appropriate tasks and coordinating in a multiprocessor system, the reliability problem of the multiprocessor task scheduling system in the prior art is solved, and more efficient task scheduling and system performance are achieved.
Patent Information
- Application Number
- CN202510431301.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-08
- Publication Date
- 2025-05-09
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing multiprocessor algorithm assumes that the task processor has no independent and no acceptance relationship, and cannot effectively improve the reliability of the real-time task scheduling system.
By obtaining the task attribute information of the real-time task to be scheduled, selecting the currently scheduled task according to the task type and time attributes, and sending it to the task receiver for scheduling after the task is completed, coordination and resource optimization between task processors are achieved.
Improve the reliability and coordination of real-time task scheduling under multi-processors, ensure that tasks are completed on time and improve the overall performance of the system.
Smart Images

Figure CN119961001A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a real-time task scheduling method, apparatus, computer equipment and readable storage medium. Background Art
[0002] With the rapid development of computer technology, the load on real-time task scheduling systems continues to increase. At present, real-time task scheduling systems perform real-time analysis on real-time tasks and schedule tasks based on the real-time analysis results. The reliability of task scheduling has become an important factor affecting the reliability of the entire real-time task scheduling system.
[0003] At present, the real-time task scheduling system is deployed with at least one task processor. However, the core idea of the current multi-processor algorithm fault tolerance is to place a real-time task and its backup task on different task processors to achieve the tolerance of the real-time task scheduling system to transient faults. However, the premise of this type of algorithm is that each task processor is independent and has no connection relationship, which is inconsistent with the actual situation of the real-time task scheduling system. Therefore, how to improve the reliability of real-time task scheduling under multi-processors is a problem that needs to be solved urgently. Summary of the invention
[0004] Based on this, it is necessary to provide a real-time task scheduling method, apparatus, computer equipment and readable storage medium that can improve the reliability of real-time task scheduling under multiple processors in order to solve the above technical problems.
[0005] In a first aspect, the present application provides a real-time task scheduling method, comprising:
[0006] Obtain task attribute information of at least one real-time task to be scheduled in the current batch;
[0007] According to the task attribute information of each real-time task to be scheduled, a current task to be scheduled is selected from each real-time task to be scheduled, and the current task to be scheduled is processed;
[0008] In the absence of real-time tasks to be scheduled, the completed real-time tasks to be scheduled are sent to the task receiver so that the task receiver can schedule the completed real-time tasks to be scheduled; wherein the task receiver includes at least one of the task execution end and the subsequent processor of the task processor cascade.
[0009] In one embodiment, the task attribute information includes a task type and a task time attribute; accordingly, selecting a current task to be scheduled from the real-time tasks to be scheduled according to the task attribute information of each real-time task to be scheduled includes:
[0010] Selecting at least one candidate task to be scheduled from at least one real-time task to be scheduled according to the task type of each real-time task to be scheduled;
[0011] According to the task time attribute of each candidate task to be scheduled, the current task to be scheduled is selected from each candidate task to be scheduled.
[0012] In one embodiment, the task type includes a hard real-time task type and a soft real-time task type. The real-time task to be scheduled corresponding to the hard real-time task type is a hard real-time task, and the real-time task to be scheduled corresponding to the soft real-time task type is a soft real-time task. Accordingly, according to the task type of each real-time task to be scheduled, at least one candidate task to be scheduled is selected from at least one real-time task to be scheduled, including:
[0013] In the case that there is a hard real-time task in at least one real-time task to be scheduled, each hard real-time task is used as a candidate task to be scheduled;
[0014] When there is no hard real-time task in at least one real-time task to be scheduled, each soft real-time task is taken as a candidate task to be scheduled.
[0015] In one embodiment, the task time attribute includes a start deadline; accordingly, when each candidate task to be scheduled is a hard real-time task, selecting the current task to be scheduled from each candidate task to be scheduled according to the task time attribute of each candidate task to be scheduled includes:
[0016] According to the order of the start and end time of each candidate task to be scheduled and the current time, a class of valid tasks is selected from each candidate task to be scheduled;
[0017] In the case that there is a class of valid tasks, the class of valid tasks with the smallest first reference time difference is used as the current task to be scheduled; wherein the first reference time difference is the time difference between the start deadline and the current time;
[0018] In the case that there is no valid task of a type, the process returns to the step of selecting the candidate tasks to be scheduled.
[0019] In one embodiment, when each candidate task to be scheduled is a soft real-time task, selecting the current task to be scheduled from each candidate task to be scheduled according to the task time attribute of each candidate task to be scheduled includes:
[0020] Obtaining task attribution information corresponding to at least one real-time task to be scheduled;
[0021] According to the task attribution information, reference attribute information is selected from the task time attribute;
[0022] According to the task time attribute of each candidate task to be scheduled, the current task to be scheduled is selected from each candidate task to be scheduled.
[0023] In one embodiment, according to the task attribution information, reference attribute information is selected from the task time attribute, including:
[0024] If the task attribution information indicates that the processing requirement of at least one real-time task to be scheduled is the first processing requirement, the task processing duration in the task time attribute is used as the reference attribute information; wherein the first processing requirement is the shortest total processing duration of all real-time tasks to be scheduled;
[0025] Accordingly, according to the task time attributes of each candidate task to be scheduled, the current task to be scheduled is selected from each candidate task to be scheduled, including:
[0026] The candidate task to be scheduled with the shortest task processing time is used as the current task to be scheduled.
[0027] In one embodiment, according to the task attribution information, reference attribute information is selected from the task time attribute, including:
[0028] If the task attribution information indicates that the processing requirement of at least one real-time task to be scheduled is the second processing requirement, the completion deadline in the task time attribute is used as the reference attribute information; wherein the second processing requirement is that among the real-time tasks to be scheduled, the soft real-time task has the largest on-time completion rate;
[0029] Accordingly, according to the task time attributes of each candidate task to be scheduled, the current task to be scheduled is selected from each candidate task to be scheduled, including:
[0030] According to the order of the completion deadlines of the candidate tasks to be scheduled and the current time, two types of valid tasks are selected from the candidate tasks to be scheduled;
[0031] The second type of valid task with the smallest second reference time difference is used as the current task to be scheduled; wherein the second reference time difference is the time difference between the completion deadline and the current time.
[0032] In a second aspect, the present application also provides a real-time task scheduling device, comprising:
[0033] An information acquisition module, used to acquire task attribute information of at least one real-time task to be scheduled in the current batch;
[0034] The task determination module is used to select the current task to be scheduled from the real-time tasks to be scheduled according to the task attribute information of each real-time task to be scheduled, and process the current task to be scheduled;
[0035] The task sending module is used to send the real-time tasks to be scheduled that have been processed to the task receiver when there are no real-time tasks to be scheduled, so that the task receiver can schedule the real-time tasks to be scheduled that have been processed; wherein the task receiver includes at least one of the task execution end and the subsequent processor of the task processor cascade.
[0036] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0037] Obtain task attribute information of at least one real-time task to be scheduled in the current batch;
[0038] According to the task attribute information of each real-time task to be scheduled, a current task to be scheduled is selected from each real-time task to be scheduled, and the current task to be scheduled is processed;
[0039] In the absence of real-time tasks to be scheduled, the completed real-time tasks to be scheduled are sent to the task receiver so that the task receiver can schedule the completed real-time tasks to be scheduled; wherein the task receiver includes at least one of the task execution end and the subsequent processor of the task processor cascade.
[0040] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the following steps are implemented:
[0041] Obtain task attribute information of at least one real-time task to be scheduled in the current batch;
[0042] According to the task attribute information of each real-time task to be scheduled, a current task to be scheduled is selected from each real-time task to be scheduled, and the current task to be scheduled is processed;
[0043] In the absence of real-time tasks to be scheduled, the completed real-time tasks to be scheduled are sent to the task receiver so that the task receiver can schedule the completed real-time tasks to be scheduled; wherein the task receiver includes at least one of the task execution end and the subsequent processor of the task processor cascade.
[0044] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:
[0045] Obtain task attribute information of at least one real-time task to be scheduled in the current batch;
[0046] According to the task attribute information of each real-time task to be scheduled, a current task to be scheduled is selected from each real-time task to be scheduled, and the current task to be scheduled is processed;
[0047] In the absence of real-time tasks to be scheduled, the completed real-time tasks to be scheduled are sent to the task receiver so that the task receiver can schedule the completed real-time tasks to be scheduled; wherein the task receiver includes at least one of the task execution end and the subsequent processor of the task processor cascade.
[0048] The above-mentioned real-time task scheduling method, device, computer equipment and readable storage medium, in the process of selecting the current task to be scheduled from various real-time tasks to be scheduled, considers the task attribute information of each real-time task to be scheduled, which can make the processing order of each real-time task to be scheduled more reasonable, for example, first processing the important ones with strict time limits, and then processing the less important ones with loose time limits, which can improve the reliability of real-time task scheduling to a certain extent. Furthermore, when all the real-time tasks to be scheduled in the current batch are processed, the completed real-time tasks to be scheduled are sent to the task receiver, so that the task receiver can perform task scheduling on the completed real-time tasks to be scheduled. For a real-time task scheduling system with multiple processors, this method can make the coordination between multiple processors better and further improve the reliability of task scheduling. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0050] Figure 1 An application environment diagram of a real-time task scheduling method in one embodiment;
[0051] Figure 2 A flowchart of a real-time task scheduling method in one embodiment;
[0052] Figure 3 A schematic diagram of a process for selecting a task to be scheduled in an embodiment;
[0053] Figure 4 A schematic diagram of a flow chart of steps for selecting candidate tasks to be scheduled in one embodiment;
[0054] Figure 5 A flowchart of selecting steps for the current task to be scheduled in another embodiment;
[0055] Figure 6 A flowchart of selecting steps for the current task to be scheduled in another embodiment;
[0056] Fig. 7A is a flow chart of a real-time task scheduling method in another embodiment;
[0057] Figure 7B is a flow chart of a real-time task scheduling method in another embodiment;
[0058] Figure 8 is a structural block diagram of a real-time task scheduling device in one embodiment;
[0059] Fig. 9 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0060] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0061] Before introducing the implementation task scheduling method provided by the embodiment of the present application, it should be noted that in order to improve the scheduling efficiency of the real-time task scheduling system, at present, the research on multi-processor task scheduling has been carried out, such as the five-stage pipeline on the traditional central processing unit (Central Processing Unit, CPU) through standardized instruction execution, design processing units for different instruction execution steps to achieve the purpose of parallelizing different operations of adjacent instructions and accelerating program execution. Different from the principle of the pipeline, multi-processor task scheduling is a means of increasing the number of processors. Although the execution of the application can also be performed in a manner similar to the pipeline when allowed, in more cases, the method of executing each task in parallel is used to obtain acceleration. The parallel computing capability of the multi-processor is also different from the parallel execution capability provided by the single instruction stream multiple data stream (Single Instruction Multiple Data, SIMD), which adds a logical operation unit when designing the processor, so that the processing of different data can be parallelized, but this requires that the instructions for processing different data have consistency. However, the operations performed by different tasks in actual applications are often different.
[0062] At present, the global scheduling method of proportional fair use of resources (Pfair) has emerged on the basis of the Pfair algorithm, including priority-based scheduling algorithm PD, short job (process) priority scheduling algorithm PF and early release fair scheduling algorithm (ER-fair). Many scholars have also studied the response time analysis of global scheduling algorithms. The research on local scheduling algorithms includes heuristic scheduling algorithms, local scheduling for occasional tasks, and fast local scheduling algorithms. However, the core idea of the current multi-processor algorithm fault tolerance is to place a real-time task and its backup tasks on different task processors to achieve the tolerance of the real-time task scheduling system to transient faults. However, the premise of this type of algorithm is that each task processor is independent and has no connection relationship, which is inconsistent with the actual situation of the real-time task scheduling system. Based on this, it is urgent to provide a real-time task scheduling method that is consistent with the actual situation of the real-time task scheduling system and can improve the reliability of the real-time task scheduling system.
[0063] The real-time task scheduling method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the terminal 102 communicates with the task processor 104 deployed in the real-time task scheduling system through the network. The data storage system can store the data that the task processor 104 needs to process. The data storage system can be integrated on the task processor 104, or it can be placed on the cloud or other network servers. Specifically, the task processor 104 obtains the task attribute information of at least one real-time task to be scheduled in the current batch sent by the data sending end (including the terminal 102 and the previous processor cascaded with the task processor 104), and selects the current task to be scheduled from each real-time task to be scheduled according to the task attribute information of each real-time task to be scheduled, and processes the current task to be scheduled; in the case where there is no real-time task to be scheduled, the real-time tasks to be scheduled that have been processed are sent to the task receiver, so that the task receiver can perform task scheduling on the real-time tasks to be scheduled that have been processed. Among them, the terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, etc.
[0064] In an exemplary embodiment, Figure 2 As shown, a real-time task scheduling method is provided, which is applied to Figure 1 Taking the task processor 104 in the example as an example, the following steps are included:
[0065] S210, obtaining task attribute information of at least one real-time task to be scheduled in the current batch.
[0066] Among them, the real-time task to be scheduled can be a real-time task that currently needs the cooperation of the task processor to execute. Usually, a real-time task to be scheduled is composed of at least one real-time task to be scheduled. The real-time task to be scheduled can be a periodic real-time task or a non-periodic real-time task; it can be a hard real-time task or a soft real-time task. This application does not impose any restrictions on the task type of the real-time task to be scheduled.
[0067] The task attribute information of the real-time task to be scheduled is used to describe at least one of the task characteristics and task requirements of the real-time task to be scheduled. Furthermore, the task attribute information can also characterize the importance of the corresponding real-time task to be scheduled. Knowing the task attribute information of the real-time task to be scheduled can help the task processor to better schedule the real-time task to be scheduled.
[0068] In this embodiment, each real-time task to be scheduled in the current batch may be at least one real-time task included in an event to be scheduled, and the task attribute information of each real-time task to be scheduled may be the same or different. Specifically, the task attribute information of each real-time task to be scheduled is related to the task content of the real-time task to be scheduled.
[0069] In an optional implementation, each real-time task to be scheduled in the current batch can be parsed to obtain the task attribute information of the corresponding real-time task to be scheduled. Exemplarily, any real-time task to be scheduled can be input into a pre-trained task parsing model to obtain the task attribute information of the corresponding real-time task to be scheduled. Among them, the task parsing model can be constructed based on a common neural network, which is not described in detail here. Furthermore, in the process of model training of the task parsing model, the sample real-time task can be input into the task parsing model to obtain the prediction result of the task attribute information corresponding to the corresponding sample real-time task, and according to the difference between the task attribute information prediction result and the task attribute information label corresponding to the corresponding sample real-time task, the model parameters of the task parsing model are adjusted to improve the model accuracy of the task parsing model.
[0070] In an optional implementation manner, each real-time task to be scheduled is annotated with its corresponding task attribute information. When the real-time task to be scheduled is obtained, the task attribute information of the corresponding real-time task to be scheduled can be directly extracted.
[0071] S220 , selecting a current task to be scheduled from the real-time tasks to be scheduled according to the task attribute information of each real-time task to be scheduled, and processing the current task to be scheduled.
[0072] The current task to be scheduled is the real-time task to be scheduled at the current moment. It can be understood that selecting the current task to be scheduled from the real-time tasks to be scheduled is to sort the scheduling order of the real-time tasks to be scheduled.
[0073] For example, since the task attribute information can represent the task importance of the corresponding real-time task to be scheduled, the real-time task to be scheduled with the highest importance can be used as the current task to be scheduled.
[0074] For example, since the task attribute information can characterize the task requirements of the corresponding real-time tasks to be scheduled, the real-time tasks to be scheduled with the task requirements being prioritized can be used as the current tasks to be scheduled. It should be noted that in this embodiment, the current tasks to be scheduled can also be selected from the real-time tasks to be scheduled by comprehensively considering the task importance and the task requirements.
[0075] S230: When there is no real-time task to be scheduled, each completed real-time task to be scheduled is sent to a task receiver, so that the task receiver can schedule each completed real-time task to be scheduled.
[0076] Among them, the task receiver includes at least one of the task execution end and the subsequent processor of the task processor cascade. Exemplarily, if there are other task processors cascaded after the task processor, the task receiver is the subsequent processor of the task processor cascade; if there are no other task processors cascaded after the task processor, the task receiver is the task execution end. It can be understood that the task execution end is the final receiving end of the real-time task processing result. For example, if the purpose of processing each real-time task to be scheduled is to display the processing result on the terminal, then the task execution end is the terminal.
[0077] In order to facilitate those skilled in the art to understand the two types of task receivers mentioned in this step, the above-mentioned process of sending the completed real-time tasks to be scheduled to the task receiver is illustrated by way of example. For example, the real-time task scheduling method is applied to a real-time task scheduling system of multiple processors, and the real-time task scheduling system is deployed with cascaded task processors A, B and C. If the real-time task scheduling method is applied to task processor A, then its corresponding task receiver is task processor B; if the real-time task scheduling method is applied to task processor B, then its corresponding task receiver is task processor C; if the real-time task scheduling method is applied to task processor C, then its corresponding task receiver is the task execution end.
[0078] Of course, the real-time task scheduling method can be applied to all task processors deployed by the above-mentioned real-time task scheduling system at the same time.
[0079] It can be understood that after the current task to be scheduled is processed, if there is a real-time task to be scheduled, the operation of selecting the current task to be scheduled is returned to be executed until there is no real-time task to be scheduled.
[0080] It should be noted that the real-time tasks to be scheduled can be sent to the task processor in batches, and in the process of processing the current task to be scheduled, other batches of tasks to be scheduled can be received synchronously. Therefore, the "no real-time tasks to be scheduled" in this step only indicates that there are no real-time tasks to be scheduled at the current moment.
[0081] It should be noted that the task sending method provided in this step is only an example provided in this embodiment. In the actual application process, in order to improve the efficiency of task scheduling, the task processor can also directly send the processed current task to be scheduled to the task recipient after the current task to be scheduled is processed. Of course, the task processor can also package the processed real-time tasks to be scheduled of the same type and send them to the task recipient after processing multiple real-time tasks to be scheduled of the same type. This application does not impose any restrictions on the sending method, sending timing and single sending quantity of the processed real-time tasks to be scheduled.
[0082] In the above-mentioned real-time task scheduling method, in the process of selecting the current task to be scheduled from various real-time tasks to be scheduled, the task attribute information of each real-time task to be scheduled is considered, which can make the processing order of each real-time task to be scheduled more reasonable. For example, important tasks with strict time limits are processed first, and then the less important tasks with loose time limits are processed, which can improve the reliability of real-time task scheduling to a certain extent. Furthermore, when all the real-time tasks to be scheduled in the current batch are processed, the completed real-time tasks to be scheduled are sent to the task receiver, so that the task receiver can perform task scheduling on the completed real-time tasks to be scheduled. For a real-time task scheduling system with multiple processors, this method can make the coordination between multiple processors better and further improve the reliability of task scheduling.
[0083] Based on the technical solutions of the above embodiments, the present application also provides an optional embodiment. In this optional embodiment, the task attribute information includes the task type and the task time attribute. In this case, the process of selecting the current task to be scheduled from each real-time task to be scheduled according to the task attribute information of each real-time task to be scheduled is refined.
[0084] See also Figure 3 The steps for selecting the current task to be scheduled shown include:
[0085] S310 , selecting at least one candidate task to be scheduled from at least one real-time task to be scheduled according to the task type of each real-time task to be scheduled.
[0086] The task importance of the real-time tasks to be scheduled of different task types is different. Exemplarily, in this embodiment, the real-time tasks to be scheduled with higher scheduling urgency, such as the highest, can be selected as candidate tasks to be scheduled.
[0087] Exemplarily, in this embodiment, tasks with higher importance, such as the highest real-time task to be scheduled, may be selected as candidate tasks to be scheduled.
[0088] S320 , selecting a current task to be scheduled from the candidate tasks to be scheduled according to the task time attributes of the candidate tasks to be scheduled.
[0089] Among them, the task time attribute can represent the time limit requirement of the real-time task to be scheduled.
[0090] For example, in this embodiment, the candidate to-be-scheduled task whose task time limit requirement reaches the preset time limit requirement can be used as the current to-be-scheduled task. The preset time limit requirement can be determined based on manual experience, and this application does not impose any limitation on this.
[0091] In the above embodiment, at least one candidate task to be scheduled is first selected from each real-time task to be scheduled based on the task type, and then the current task to be scheduled is selected from each candidate task to be scheduled based on the task time attribute of each candidate task to be scheduled, so that the current task to be scheduled is a task with high task importance and high task time limit requirement among the real-time tasks to be scheduled in the current batch, thereby avoiding task scheduling failure caused by processing tasks with low task importance or low task time limit requirement first. That is, the above embodiment can further improve the reliability of task scheduling.
[0092] Based on the technical solutions of the above embodiments, the present application also provides an optional embodiment. In the optional embodiment, the task type includes a hard real-time task type and a soft real-time task type, the real-time task to be scheduled corresponding to the hard real-time task type is a hard real-time task, and the real-time task to be scheduled corresponding to the soft real-time task type is a soft real-time task. In this case, the process of selecting at least one candidate task to be scheduled from at least one real-time task to be scheduled according to the task type of each real-time task to be scheduled is described in detail.
[0093] Among them, hard real-time tasks are real-time tasks that must be completed within the set deadline. If a hard real-time task cannot be completed within the deadline, it will result in task processing failure. Soft real-time tasks are tasks that allow occasional violations of time constraints to a certain extent, but still need to ensure the overall performance of the system and user experience. The time requirements of hard real-time tasks are not as strict as those of hard real-time tasks, but delays will still affect the service quality of the system.
[0094] See also Figure 4 The steps for selecting candidate tasks to be scheduled include:
[0095] S410, determining whether there is a hard real-time task in at least one task to be scheduled in the current batch.
[0096] S420: If any, each hard real-time task is taken as a candidate task to be scheduled.
[0097] It is understandable that, since the time limit requirement of hard real-time tasks is very strict, if there are hard real-time tasks among the real-time tasks to be scheduled, the hard real-time tasks need to be processed first.
[0098] Based on this, this embodiment can parse the task type of each real-time task to be scheduled, and if there is a hard real-time task of the hard real-time task type among the real-time tasks to be scheduled, each hard real-time task is used as a candidate task to be scheduled.
[0099] S430: If no such task exists, each soft real-time task is used as a candidate task to be scheduled.
[0100] It is understandable that, although the time limit requirement of soft real-time tasks is not as strict as that of hard real-time tasks, since soft real-time tasks are also real-time tasks, soft real-time tasks should also be processed with priority as much as possible.
[0101] Based on this, this embodiment can parse the task type of each real-time task to be scheduled, and if there is no hard real-time task of the hard real-time task type among the real-time tasks to be scheduled, and there is a soft real-time task of the soft real-time task type, each soft real-time task will be used as a candidate task to be scheduled.
[0102] In the above embodiment, the process of selecting candidate tasks to be scheduled is described in detail. Specifically, when there are hard real-time tasks, each hard real-time task is used as a candidate task to be scheduled; when there are no hard real-time tasks, each soft real-time task is used as a candidate task to be scheduled. In other words, the real-time tasks to be scheduled with strict time limits are processed first. When there are no real-time tasks to be scheduled with strict time limits, the real-time tasks to be scheduled with loose time limits are processed in turn, so that the scheduling order of each real-time task to be scheduled is more reasonable, laying a foundation for improving the reliability of task scheduling.
[0103] Based on the technical solutions of the above embodiments, the present application also provides an optional embodiment. In this optional embodiment, the task time attribute includes a start deadline. Accordingly, when each candidate task to be scheduled is a hard real-time task, the step of selecting the current task to be scheduled from each candidate task to be scheduled according to the task time attribute of each candidate task to be scheduled is further introduced.
[0104] See also Figure 5 The steps for selecting the current task to be scheduled shown include:
[0105] S510 , selecting a type of valid tasks from each candidate task to be scheduled according to the order relationship between the start and end time corresponding to each candidate task to be scheduled and the current time.
[0106] Among them, a class of valid tasks is used to characterize the hard real-time tasks that can be processed currently. The start deadline corresponding to the candidate to-be-scheduled task is used to characterize the deadline for the candidate to-be-scheduled task to start processing. For example, if the start deadline corresponding to a candidate to-be-scheduled task is 10:30:00, then if the current time is before 10:30:00, the candidate to-be-scheduled task belongs to a class of valid tasks; if the current time is after 10:30:00, the candidate to-be-scheduled task does not belong to a class of valid tasks.
[0107] Specifically, in this embodiment, each candidate to-be-scheduled task whose start deadline is before the current time is regarded as a type of valid task.
[0108] It should be noted that if there is a candidate task to be scheduled whose start deadline is after the current time, the processing of the corresponding candidate task to be scheduled fails, and task scheduling will no longer be continued.
[0109] S520: When there is a type of valid task, use the type of valid task with the smallest first reference time difference as the current task to be scheduled.
[0110] The first reference time difference is the time difference between the start and end time and the current time.
[0111] Specifically, when there is a class of valid tasks, the first reference time corresponding to each task in the class of valid tasks is determined, and the class of valid tasks with the smallest first reference time difference is used as the current task to be scheduled.
[0112] S530: When a type of valid task does not exist, return to the step of selecting candidate tasks to be scheduled.
[0113] In the above embodiment, when each candidate task to be scheduled is a hard real-time task, the task whose start deadline is before the current time and whose first reference time difference between the start deadline and the current time is the smallest, that is, the hard real-time task that is valid and the most urgent among the hard real-time tasks, is used as the current task to be scheduled.
[0114] Based on the technical solutions of the above embodiments, the present application also provides an optional embodiment. In the case where each candidate task to be scheduled is a soft real-time task, the optional embodiment further introduces the process of selecting the current task to be scheduled from each candidate task to be scheduled according to the task time attribute of each candidate task to be scheduled.
[0115] See also Figure 6 The steps for selecting the current task to be scheduled shown include:
[0116] S610: Obtain task attribution information corresponding to at least one real-time task to be scheduled.
[0117] Among them, the task attribution information is used to characterize the task source corresponding to the real-time task to be scheduled, including the task scenario and the system requirements corresponding to the task.
[0118] Exemplarily, the task attribution information may be marked in the marking information of the real-time task to be scheduled. Generally, the task attribution information of each real-time task to be scheduled in the same batch is the same.
[0119] S620: Select reference attribute information from task time attributes according to the task attribution information.
[0120] S630 , selecting a current task to be scheduled from the candidate tasks to be scheduled according to the task time attributes of the candidate tasks to be scheduled.
[0121] The reference attribute information may be used as reference information in the process of selecting the current task to be scheduled from various soft real-time tasks.
[0122] Optionally, in this embodiment, the correspondence between the reference task attribution information and the reference attribute information can be determined in advance, and the reference attribute information corresponding to the task attribution information of each real-time task to be scheduled in the current batch in the correspondence can be used as the reference attribute information corresponding to the real-time tasks to be scheduled in the current batch.
[0123] In an optional implementation, different task attribution information corresponds to different processing requirements. If the task attribution information indicates that the processing requirement of at least one of the above-mentioned real-time tasks to be scheduled is the first processing requirement, the task processing duration in the task time attribute is used as the reference attribute information; wherein the first processing requirement is that the total processing duration of all real-time tasks to be scheduled is the shortest; accordingly, according to the task time attributes of each candidate task to be scheduled, the current task to be scheduled is selected from each candidate task to be scheduled, including: the candidate task to be scheduled with the shortest task processing duration is used as the current task to be scheduled.
[0124] It should be noted that different tasks to be scheduled have different task processing durations. Generally, the task processing duration is related to the task type and task data volume of the corresponding task to be scheduled. For example, the larger the task data volume, the longer the corresponding task processing duration.
[0125] In an optional embodiment, if the task attribution information indicates that the processing requirement of at least one real-time task to be scheduled is the second processing requirement, the completion deadline in the task time attribute is used as reference attribute information; wherein the second processing requirement is that among all real-time tasks to be scheduled, the soft real-time task has the highest on-time completion rate; accordingly, according to the task time attributes of each candidate task to be scheduled, the current task to be scheduled is selected from each candidate task to be scheduled, including: according to the chronological relationship between the completion deadline corresponding to each candidate task to be scheduled and the current moment, two types of valid tasks are selected from each candidate task to be scheduled; the two types of valid tasks with the smallest second reference time difference are used as the current task to be scheduled; wherein the second reference time difference is the time difference between the completion deadline and the current moment.
[0126] Among them, the second category of valid tasks is used to characterize the soft real-time tasks that can be processed currently. The completion deadline corresponding to the candidate to-be-scheduled task is used to characterize the deadline for the candidate to-be-scheduled task to complete processing. For example, if the completion deadline corresponding to a candidate to-be-scheduled task is 10:30:00, then if the current time is before 10:30:00, the candidate to-be-scheduled task belongs to the second category of valid tasks; if the current time is after 10:30:00, the candidate to-be-scheduled task does not belong to the second category of valid tasks.
[0127] It should be noted that if there is a candidate task to be scheduled whose completion deadline is after the current time, the processing of the corresponding candidate task to be scheduled fails, and task scheduling will no longer be continued.
[0128] Specifically, in this embodiment, when there are two types of valid tasks, the second reference time difference corresponding to each task in the two types of valid tasks is determined, and the two types of valid tasks with the smallest second reference time difference are used as the current task to be scheduled.
[0129] In the above embodiment, a specific process of selecting the current task to be scheduled according to different processing requirements of the task to be scheduled is given when each candidate task to be scheduled is a soft real-time task. In the actual application process, different current tasks to be scheduled are selected according to different processing requirements, so that the task scheduling order is more matched with the actual scenario, and the reliability of task scheduling is further improved.
[0130] Based on the technical solutions of the above embodiments, the present application also provides an optional embodiment. In this optional embodiment, taking the number of task processors as 2, one of which is a computing processor and the other is a control processor; and the processing requirement of the to-be-scheduled event corresponding to at least one to-be-scheduled real-time task as the first processing requirement as an example, the real-time task scheduling method provided by the present application is described in detail. Among them, the first processing requirement is that the total processing time of each to-be-scheduled real-time task is the shortest.
[0131] See also Fig. 7A The real-time task scheduling method shown includes:
[0132] S701A, the computing processor compares the start deadline of the hard real-time task that has been reached;
[0133] S702A, the computing processor executes a hard real-time task whose start and deadline time is closest to the current time and whose start and deadline time is after the current time;
[0134] S703A, the computing processor determines whether all hard real-time tasks have been executed, if so, executes S704A, if not, returns to execute step S701A;
[0135] S704A, if yes, send the completed hard real-time task to the control processor to perform the corresponding processing logic of the control processor, and continue to execute the step of S705A;
[0136] S705A, the computing processor compares the processing time of the arrived soft real-time tasks;
[0137] S706A, the calculation processor executes the soft real-time task with the shortest processing time;
[0138] S707A, after the current soft real-time task is executed, the computing processor determines whether a hard real-time task has arrived, and if so, returns to execute step S701A; if not, executes S708A;
[0139] S708A, if not, determine whether all soft real-time tasks have been completed, if so, execute S709A; if not, return to the step of executing S705A;
[0140] S709A, sending the executed soft real-time task to the control processor to perform the corresponding processing logic of the control processor;
[0141] S701B, the task processor compares the start deadline of the hard real-time task that has arrived;
[0142] S702B, the task processor executes a hard real-time task whose start deadline is closest to the current time and whose start deadline is after the current time;
[0143] S703B, the task processor determines whether all hard real-time tasks have been executed. If so, it executes S704B. If not, it returns to the step of executing S701B.
[0144] S704B, if yes, compare the processing time of the soft real-time tasks that have arrived;
[0145] S705B, the task processor executes the soft real-time task with the shortest processing time;
[0146] S706B, after the current soft real-time task is executed, the task processor determines whether a hard real-time task has arrived. If so, it returns to execute step S701B, if not, it executes step S707B;
[0147] S707B, if not, determine whether the soft real-time task is completed, if so, complete the task scheduling of the scheduling event; if not, return to execute step S704B.
[0148] Furthermore, taking the number of task processors as 2, one of which is a computing processor and the other is a control processor; the processing requirement of the to-be-scheduled event corresponding to at least one to-be-scheduled real-time task is the second processing requirement as an example, the real-time task scheduling method provided by the present application is described in detail. Among them, the second processing requirement is that among the real-time tasks to be scheduled, the on-time completion rate of the soft real-time task is the largest.
[0149] See also Figure 7B The real-time task scheduling method shown includes:
[0150] S701C, the computing processor compares the start deadline of the hard real-time task that has been reached;
[0151] S702C, calculating the processor executing the hard real-time task whose start deadline is closest to the current moment and whose start deadline is after the current moment;
[0152] S703C, the computing processor determines whether all hard real-time tasks have been executed, if so, executes S704C, if not, returns to execute step S701C;
[0153] S704C, if yes, send the completed hard real-time task to the control processor to perform the corresponding processing logic of the control processor, and continue to execute the step of S705C;
[0154] S705C, the computing processor compares the completion deadline of the soft real-time task that has been reached;
[0155] S706C, calculating the soft real-time task whose deadline for execution of the processor is closest to the current time and whose deadline for completion is after the current time;
[0156] S707C, after the current soft real-time task is executed, the computing processor determines whether a hard real-time task has arrived. If so, it returns to execute step S701C; if not, it executes S708C;
[0157] S708C, if not, determine whether all soft real-time tasks have been completed, if so, execute S709C; if not, return to the step of executing S705C;
[0158] S709C, sending the executed soft real-time task to the control processor to perform the corresponding processing logic of the control processor;
[0159] S701D, the task processor compares the start deadline of the hard real-time task that has arrived;
[0160] S702D, the task processor executes a hard real-time task whose start deadline is closest to the current time and whose start deadline is after the current time;
[0161] S703D, the task processor determines whether all hard real-time tasks have been executed. If so, it executes S704D. If not, it returns to the step of executing S701D.
[0162] S704D, if yes, compare the completion deadline of the soft real-time task that has arrived;
[0163] S705D, the task processor executes the soft real-time task whose deadline is closest to the current time and whose deadline is after the current time;
[0164] S706D, after the current soft real-time task is executed, the task processor determines whether a hard real-time task has arrived. If so, it returns to execute step S701D. If not, it executes step S707D.
[0165] S707D, if not, determine whether the soft real-time task is completed, if so, complete the task scheduling of the scheduling event; if not, return to execute the step S704D.
[0166] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0167] Based on the same inventive concept, the embodiment of the present application also provides a real-time task scheduling device for implementing the real-time task scheduling method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more real-time task scheduling device embodiments provided below can refer to the limitations of the real-time task scheduling method above, and will not be repeated here.
[0168] In an exemplary embodiment, Figure 8 As shown, a real-time task scheduling device is provided, including: an information acquisition module 810, a task determination module 820 and a task sending module 830, wherein:
[0169] The information acquisition module 810 is used to acquire task attribute information of at least one real-time task to be scheduled in the current batch.
[0170] The task determination module 820 is used to select a current task to be scheduled from the real-time tasks to be scheduled according to the task attribute information of each real-time task to be scheduled, and process the current task to be scheduled.
[0171] The task sending module 830 is used to send each completed real-time task to be scheduled to a task receiver when there is no real-time task to be scheduled, so that the task receiver can schedule each completed real-time task to be scheduled.
[0172] The task receiver includes at least one of a task execution end and a subsequent processor in a cascade of task processors.
[0173] In one embodiment, the task attribute information includes the task type and the task time attribute; accordingly, the task determination module 820 includes a first selection unit for selecting at least one candidate task to be scheduled from at least one real-time task to be scheduled according to the task type of each real-time task to be scheduled; and a second selection unit for selecting the current task to be scheduled from each candidate task to be scheduled according to the task time attribute of each candidate task to be scheduled.
[0174] In one embodiment, the task type includes a hard real-time task type and a soft real-time task type. The real-time task to be scheduled corresponding to the hard real-time task type is a hard real-time task, and the real-time task to be scheduled corresponding to the soft real-time task type is a soft real-time task; accordingly, the first selection unit includes a first selection sub-unit, which is used to select each hard real-time task as a candidate task to be scheduled when there is a hard real-time task in at least one real-time task to be scheduled; and the second selection sub-unit is used to select each soft real-time task as a candidate task to be scheduled when there is no hard real-time task in at least one real-time task to be scheduled.
[0175] In one embodiment, the task time attribute includes a start deadline; accordingly, when each candidate task to be scheduled is a hard real-time task, the second selection unit includes a third selection sub-unit, which is used to select a class of valid tasks from each candidate task to be scheduled according to the chronological relationship between the start deadline time corresponding to each candidate task to be scheduled and the current moment; the fourth selection sub-unit is used to select a class of valid tasks with the smallest first reference time difference as the current task to be scheduled when there is a class of valid tasks; wherein the first reference time difference is the time difference between the start deadline time and the current moment; when there is no class of valid tasks, return to execute the selection step of the candidate task to be scheduled.
[0176] In one embodiment, when each candidate task to be scheduled is a soft real-time task, the second selection unit includes an information acquisition subunit, which is used to obtain task attribution information corresponding to at least one real-time task to be scheduled; a fifth selection subunit, which is used to select reference attribute information from task time attributes based on the task attribution information; and a sixth selection subunit, which is used to select the current task to be scheduled from each candidate task to be scheduled based on the task time attributes of each candidate task to be scheduled.
[0177] In one embodiment, the fifth selection sub-unit is specifically used to use the task processing duration in the task time attribute as reference attribute information if the task attribution information indicates that the processing requirement of at least one real-time task to be scheduled is the first processing requirement; wherein the first processing requirement is the shortest total processing time of all real-time tasks to be scheduled; correspondingly, the sixth selection sub-unit is specifically used to use the candidate task to be scheduled with the shortest task processing time as the current task to be scheduled.
[0178] In one embodiment, the fifth selection subunit is specifically used to use the completion deadline in the task time attribute as reference attribute information if the task attribution information indicates that the processing requirement of at least one real-time task to be scheduled is the second processing requirement; wherein the second processing requirement is that among the real-time tasks to be scheduled, the soft real-time task has the highest on-time completion rate; correspondingly, the sixth selection subunit is specifically used to select two types of valid tasks from each candidate task to be scheduled according to the chronological relationship between the completion deadline corresponding to each candidate task to be scheduled and the current moment; and use the two types of valid tasks with the smallest second reference time difference as the current task to be scheduled; wherein the second reference time difference is the time difference between the completion deadline and the current moment.
[0179] Each module in the above-mentioned real-time task scheduling device can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.
[0180] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Fig. 9 As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and the external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a real-time task scheduling method is implemented. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0181] Those skilled in the art will understand that Fig. 9 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0182] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0183] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0184] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0185] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0186] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0187] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A real-time task scheduling method, characterized in that: Applied to a task processor, the method comprises: Obtain task attribute information of at least one real-time task to be scheduled in the current batch; According to the task attribute information of each of the real-time tasks to be scheduled, selecting a current task to be scheduled from each of the real-time tasks to be scheduled, and processing the current task to be scheduled; In the absence of real-time tasks to be scheduled, each completed real-time task to be scheduled is sent to a task receiver so that the task receiver can schedule the completed real-time tasks to be scheduled; wherein the task receiver includes a task execution end and at least one of the subsequent processors of the task processor cascade.
2. The method according to claim 1, characterized in that The task attribute information includes a task type and a task time attribute; accordingly, selecting a current task to be scheduled from each of the real-time tasks to be scheduled according to the task attribute information of each of the real-time tasks to be scheduled includes: Selecting at least one candidate task to be scheduled from the at least one real-time task to be scheduled according to the task type of each real-time task to be scheduled; According to the task time attribute of each of the candidate tasks to be scheduled, a current task to be scheduled is selected from the candidate tasks to be scheduled.
3. The method according to claim 2, characterized in that The task type includes a hard real-time task type and a soft real-time task type. The real-time task to be scheduled corresponding to the hard real-time task type is a hard real-time task, and the real-time task to be scheduled corresponding to the soft real-time task type is a soft real-time task. Accordingly, selecting at least one candidate task to be scheduled from the at least one real-time task to be scheduled according to the task type of each real-time task to be scheduled includes: In the case where there is a hard real-time task in the at least one real-time task to be scheduled, taking each of the hard real-time tasks as a candidate task to be scheduled; When there is no hard real-time task in the at least one real-time task to be scheduled, each of the soft real-time tasks is taken as a candidate task to be scheduled.
4. The method according to claim 2, characterized in that: The task time attribute includes a start deadline; accordingly, when each of the candidate tasks to be scheduled is a hard real-time task, selecting the current task to be scheduled from each of the candidate tasks to be scheduled according to the task time attribute of each of the candidate tasks to be scheduled includes: Selecting a class of valid tasks from the candidate tasks to be scheduled according to the order relationship between the start and end times corresponding to the candidate tasks to be scheduled and the current time; In the case that there is a class of valid tasks, the class of valid tasks with the smallest first reference time difference is used as the current task to be scheduled; wherein the first reference time difference is the time difference between the start deadline and the current time; In the case that there is no valid task of a type, the process returns to the step of selecting the candidate tasks to be scheduled.
5. The method according to claim 2, characterized in that: In the case where each of the candidate tasks to be scheduled is a soft real-time task, selecting the current task to be scheduled from each of the candidate tasks to be scheduled according to the task time attribute of each of the candidate tasks to be scheduled includes: Obtaining task attribution information corresponding to the at least one real-time task to be scheduled; According to the task attribution information, selecting reference attribute information from the task time attributes; According to the task time attribute of each of the candidate tasks to be scheduled, a current task to be scheduled is selected from the candidate tasks to be scheduled.
6. The method according to claim 5, characterized in that The selecting reference attribute information from the task time attribute according to the task attribution information includes: If the task attribution information indicates that the processing requirement of the at least one real-time task to be scheduled is a first processing requirement, the task processing duration in the task time attribute is used as reference attribute information; wherein the first processing requirement is the shortest total processing duration of the real-time tasks to be scheduled; Correspondingly, selecting the current task to be scheduled from the candidate tasks to be scheduled according to the task time attributes of the candidate tasks to be scheduled includes: The candidate task to be scheduled with the shortest task processing time is used as the current task to be scheduled.
7. The method according to claim 5, characterized in that The selecting reference attribute information from the task time attribute according to the task attribution information includes: If the task attribution information indicates that the processing requirement of at least one of the real-time tasks to be scheduled is a second processing requirement, the completion deadline in the task time attribute is used as reference attribute information; wherein the second processing requirement is that among the real-time tasks to be scheduled, the soft real-time task has the largest on-time completion rate; Correspondingly, selecting the current task to be scheduled from the candidate tasks to be scheduled according to the task time attributes of the candidate tasks to be scheduled includes: Selecting two types of valid tasks from the candidate tasks to be scheduled according to the order of the completion deadlines corresponding to the candidate tasks to be scheduled and the current time; The second type of valid task with the smallest second reference time difference is used as the current task to be scheduled; wherein the second reference time difference is the time difference between the completion deadline and the current time.
8. A real-time task scheduling device, configured in a task processor, characterized in that: The device comprises: An information acquisition module, used to acquire task attribute information of at least one real-time task to be scheduled in the current batch; A task determination module, used for selecting a current task to be scheduled from each of the real-time tasks to be scheduled according to the task attribute information of each of the real-time tasks to be scheduled, and processing the current task to be scheduled; A task sending module is used to send the real-time tasks to be scheduled that have been processed to a task receiver when there are no real-time tasks to be scheduled, so that the task receiver can schedule the real-time tasks to be scheduled that have been processed; wherein the task receiver includes a task execution end and at least one of the subsequent processors of the task processor cascade.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Comprehensive embedded type real-time period task scheduling method
CN101923487A
Container adaptive division-based restrictive preemptive real-time task scheduling method
CN116107716A
Real-time task scheduling method and device for non-preemptive system
CN116438520A
Task resource dynamic adaptive scheduling method, automobile electronic physical system and automobile
CN119248457A
Data processing system
US20150095672A1