Task scheduling method and device, electronic equipment and storage medium

By receiving preset time and stability performance indicators of target tasks, the time and stability performance data of multiple preset devices are obtained, the analysis model is used for performance analysis, the current time and stability performance indicators are determined, and tasks are scheduled intelligently to the most suitable equipment, solving the problems of low resource utilization, insufficient dynamic scheduling capabilities and low task execution efficiency in the existing technology, and efficient and reliable task scheduling is achieved.

CN119806818APending Publication Date: 2025-04-11CHINA AUTOMOTIVE INNOVATION CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411858142.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

The existing distributed computing systems have shortcomings in resource utilization, dynamic scheduling capabilities and task execution efficiency, especially in heterogeneous equipment environments, which are difficult to fully utilize the advantages of equipment.

Method used

By receiving preset time and stability performance indicators of target tasks, obtaining the time and stability performance data of multiple preset devices, using an analysis model for performance analysis, determining the current time and stability performance indicators, and then intelligently dispatching tasks to the most suitable equipment.

Benefits of technology

It improves the scientificity and accuracy of task scheduling, optimizes resource use, improves resource utilization, improves task execution efficiency and reliability, and significantly improves the overall efficiency and response speed of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119806818A_ABST
    Figure CN119806818A_ABST
Patent Text Reader

Abstract

The invention relates to a task scheduling method and device, electronic equipment and a storage medium, and the method comprises the steps: receiving a target task, and obtaining preset timeliness index data and preset stability performance data of the target task; obtaining aging associated data, stability performance associated data and aging test data of each preset device in the plurality of preset devices; inputting the aging associated data into a aging performance analysis model for aging performance analysis to obtain aging analysis data; determining current aging index data based on the aging analysis data and the aging test data; inputting the stability performance associated data into a stability performance analysis model for stability performance analysis to obtain current stability performance data; and when the current timeliness index data of the first target device is greater than the preset timeliness index data and the current stability performance data of the first target device is greater than the preset stability performance data, scheduling the target task to the first target device. According to the embodiment of the invention, the task scheduling reliability can be enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a task scheduling method, device, electronic device and storage medium. Background Art

[0002] At present, most of the existing distributed computing systems are based on homogeneous devices and rely on traditional polling or least-connected scheduling algorithms for task allocation. These systems can often only schedule tasks between devices with similar performance and architecture, and it is difficult to fully utilize the advantages of heterogeneous devices. In addition, although some systems have introduced heterogeneous computing devices, their task scheduling strategies are relatively simple, resulting in insufficient resource utilization and severe restrictions on the processing efficiency of computing tasks, which leads to problems such as low resource utilization of devices, insufficient dynamic scheduling capabilities, and low task execution efficiency. Summary of the invention

[0003] The present disclosure provides a task scheduling method, device, electronic device and storage medium to at least solve the problems of low resource utilization, insufficient dynamic scheduling capability and low task execution efficiency in related technologies.

[0004] According to a first aspect of an embodiment of the present disclosure, a task scheduling method is provided, including:

[0005] Receiving a target task, and obtaining preset timeliness index data and preset stability performance data of the target task;

[0006] Acquire time-related data of each preset device among a plurality of preset devices, stability performance-related data of each preset device, and time-related test data of each preset device, wherein the time-related test data is used to indicate the time-related performance of task execution of each preset device when the load of each preset device is greater than a preset threshold;

[0007] Inputting the time-related data into a time-performance analysis model to perform time-performance analysis, and obtaining time-performance analysis data of each preset device, wherein the time-performance analysis data is used to indicate the time-performance of task execution of each preset device when each preset device is under continuous load;

[0008] Based on the aging analysis data and the aging test data, determining current aging index data of each preset device;

[0009] Inputting the stability performance associated data into a stability performance analysis model to perform stability performance analysis to obtain current stability performance data of each preset device;

[0010] When the current timeliness index data of the first target device among the multiple preset devices is greater than the preset timeliness index data, and the current stable performance data of the first target device is greater than the preset stable performance data, the target task is scheduled to the first target device.

[0011] According to a second aspect of an embodiment of the present disclosure, a task scheduling device is provided, including:

[0012] A first data acquisition module, used to receive a target task and acquire preset timeliness index data and preset stability performance data of the target task;

[0013] A second data acquisition module is used to acquire time-related data of each preset device among a plurality of preset devices, stability performance-related data of each preset device, and time-related test data of each preset device, wherein the time-related test data is used to indicate the time-related performance of task execution of each preset device when the load of each preset device is greater than a preset threshold;

[0014] A time efficiency analysis data acquisition module is used to input the time efficiency association data into a time efficiency performance analysis model to perform time efficiency performance analysis, and obtain time efficiency analysis data of each preset device, wherein the time efficiency analysis data is used to indicate the time efficiency performance of task execution of each preset device when the preset device is under continuous load;

[0015] A current aging index data acquisition module, used to determine the current aging index data of each preset device based on the aging analysis data and the aging test data;

[0016] A current stability performance data acquisition module, used for inputting the stability performance associated data into a stability performance analysis model to perform stability performance analysis, and obtaining the current stability performance data of each preset device;

[0017] A task scheduling module is used to schedule the target task to the first target device among the multiple preset devices when the current timeliness index data of the first target device is greater than the preset timeliness index data and the current stability performance data of the first target device is greater than the preset stability performance data.

[0018] According to a third aspect of an embodiment of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is used to execute the instructions to implement a method as described in any one of the above-mentioned first aspects.

[0019] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute any method described in the first aspect of the embodiment of the present disclosure.

[0020] According to a fifth aspect of an embodiment of the present disclosure, there is provided a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any one of the methods described in the first aspect of the embodiment of the present disclosure.

[0021] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:

[0022] First, obtain the preset timeliness index data of the target task regarding the timeliness requirements and the preset stability performance data regarding the stability requirements, and quantify the real-time requirements and stability requirements of the target task to help intuitively understand the performance standards required to execute the target task. Next, obtain the timeliness associated data, stability performance associated data and timeliness test data of each preset device, wherein the timeliness test data is used to indicate the timeliness performance of the task execution of each preset device when the load is greater than the preset threshold. Then, use the timeliness performance analysis model to process the timeliness associated data to obtain the timeliness analysis data used to indicate the timeliness performance of the task execution of each preset device under continuous load; based on the timeliness analysis data and the timeliness test data, determine the current timeliness index data, and then use the stability performance analysis model to process the stability performance associated data to obtain the current stability performance data, which provides a basis for task scheduling. According to the performance data of the preset device, select the most suitable first target device to execute the target task. By accurately matching the performance requirements of the target task and the capabilities of the preset equipment, the target task can be intelligently assigned to the most suitable first target device, ensuring the scientificity and accuracy of task scheduling, optimizing resource usage, and improving resource utilization, thereby improving the efficiency and reliability of task execution, significantly improving the overall efficiency and response speed of the system, and enhancing the reliability and flexibility of task scheduling.

[0023] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.

[0025] Figure 1 is a flowchart of a task scheduling method according to an exemplary embodiment;

[0026] Figure 2is a flow chart showing a process of dividing a plurality of subtasks into a plurality of target tasks according to an exemplary embodiment;

[0027] Figure 3 is a schematic diagram of a process of scheduling a target task to a second target device according to an exemplary embodiment;

[0028] Figure 4 is a schematic diagram of a process of scheduling a target task to a third target device according to an exemplary embodiment;

[0029] Figure 5 is a flowchart of another task scheduling method according to an exemplary embodiment;

[0030] Figure 6 is a block diagram of a task scheduling device according to an exemplary embodiment;

[0031] Figure 7 It is a block diagram of an electronic device for task scheduling according to an exemplary embodiment. DETAILED DESCRIPTION

[0032] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.

[0033] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar different contents, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described here can be implemented in an order other than those illustrated or described here. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the attached claims.

[0034] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for display, data for analysis, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties.

[0035] Figure 1 is a flowchart of a task scheduling method according to an exemplary embodiment. Figure 1 As shown, the task scheduling method is used in electronic devices such as servers, and includes the following steps.

[0036] In step S101, a target task is received, and preset timeliness index data and preset stability performance data of the target task are obtained.

[0037] In a specific embodiment, the target task is a currently received task. For example, the target task may be a data processing task, a file transfer task, or a complex computing task.

[0038] In a specific embodiment, the preset time efficiency index data is used to indicate the execution time efficiency requirement of the target task. Exemplarily, the preset time efficiency index data can be a numerical value reflecting the time efficiency requirement of the target task. Specifically, the numerical value is between 0 and 1, and the larger the numerical value, the higher the time efficiency requirement of the target task. Exemplarily, the preset time efficiency index data of 0.9 indicates that the target task must be responded to and executed quickly in a very short time; while the preset time efficiency index data of 0.2 indicates that the time efficiency requirement of the target task is relatively low, and it is allowed to be completed gradually within a certain time range.

[0039] In a specific embodiment, the preset stability performance data is used to indicate the execution stability requirement of the target task. Exemplarily, the preset stability performance data can be a value reflecting the stability requirement of the target task. Specifically, the value is between 0 and 1, and the larger the value, the higher the stability requirement of the target task. Exemplarily, the preset stability performance data of 0.95 indicates that the target task requires a high degree of stability during execution to avoid fluctuations or errors, while the preset stability performance data of 0.4 indicates that the stability requirement of the target task is relatively low, and a certain degree of fluctuation is allowed.

[0040] In a specific embodiment, Figure 2 As shown, the above method also includes:

[0041] In step S201 , an original task is received, where the original task includes a plurality of subtasks.

[0042] For example, on an automated production line, a series of operations such as product assembly, testing, and data recording constitute a complete original task, which can be further divided into multiple subtasks.

[0043] In step S203, the computational effort of the original task, resource indicator data of the original task, the parallel relationship of multiple subtasks, and the data dependency relationship of multiple subtasks are obtained.

[0044] In a specific embodiment, the above-mentioned computational amount is used to indicate the total amount of computational operations required to perform the original task. For example, taking the original task of high-precision image detection of products on a production line as an example, the task involves a large number of computational operations such as image data processing, feature extraction, and comparative analysis, and the sum of these operations constitutes the computational amount of the original task.

[0045] In a specific embodiment, the resource indicator data is used to indicate various resources required to perform the original task, including but not limited to memory and storage space. For example, taking the original task of inventory counting in an automated warehouse management system as an example, it requires sufficient memory to store real-time inventory data, and also requires a certain amount of storage space to back up related data records. These memory and storage space requirements constitute the resource indicator data of the original task.

[0046] In a specific embodiment, the above parallel relationship is used to indicate subtasks that can be executed in parallel. For example, in an automated assembly line, if there is no mutual restriction between the subtask of assembling certain parts of a product and the subtask of initial quality inspection that is performed at the same time, then these two subtasks have a parallel relationship and can be performed at the same time.

[0047] In a specific embodiment, the data dependency is used to indicate the dependency between subtasks, and to determine which subtasks must be executed after other subtasks are completed. For example, after the product is assembled, the functional test subtask that needs to be performed must rely on the completion of the assembly subtask. Only after the assembly is completed and the product structure is intact, can the functional test be accurately carried out.

[0048] In step S205, the plurality of subtasks are divided into a plurality of target tasks based on the computational load, resource indicator data, parallel relationship and data dependency relationship.

[0049] Take the original task of industrial intelligent monitoring and early warning system as an example. The original task includes subtasks such as data collection, data format conversion, data analysis, early warning rule setting and early warning information push. The calculation amount is used to indicate the total amount of calculation operations required to execute the original task. Specifically, the total amount of calculation operations required for the original task is composed of the accumulation of various types of calculation operations involved in analog-to-digital conversion, filtering calculation in the data collection process, feature extraction, abnormal pattern recognition in data analysis, etc., and will be affected by various factors such as the number of sensors, the amount of collected data, and the analysis accuracy requirements. Resource indicator data is used to indicate the various resources required to execute the original task. Specifically, the data collection node must ensure that a large amount of sensor data can be transmitted to the data processing center in real time, and each collection node needs to have an uplink bandwidth of more than 100Mbps; the data processing server needs 64GB of memory and multiple high-performance graphics processor resources to accelerate the calculation, and the database needs sufficient storage space to store long-term historical data. Parallel relationships are used to indicate subtasks that can be executed in parallel. Specifically, data collection and preliminary data format conversion subtasks can be carried out in parallel. Data dependency relationships are used to indicate the dependencies between subtasks. Specifically, the warning information push subtask can only be executed after the data analysis determines the abnormal situation. Accordingly, data collection and data format conversion can be divided into data acquisition and preprocessing target tasks, data analysis can be divided into data in-depth analysis target tasks, and warning rule setting and warning information push can be divided into warning management target tasks.

[0050] Take the original task of processing road conditions for autonomous vehicles as an example. The original task includes subtasks such as sensor data fusion, target recognition, path planning, and obstacle avoidance decision-making. The amount of calculation is used to indicate the total amount of calculation operations required to perform the original task. Specifically, in the sensor data fusion subtask, it is necessary to perform coordinate conversion, time synchronization, and data fusion calculations on the data collected by various sensors such as lidar, camera, and millimeter wave radar, and fuse these data from different sources and formats into a unified road condition information representation, involving complex matrix operations and data matching calculations; in the path planning subtask, according to the fused road condition information and the current state of the vehicle, a safe and reasonable driving path is planned on the map using a search algorithm, which requires a large amount of calculations on map data, obstacle information, and vehicle dynamics parameters, etc., and the amount of calculation is huge. The total amount of calculation operations required for the original task is the sum of the above-mentioned types of calculation operations. Resource indicator data is used to indicate the various resources required to perform the original task. Specifically, the vehicle computing platform requires a multi-core high-performance central processing unit and a graphics processing unit with powerful floating-point computing capabilities; in the process of high-speed data flow, fast enough memory is needed to cache sensor data and map data, etc., and large-capacity storage with fast read and write capabilities to support real-time data updates is also required. Parallel relationships are used to indicate subtasks that can be executed in parallel. Specifically, the lidar data processing and camera image data processing subtasks can be carried out in parallel, because they perceive road conditions from different angles, the data processing processes are independent of each other, and computing resources can be used at the same time to improve the overall processing efficiency. Data dependency relationships are used to indicate the dependencies between subtasks. Specifically, the obstacle avoidance decision subtask must be carried out after the sensor data fusion and target recognition subtasks are completed, because only by accurately identifying obstacles and knowing their position, speed and other information can reasonable obstacle avoidance decisions be made based on this information. Accordingly, sensor data fusion and target recognition can be divided into environmental perception target tasks, and path planning and obstacle avoidance decisions can be divided into driving decision target tasks.

[0051] Take the original task of high-definition video image intelligent processing as an example. The original task includes subtasks such as image preprocessing, target detection, target tracking and image optimization. The amount of calculation is used to indicate the total amount of calculation operations required to perform the original task. Specifically, the image denoising calculation in the image preprocessing subtask requires noise evaluation and filtering calculation for each pixel, involving calculation operations of millions of pixels; in the target detection subtask, a deep learning algorithm is used to identify targets such as people and vehicles in the image, which requires a large number of convolution calculations and feature matching calculations. For example, when searching for target objects of different scales in complex scene images, the amount of calculation increases dramatically with the increase of image complexity and the number of targets. The total amount of calculation operations required for the original task is the cumulative amount of the above-mentioned types of calculation operations. Resource indicator data is used to indicate the various resources required to perform the original task. Specifically, the video memory capacity of the graphics processing unit is a key resource indicator. When performing deep learning target detection, model loading and intermediate data storage require several GB of video memory; in the process of image preprocessing and data transmission, sufficient memory is also required to cache image data; the storage of a large number of high-definition images requires a hard disk with fast read and write, such as a solid-state drive, and the total storage capacity needs to be in TB to meet the storage requirements of long-term video images. Parallel relationships are used to indicate subtasks that can be executed in parallel. Specifically, the denoising calculations of different images in image preprocessing can be carried out in parallel, because the denoising operations between different images are independent of each other, and the parallel computing capabilities of multi-core CPUs or GPUs can be fully utilized to improve processing efficiency. Data dependency relationships are used to indicate the dependencies between subtasks. Specifically, the target tracking subtask must be performed after the target detection subtask identifies the target, because only after the initial position and features of the target are determined first can the target be tracked in subsequent frame images based on this information. Accordingly, image preprocessing and image optimization are divided into image quality improvement target tasks, and target detection and target tracking are divided into target information processing target tasks.

[0052] In the above embodiment, by accurately analyzing the data relationship and decomposing the tasks, the original task is divided into multiple target tasks, which can more reasonably allocate computing resources and storage resources, not only reducing resource waste, but also ensuring that important subtasks obtain sufficient resource support, thereby optimizing the performance of the overall task execution. By identifying the parallel relationship between subtasks, multiple subtasks can be executed simultaneously, thereby improving the overall execution efficiency. Considering the data dependency relationship between subtasks, the task execution order can be effectively arranged, dependency conflicts in the data processing process can be avoided, and the stability and reliability of task execution can be improved.

[0053] In step S103, the time-related data of each preset device, the stability performance related data of each preset device and the time-related test data of each preset device are obtained.

[0054] In a specific embodiment, the above-mentioned time-related data is data reflecting the execution time of each preset device when each preset device is under continuous load. The above-mentioned stability performance-related data is data reflecting the execution stability of each preset device when the load change frequency of each preset device is greater than the preset frequency. The above-mentioned time-related test data is used to indicate the task execution time performance of each preset device when the load of each preset device is greater than the preset threshold.

[0055] Specifically, the situation where each preset device is under continuous load means that each preset device has a task running continuously. For example, in a modern automobile manufacturing factory assembly line, during the production process, the programmable logic controller needs to continuously monitor sensor data (such as position, temperature, pressure and other information) and control actuators such as motors and solenoid valves in real time according to preset logic rules. Since the production line is continuously running, the programmable logic controller must maintain stable operation, process a large amount of data and issue control instructions all the time to ensure efficient and accurate production. This situation belongs to the continuous load state.

[0056] Specifically, the situation where the load change frequency of each preset device is greater than the preset frequency is the situation where the load change frequency of each preset device is fast. For example, in the intelligent monitoring system of a petrochemical plant, the data analysis device is responsible for real-time analysis of data from various sensors (such as temperature sensors, pressure sensors, and gas leakage sensors, etc.) to detect potential safety hazards and equipment failures. Under normal production conditions, the load of the data analysis device is relatively stable, and the sensor data is collected and analyzed at certain time intervals. However, when an abnormal situation occurs in a certain area of ​​the factory, such as a sudden increase in the temperature of a reactor or a sign of gas leakage, the sensors in the area will send a large amount of abnormal data, and the load of the data analysis device will rise rapidly. It is necessary to immediately conduct more intensive and in-depth analysis of these data to determine the nature and scope of the abnormality and issue an alarm in time. Once the abnormal situation is handled, the data returns to normal, and the load of the data analysis device will drop rapidly again. If the number of times the load rises and falls rapidly due to abnormal conditions exceeds the preset frequency over a period of time, it means that the load change frequency of the data analysis device is fast.

[0057] Specifically, the situation where the load of each preset device is greater than the second preset threshold is the situation where the load of each preset device is large. For example, in the automobile manufacturing industry system, the intelligent monitoring system of the paint shop needs to monitor many parameters such as temperature, humidity, paint flow and spray gun pressure in the paint shop in real time, and dynamically adjust these parameters according to the painting process requirements of different models. During the peak season of automobile production, when multiple models are mixed in production, the monitoring system faces a huge amount of data processing tasks. It has to process data from hundreds of sensors at the same time, and perform complex calculations and decisions based on these data every second to determine whether the painting parameters need to be adjusted and how to adjust them. At this time, the utilization rate of its central processing unit is as high as 95% due to continuous computing tasks, and the utilization rate of memory reaches 90%, which is far higher than the normal level, indicating that the intelligent monitoring system is under heavy load.

[0058] In a specific embodiment, the aging test data of each of the above-mentioned preset devices is determined in the following manner:

[0059] Generate multiple preset test tasks based on preset task type, preset task quantity and preset task generation tool;

[0060] Running a plurality of preset test tasks on each preset device, and obtaining second response delay data, central processing unit utilization rate, and memory utilization rate of the plurality of preset test tasks during the running process of each preset device;

[0061] Repeat the steps of generating multiple preset test tasks based on the preset task type, the preset task quantity and the preset task generation tool, until the load performance test step of obtaining the second response delay data, the CPU usage rate and the memory usage rate of the multiple preset test tasks during the operation of each preset device is completed, until the execution number of the load performance test step reaches the preset number;

[0062] Based on the second response delay data, CPU usage and memory usage in the load performance test step of a preset number of times, determine the average response delay data, the maximum response delay data, the response delay variance, the average CPU usage and the average memory usage;

[0063] Based on the average response delay data, the maximum response delay data, the response delay variance, the average CPU usage, the average memory usage and the preset parameters, the timeliness test data of each preset device is determined.

[0064] In a specific embodiment, the preset task types may be CPU-intensive tasks (tasks that mainly consume CPU resources), memory-intensive tasks (tasks that mainly consume memory resources), high-concurrency tasks (tasks that run continuously), etc. In a specific embodiment, the preset task generation tool may be a tool for generating test tasks.

[0065] In a specific embodiment, the generating of multiple preset test tasks based on preset task types, preset task quantities and preset task generation tools may include: generating a preset number of tasks according to the preset task types using the preset task generation tool.

[0066] In a specific embodiment, the second response delay data may be the time from sending the task request to receiving the task result. The CPU usage rate may be the proportion of time that the CPU is occupied by task calculation within a certain period of time. The memory usage rate may be the proportion of system memory resources occupied.

[0067] In a specific embodiment, the above-mentioned determination of the timeliness test data of each preset device based on the average response delay data, the maximum response delay data, the response delay variance, the average CPU usage rate, the average memory usage rate and the preset parameters may include: based on Formula to determine the aging test data, where RS is the aging test data, AR is the average response delay data, MR is the maximum response delay data, Var is the response delay variance, and CPU avg is the average CPU usage, Mem avg is the average memory usage, C 1 , C 2 , C 3 , C 4 and C 5 is the preset weight, C 1 and C 2 It can be adjusted according to the sensitivity of the target task to the response time. If the response time is very sensitive, C can be increased. 1 and C 2 The value of C will increase the impact of the average response delay data and the maximum response delay data on the timeliness test data. 3 Adjust according to the demand for stability of response time. If the stability requirement for response delay is high, then C 3 The value of should be larger, and the negative impact of response delay variance on the aging test data will be more significant; C 4 and C 5 Adjust according to resource scarcity and cost. If CPU or memory resources are scarce or costly, increase C accordingly. 4and C 5 , the negative impact of the average CPU usage rate and the average memory usage rate on the time efficiency test data will be enhanced. Specifically, when RS is greater than 0, the positive contribution of the average response delay data and the maximum response delay data to the results exceeds the negative impact of the response delay variance, the average CPU usage rate, and the average memory usage rate. This shows that the device performs relatively well in terms of response time, that is, the device responds to tasks faster, that is, the positive impact of response time on time efficiency performance is dominant. When RS is less than 0, the negative impact of the response delay variance, the average CPU usage rate, and the average memory usage rate exceeds the positive contribution of the average response delay data and the maximum response delay data to the results. This means that the device has problems in terms of resource utilization efficiency and response delay stability, which leads to these negative factors dominating in the comprehensive evaluation, making the time efficiency test data negative, and also means that the device still has a large room for optimization in various performance indicators. When RS is equal to 0, the positive contribution of the average response delay data and the maximum response delay data just offsets the negative impact of the response delay variance, the average CPU usage rate, and the average memory usage rate. This means that the device has reached a critical state between response time performance, resource utilization efficiency, and response delay stability. It has neither a clear advantage in response speed nor a clear disadvantage due to excessive resource occupation or large fluctuations in response delay. This also means that the device still has room for optimization in various performance indicators.

[0068] Exemplarily, a high-performance server is selected as the preset device. Three preset task types are selected, namely CPU-intensive tasks, memory-intensive tasks and high-concurrency tasks. Each task type is set to generate 100 preset test tasks. For CPU-intensive tasks, for example, a complex mathematical calculation task is designed, such as multiplying a large matrix to consume a large amount of CPU resources; for memory-intensive tasks, a large number of arrays are created and frequently read and written to them; high-concurrency tasks simulate a large number of users accessing a simple web application at the same time and continuously sending requests. According to the CPU-intensive task type, 100 matrix multiplication calculation tasks are generated using the preset task generation tool, and the matrix size of each task is set to 1000×1000. For memory-intensive tasks, 100 tasks for creating and operating large arrays are generated, each array contains 1 million elements, and random read and write operations are performed. For high-concurrency tasks, the preset task generation tool is configured to simulate 100 users sending requests to a complex HTML page at the same time. The page contains a lot of pictures and text information, simulating high-traffic network access. Run these 300 preset test tasks on the server, and use the performance monitoring tool to obtain the second response delay data, CPU usage and memory usage of each task during the operation. Repeat the above load performance test steps to generate multiple preset test tasks based on the preset task type, preset task quantity and preset task generation tool to obtain relevant data. Set the preset number of times to 5 times, that is, a total of 5 complete rounds of testing. In each round of testing, 300 tasks are regenerated and run to collect data to ensure the accuracy and reliability of the data and eliminate the influence of accidental factors. Based on the data in these 5 load performance test steps, the average response delay data is calculated, and the average response delay data is 0.5 seconds, the maximum response delay data is 0.8 seconds of response delay, the response delay variance is 0.0001, the average CPU usage is 40%, and the average memory usage is 30%. According to the settings of C1=0.3, C2=0.2, C3=0.1, C4=0.2, C5=0.2, and substituting the above data into the formula, the timeliness test data is calculated to be 0.70999, indicating that under the current data and weights, the positive contribution of the device in response time exceeds the negative impact of resource utilization and response delay variance, and the device timeliness performance is good.

[0069] In the above embodiment, by executing multiple test tasks on the preset device and collecting data on response delay, CPU usage and memory usage, the time efficiency performance of each preset device under high load can be accurately evaluated. Based on the performance data obtained from the test, the task scheduling process can be optimized so that the task scheduling decision is based on the actual performance data of the preset device, which improves the accuracy and objectivity of the decision, thereby improving the efficiency and success rate of task execution. In addition, through regular performance testing, the status and performance of the preset device can be monitored, potential hardware failures or configuration problems can be discovered in advance, and the preset device with degraded performance can be identified in real time, and the preset device can be maintained and optimized to ensure the stability and reliability of the system.

[0070] In step S105, the time-related data is input into the time-performance analysis model to perform time-performance analysis, and the time-performance analysis data of each preset device is obtained.

[0071] In a specific embodiment, the above-mentioned time efficiency analysis data is used to indicate the time efficiency performance of task execution of each preset device when each preset device is under continuous load. Specifically, the time efficiency analysis data is between 0 and 1, and the larger the value, the better the time efficiency performance of task execution of the corresponding preset device under continuous load.

[0072] In a specific embodiment, the above-mentioned time-related data includes task feature data of historical tasks executed by each preset device, task execution data of historical tasks, first response delay data of historical tasks and current device resource usage data of each preset device.

[0073] Exemplarily, historical tasks may be tasks that have been run by each preset device during a period of time when tasks are continuously run. Task feature data may be task size and task features. Task execution data may be the time when tasks are actually processed on each device. First response delay data may be the time from sending a task request to receiving a task result. Current device resource usage data includes, but is not limited to, the current CPU usage rate of each device and the current memory usage rate of each device.

[0074] Specifically, the above-mentioned time-efficiency performance analysis model is a deep learning network for time-efficiency performance analysis. In an optional embodiment, the above-mentioned time-efficiency performance analysis model can be trained based on multiple groups of sample time-efficiency association data and time-efficiency analysis data corresponding to each group of time-efficiency association data.

[0075] In a specific embodiment, based on multiple groups of sample time-effect association data, performing time-effect performance analysis training on the time-effect performance analysis model to be trained to obtain a preset time-effect performance analysis model may include: determining current sample time-effect association data from multiple groups of sample time-effect association data, inputting the current sample time-effect association data into the time-effect performance analysis model to be trained to perform time-effect performance analysis to obtain sample time-effect analysis data; determining performance analysis loss based on the sample time-effect analysis data and the preset time-effect analysis data; and training the time-effect performance analysis model to be trained based on the performance analysis loss to obtain a preset time-effect performance analysis model.

[0076] In a specific embodiment, the current sample time-effect association data may be the training data of the current training cycle (part of the sample time-effect association data). Specifically, the current sample time-effect association data may be randomly determined from multiple groups of sample time-effect association data, or part of the sample time-effect association data that does not participate in the model training may be randomly selected from multiple groups of sample time-effect association data as the current time-effect association data; any sample time-effect analysis data may be used to indicate the current time-effect performance of the corresponding preset device.

[0077] In a specific embodiment, determining the performance analysis loss based on the sample time-efficiency analysis data and the preset time-efficiency analysis data may include: determining the performance analysis loss between the sample time-efficiency analysis data and the preset time-efficiency analysis data in combination with a preset loss function; specifically, the performance analysis loss may characterize the time-efficiency performance analysis performance of the current time-efficiency performance analysis model to be trained. Specifically, the preset loss function may be set in combination with actual applications.

[0078] In a specific embodiment, based on the performance analysis loss, training the time-effect performance analysis model to be trained to obtain the preset time-effect performance analysis model may include: combining the gradient descent method and the performance analysis loss, updating the model parameters of the time-effect performance analysis model to be trained, and based on the updated time-effect performance analysis model to be trained, repeating the above-mentioned cyclic iterative operation of determining the current sample time-effect associated data from multiple groups of time-effect associated data to updating the model parameters of the time-effect performance analysis model to be trained until the preset convergence condition is met, and the time-effect performance analysis model to be trained corresponding to the preset convergence condition is set as the preset time-effect performance analysis model.

[0079] In a specific embodiment, satisfying the preset convergence conditions can be set in combination with actual applications, for example, the number of executions of the loop iteration operation reaches a preset number, the performance analysis loss is less than a specified threshold, etc., and can be set specifically in combination with the training speed and model accuracy requirements.

[0080] In a specific embodiment, the above-mentioned inputting the time-related data into the time-performance analysis model to perform time-performance analysis to obtain the time-performance analysis data of each preset device includes:

[0081] The task characteristic data, task execution data, first response delay data and current equipment resource usage data are input into the timeliness performance analysis model to perform timeliness performance analysis and obtain timeliness analysis data.

[0082] In the above embodiment, the task feature data, task execution data, first response delay data and current device resource usage data are input into the timeliness performance analysis model for timeliness performance analysis to obtain timeliness analysis data, which can accurately evaluate the timeliness performance of the preset device, provide a decision basis for the subsequent determination of the first target device among multiple preset devices, improve the accuracy of task scheduling decisions, and thus maximize resource utilization efficiency and optimize task execution effects. And through the timeliness analysis data, it is possible to identify in advance the preset devices with potential performance bottlenecks and failure risks, so as to take preventive measures and improve the operating efficiency of the preset devices.

[0083] In step S107, current aging index data of each preset device is determined based on the aging analysis data and the aging test data.

[0084] In a specific embodiment, the current timeliness index data is used to indicate the timeliness performance of task execution of each preset device. Specifically, the larger the current timeliness index data is, the better the timeliness performance of task execution of the corresponding preset device is.

[0085] In a specific embodiment, the above-mentioned determination of the current aging index data of each preset device based on the aging analysis data and the aging test data may include: based on the current aging index data = C 6 *Time analysis data + C 7 *Aging test data formula is calculated, where C 6 is the weight corresponding to the time-efficiency analysis data, C 7 is the weight corresponding to the aging test data.

[0086] In step S109, the stability performance associated data is input into a stability performance analysis model to perform stability performance analysis, and the current stability performance data of each preset device is obtained.

[0087] In a specific embodiment, the current stability performance data is used to indicate the task execution stability performance of each preset device. Specifically, the current stability performance data is between 0 and 1, and the larger the value, the better the task execution stability performance of the corresponding preset device.

[0088] In a specific embodiment, the above-mentioned stability performance associated data includes device abnormality data of each preset device, device operation data of each preset device, task failure rate of each preset device and historical device resource usage data of each preset device.

[0089] In a specific embodiment, the specific refinement of the above-mentioned training stability performance analysis model can refer to the above-mentioned training time-effectiveness performance analysis model, which will not be repeated here.

[0090] In a specific embodiment, the above-mentioned inputting the stability performance associated data into the stability performance analysis model to perform stability performance analysis to obtain the current stability performance data of each preset device includes:

[0091] The equipment abnormality data, equipment operation data, task failure rate and historical equipment resource usage data are input into the stability performance analysis model for stability performance analysis to obtain the current stability performance data.

[0092] In a specific embodiment, the device abnormality data may be the number of abnormalities of a preset device. Exemplarily, the number of abnormalities may be the number of abnormalities such as task execution timeout and failure. The device operation data may be the operation time of the preset device. The task failure rate may be the proportion of failed tasks to the total tasks. The historical device resource usage data includes but is not limited to the CPU usage and memory usage of the preset device within a preset time period.

[0093] In the above embodiment, by integrating equipment abnormality data, equipment operation data, task failure rate and historical equipment resource usage data, the stability of the preset equipment can be more comprehensively evaluated, so that the stability performance analysis is not only based on a single indicator, but multi-dimensional data support, thereby improving the accuracy of decision-making, so that the first target equipment suitable for executing the target task can be selected more accurately, the task allocation strategy can be optimized, and the efficiency and success rate of task execution can be improved. In addition, the potential abnormalities and failure modes of the equipment can be identified, helping to carry out preventive maintenance in advance and reduce sudden equipment failures.

[0094] In step S111, when the current timeliness index data of the first target device among multiple preset devices is greater than the preset timeliness index data and the current stable performance data of the first target device is greater than the preset stable performance data, the target task is scheduled to the first target device.

[0095] In a specific embodiment, Figure 3 As shown, when the current aging index data of each preset device is less than or equal to the preset aging index data, the above method further includes:

[0096] In step S301, at least one first preset device whose corresponding current stable performance data is greater than preset stable performance data is determined from a plurality of preset devices.

[0097] In step S303, based on the current stable performance data corresponding to each of the at least one first preset devices, a second target device is determined from the at least one first preset device, and the target task is scheduled to the second target device.

[0098] In a specific embodiment, the above-mentioned determining a second target device from at least one first preset device based on the current stable performance data corresponding to each of the at least one first preset devices, and scheduling the target task to the second target device may include: selecting a second target device with the best current stable performance data from at least one first preset device, and scheduling the target task to the second target device.

[0099] In the above embodiment, when the current timeliness index data of each preset device does not meet the preset timeliness index data, the current stable performance data of the preset device is further considered to ensure that at least one preset device is reliable in terms of stable performance, thereby enhancing the pertinence and efficiency of task scheduling, ensuring that the target task is reasonably allocated to the second target device that can meet its performance requirements to the greatest extent, enhancing the adaptability and flexibility of task scheduling, and improving the success rate of task execution.

[0100] In a specific embodiment, Figure 4 As shown, in the case where the current stable performance data of each preset device is less than or equal to the preset stable performance data, the above method further includes:

[0101] In step S401, at least one second preset device whose corresponding current aging index data is greater than the preset aging index data is determined from a plurality of preset devices.

[0102] In step S403, based on the current effectiveness indicator data corresponding to each of the at least one second preset devices, a third target device is determined from the at least one second preset device, and the target task is scheduled to the third target device.

[0103] In a specific embodiment, the above-mentioned determining a third target device from at least one second preset device based on the current timeliness index data corresponding to each of the at least one second preset devices, and scheduling the target task to the third target device may include: selecting a third target device with the best current timeliness index data from at least one second preset device, and scheduling the target task to the third target device.

[0104] In the above embodiment, when the current stable performance data of each preset device does not meet the preset time index data, the current time index data of the preset device is further considered to ensure that the time performance of at least one preset device meets the requirements, thereby ensuring the continuity and stability of task scheduling, effectively reducing task delays or failures caused by insufficient performance of the preset device, improving overall operational efficiency and response speed, and improving the reliability and flexibility of the system when facing equipment performance fluctuations.

[0105] In actual applications, when the current timeliness index data of each preset device is less than or equal to the preset timeliness index data, and the current stability performance data is less than or equal to the preset stability performance data, a fourth target device with the best current timeliness index data and current stability performance data is selected from multiple preset devices, and the target task is scheduled to the fourth target device.

[0106] In a specific embodiment, during the process of executing the target task on the first target device, Figure 5 As shown, the above method also includes:

[0107] In step S501, load data of a first target device within a preset period, operation data of the first target device within a preset period, and resource usage data of the first target device within a preset period are acquired.

[0108] In a specific embodiment, the load data may represent the number of tasks, the operation data may represent the completion of tasks, and the resource usage data may represent the usage rate of a central processing unit and the memory usage rate.

[0109] In step S503, device operation information of the first target device is determined based on the load data, the operation data and the resource usage data.

[0110] When the device operation information indicates that the first target device is abnormal, the process jumps to step 103 of acquiring time-related data of each preset device in a plurality of preset devices, stable performance related data of each preset device, and time-related test data of each preset device.

[0111] Exemplarily, in an industrial automated chemical production process monitoring system, the first target device is a data acquisition and preprocessing module, which is responsible for real-time acquisition of sensor data (including temperature sensors, pressure sensors, flow sensors, etc.) distributed at various key positions on the chemical production line, and performs preliminary processing. These sensors generate a large amount of data per second. Within a preset cycle of 3 seconds, when certain chemical reactions are in a critical stage, multiple sensors (such as temperature and pressure sensors) will send a large amount of data at the same time, and the actual amount of data to be processed will instantly rise from the normal 900KB to 1800KB, and when the chemical reaction enters a relatively stable stage, the amount of data processed every 3 seconds will fall back to about 900-1200KB. Within the preset cycle of 3 seconds, due to the continued existence of network congestion problems, the proportion of data acquisition task delays has risen to 10% (exceeding the normal acceptable threshold). When the amount of data is relatively stable, the CPU utilization rate is 30% on average, and at the peak of data, the CPU utilization rate will rise rapidly to 90%. The memory utilization rate is about 40% on average, and when a large amount of data is simultaneously influx, the memory utilization rate will rise to 80%. The above data indicates that the device operation information indicates that the first target device is abnormal. At this time, the process jumps to the step of obtaining the time-related data of each preset device in the plurality of preset devices, the stability performance related data of each preset device, and the time-related test data of each preset device, and re-determines the first target device.

[0112] In the above embodiment, by acquiring the load data, operation data and resource usage data of the first target device in real time, and monitoring the operation status and performance of the first target device in real time, it is possible to respond quickly when the load fluctuates or the device fails, thereby ensuring the efficiency and stability of the system. When it is found that the first target device cannot meet the preset index data of the target task, the target task can be dispatched to other preset devices that meet its preset index data in a timely manner, thereby ensuring the efficient execution of the task and the stable and efficient operation of the system, and significantly improving the computing efficiency and response capability of the system.

[0113] According to another aspect of an embodiment of the present disclosure, a heterogeneous device collaborative computing system is also provided, which may include: a task management module, a task scheduling module, a data storage module, a network communication module and a plurality of preset devices.

[0114] Specifically, another task scheduling method may include:

[0115] The task management module receives an original task including multiple subtasks, obtains the computational amount of the original task, resource indicator data of the original task, the parallel relationship of the multiple subtasks, and the data dependency relationship of the multiple subtasks; divides the multiple subtasks into multiple target tasks based on the computational amount, resource indicator data, parallel relationship, and data dependency relationship; and transmits the multiple target tasks to the task scheduling module;

[0116] A task scheduling module receives a target task, obtains preset timeliness index data and preset stability performance data of the target task; obtains timeliness association data of each preset device among multiple preset devices, stability performance association data of each preset device, and timeliness test data of each preset device; inputs the timeliness association data into a timeliness performance analysis model to perform timeliness performance analysis, and obtains timeliness analysis data of each preset device; determines current timeliness index data of each preset device based on the timeliness analysis data and the timeliness test data; inputs the stability performance association data into a stability performance analysis model to perform stability performance analysis, and obtains current stability performance data of each preset device; when the current timeliness index data of a first target device among multiple preset devices is greater than the preset timeliness index data, and the current stability performance data of the first target device is greater than the preset stability performance data, the target task is scheduled to the first target device through the network communication module;

[0117] The first target device, after receiving the task, obtains the required input data from the data storage module through the network communication module; after the task is executed, the execution result, execution time and resource consumption information are transmitted back to the task management module through the network communication module using encryption, data verification and transport layer security protocol and other technologies;

[0118] The task management module stores information such as execution results, execution time, and resource consumption in the data storage module, updates the task status, and notifies the user or other system components of the results for subsequent processing.

[0119] In a specific embodiment, multi-mode network communication technology is used to build a unified data communication link for a variety of preset devices through a unified network programming model, thereby realizing efficient distributed data transmission capabilities of preset devices. By building a unified network programming model, the differences in the underlying network are shielded. This model provides a set of standardized API interfaces, so that developers can program on an abstract layer without having to worry about the specific network type, data protocol or differences in terminal devices. This model supports multiple transmission protocols and can automatically adapt to different network environments. Multi-mode network communication technology includes a flexible communication protocol stack that can select and switch to different communication protocols according to actual conditions. For example, when switching between Wi-Fi and cellular networks, the optimal transmission protocol can be automatically selected to ensure reliable data transmission. The protocol stack also supports hybrid transmission modes to utilize multiple network paths at the same time to improve the efficiency and reliability of data transmission.

[0120] Specifically, the network communication module plays a core bridge role in data transmission in the distributed subsystem layer. The heterogeneous device collaborative computing system needs to distribute and execute computing tasks among multiple preset devices, which may be distributed on different physical devices. To achieve this goal, the network communication module must be able to efficiently transmit the data of computing tasks between these devices, including input data, processing intermediate data, and the final calculation results. The network communication module is responsible for transmitting control signals, such as task allocation instructions, status monitoring commands, and resource management strategies. These control information ensures that the collaboration between the devices in the system is seamless. For example, after a device completes part of the computing task, the system can pass the task to the next suitable device through control information to continue processing.

[0121] In a specific embodiment, the data storage module is a distributed storage system or database that can store various data required during task execution. These data include task input data, model parameters, configuration files, historical data, etc. The data storage module supports high concurrent access and can provide data reading services for multiple preset devices at the same time. In order to ensure data consistency and availability, the data storage module also supports technologies such as data replication, caching, and sharding. In some tasks, when data needs to be read or written by multiple preset devices at the same time, in order to maintain data consistency, the data storage module needs to support concurrency control and transaction management mechanisms. When data needs to be modified during task execution, the data storage module will use technologies such as distributed locks, version control, or optimistic concurrency control to ensure that data access between multiple tasks does not conflict.

[0122] In a specific embodiment, when the task management module writes the result data to the data storage module, it needs to determine the appropriate storage location, which will involve mechanisms such as data sharding and distributed writing to improve the performance and scalability of data storage; to facilitate future queries and retrievals, the result data will be stored together with metadata. The data storage module will generate indexes for the result data to speed up subsequent data retrieval and access; in order to prevent data loss and ensure data consistency, the data storage module will adopt strategies such as multi-copy storage, snapshots, and off-site backup.

[0123] In a specific embodiment, the task scheduling module is not fixed. When a task scheduling module fails, a new task scheduling module will complete the master-slave device switch and continue to perform task scheduling instead of the original task scheduling module.

[0124] In a specific embodiment, a single point of failure is solved based on the state service middleware. Task scheduling related data is placed in the state service middleware. The multi-copy feature of the state service middleware makes the metadata highly available, which can effectively solve the problem of data loss caused by single point failure.

[0125] Figure 6 is a block diagram of a task scheduling device according to an exemplary embodiment. Figure 6 , the device comprises:

[0126] The first data acquisition module 610 is used to receive a target task and acquire preset timeliness index data and preset stability performance data of the target task;

[0127] The second data acquisition module 620 is used to acquire the time-related data of each preset device in the plurality of preset devices, the stability performance related data of each preset device and the time-related test data of each preset device;

[0128] The time-efficiency analysis data acquisition module 630 is used to input the time-efficiency related data into the time-efficiency performance analysis model to perform time-efficiency performance analysis and obtain the time-efficiency analysis data of each preset device;

[0129] The current aging index data acquisition module 640 is used to determine the current aging index data of each preset device based on the aging analysis data and the aging test data;

[0130] The current stability performance data acquisition module 650 is used to input the stability performance associated data into the stability performance analysis model to perform stability performance analysis and obtain the current stability performance data of each preset device;

[0131] The task scheduling module 660 is used to schedule the target task to the first target device among multiple preset devices when the current timeliness index data of the first target device is greater than the preset timeliness index data and the current stable performance data of the first target device is greater than the preset stable performance data.

[0132] In an optional embodiment, the above-mentioned aging analysis data acquisition module 630 includes:

[0133] The time efficiency analysis data acquisition unit is used to input task feature data, task execution data, first response delay data and current equipment resource usage data into the time efficiency performance analysis model to perform time efficiency performance analysis and obtain time efficiency analysis data.

[0134] In an optional embodiment, the aging test data of each of the above-mentioned preset devices is determined using the following modules:

[0135] A preset test task generation module, used to generate multiple preset test tasks based on the preset task type, the preset task quantity and the preset task generation tool;

[0136] A first test data acquisition module is used to run a plurality of preset test tasks on each preset device, and obtain second response delay data, CPU usage rate and memory usage rate of the plurality of preset test tasks during the running process of each preset device;

[0137] Repeat the preset test task generation module to the load performance test step of the first test data acquisition module until the execution number of the load performance test step reaches the preset number of times;

[0138] A second test data acquisition module is used to determine average response delay data, maximum response delay data, response delay variance, average CPU usage rate and average memory usage rate based on the second response delay data, CPU usage rate and memory usage rate in the load performance test step of a preset number of times;

[0139] The timeliness test data acquisition module is used to determine the timeliness test data of each preset device based on the average response delay data, the maximum response delay data, the response delay variance, the average CPU usage rate, the average memory usage rate and the preset parameters.

[0140] In an optional embodiment, the current stability performance data acquisition module 650 includes:

[0141] The current stability performance data acquisition unit is used to input equipment abnormality data, equipment operation data, task failure rate and historical equipment resource usage data into the stability performance analysis model to perform stability performance analysis and obtain current stability performance data.

[0142] In an optional embodiment, during the process of the first target device performing the target task, the apparatus further includes:

[0143] A device data acquisition module, used to acquire load data of a first target device within a preset period, operation data of the first target device within a preset period, and resource usage data of the first target device within a preset period;

[0144] A device operation information acquisition module, used to determine the device operation information of the first target device based on the load data, the operation data and the resource usage data;

[0145] When the device operation information indicates that an abnormality occurs in the first target device, the process jumps to the second data acquisition module 620 .

[0146] In an optional embodiment, the above device further includes:

[0147] The original task acquisition module is used to receive the original task, which includes multiple subtasks;

[0148] The task data acquisition module is used to obtain the computational amount of the original task, the resource indicator data of the original task, the parallel relationship of multiple subtasks, and the data dependency relationship of multiple subtasks;

[0149] The target task acquisition module is used to divide multiple subtasks into multiple target tasks based on the computing amount, resource indicator data, parallel relationship and data dependency.

[0150] In an optional embodiment, when the current timeliness index data of each preset device is less than or equal to the preset timeliness index data, the above-mentioned apparatus further includes:

[0151] A first preset device acquisition module, used to determine at least one first preset device whose corresponding current stable performance data is greater than preset stable performance data from a plurality of preset devices;

[0152] The second target device acquisition module is used to determine the second target device from at least one first preset device based on the current stable performance data corresponding to each of the at least one first preset devices, and schedule the target task to the second target device.

[0153] In an optional embodiment, when the current stable performance data of each preset device is less than or equal to the preset stable performance data, the apparatus further includes:

[0154] A second preset device acquisition module, used to determine at least one second preset device whose corresponding current aging index data is greater than the preset aging index data from a plurality of preset devices;

[0155] The third target device acquisition module is used to determine the third target device from at least one second preset device based on the current timeliness index data corresponding to each of the at least one second preset devices, and schedule the target task to the third target device.

[0156] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0157] Figure 7 is a block diagram of an electronic device for task scheduling according to an exemplary embodiment. The electronic device may be a server, and its internal structure diagram may be as shown in FIG. Figure 7As shown. The electronic device includes a processor, a memory, a network interface, a display screen and an input device connected through a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic 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 network interface of the electronic device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a task scheduling method is implemented. The display screen of the electronic device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device can be a touch layer covering the display screen, or a key, trackball or touchpad set on the housing of the electronic device, or an external keyboard, touchpad or mouse, etc.

[0158] Those skilled in the art will understand that Figure 7 The structure shown in the figure is merely a block diagram of a partial structure related to the scheme of the present disclosure, and does not constitute a limitation on the electronic device to which the scheme of the present disclosure is applied. The specific electronic device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0159] In an exemplary embodiment, an electronic device is also provided, including: a processor; and a memory for storing instructions executable by the processor; wherein the processor is used to execute the instructions to implement the task scheduling method in the embodiment of the present disclosure.

[0160] In an exemplary embodiment, a computer-readable storage medium is also provided. When instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the task scheduling method in the embodiment of the present disclosure.

[0161] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.

[0162] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A task scheduling method, characterized in that: include: Receiving a target task, and obtaining preset timeliness index data and preset stability performance data of the target task; Acquire time-related data of each preset device among a plurality of preset devices, stability performance-related data of each preset device, and time-related test data of each preset device, wherein the time-related test data is used to indicate the time-related performance of task execution of each preset device when the load of each preset device is greater than a preset threshold; Inputting the time-related data into a time-performance analysis model to perform time-performance analysis, and obtaining time-performance analysis data of each preset device, wherein the time-performance analysis data is used to indicate the time-performance of task execution of each preset device when each preset device is under continuous load; Based on the aging analysis data and the aging test data, determining current aging index data of each preset device; Inputting the stability performance associated data into a stability performance analysis model to perform stability performance analysis to obtain current stability performance data of each preset device; When the current timeliness index data of the first target device among the multiple preset devices is greater than the preset timeliness index data, and the current stable performance data of the first target device is greater than the preset stable performance data, the target task is scheduled to the first target device.

2. The method according to claim 1, characterized in that: The time-related data includes task feature data of historical tasks executed by each preset device, task execution data of the historical tasks, first response delay data of the historical tasks and current device resource usage data of each preset device; The inputting the time-related data into the time-performance analysis model to perform time-performance analysis to obtain the time-performance analysis data of each preset device includes: The task characteristic data, the task execution data, the first response delay data and the current device resource usage data are input into the time efficiency performance analysis model to perform time efficiency performance analysis to obtain the time efficiency analysis data.

3. The method according to claim 1, characterized in that: The aging test data of each preset device is determined in the following manner: Generate multiple preset test tasks based on preset task type, preset task quantity and preset task generation tool; Run the plurality of preset test tasks on each of the preset devices, and obtain second response delay data, CPU usage rate, and memory usage rate of the plurality of preset test tasks during the running of the plurality of preset test tasks on each of the preset devices; Repeat the steps of generating multiple preset test tasks based on the preset task type, the preset task quantity and the preset task generation tool, until the load performance test step of obtaining the second response delay data, the CPU usage rate and the memory usage rate of the multiple preset test tasks during the operation of each preset device, until the execution number of the load performance test step reaches the preset number of times; Based on the second response delay data, the CPU usage rate and the memory usage rate in the load performance test step of the preset number of times, determine the average response delay data, the maximum response delay data, the response delay variance, the average CPU usage rate and the average memory usage rate; Based on the average response delay data, the maximum response delay data, the response delay variance, the CPU usage average value, the memory usage average value and preset parameters, the aging test data of each preset device is determined.

4. The method according to claim 1, characterized in that: The stability performance associated data includes device abnormality data of each preset device, device operation data of each preset device, task failure rate of each preset device and historical device resource usage data of each preset device. The inputting of the stability performance associated data into the stability performance analysis model for stability performance analysis to obtain the current stability performance data of each preset device includes: The device abnormality data, the device operation data, the task failure rate and the historical device resource usage data are input into the stability performance analysis model to perform stability performance analysis to obtain the current stability performance data.

5. The method according to claim 1, characterized in that: During the process of the first target device executing the target task, the method further includes: Acquire load data of the first target device within a preset period, operation data of the first target device within the preset period, and resource usage data of the first target device within the preset period; Determining device operation information of the first target device based on the load data, the operation data, and the resource usage data; When the device operation information indicates that the first target device is abnormal, jump to the step of obtaining the time-related data of each preset device in multiple preset devices, the stability performance related data of each preset device and the time-related test data of each preset device.

6. The method according to claim 1, characterized in that: The method further comprises: Receiving an original task, wherein the original task includes a plurality of subtasks; Acquire the computational amount of the original task, resource indicator data of the original task, the parallel relationship of the multiple subtasks, and the data dependency relationship of the multiple subtasks; Based on the computational workload, the resource indicator data, the parallel relationship, and the data dependency relationship, the plurality of subtasks are divided into a plurality of target tasks.

7. The method according to claim 1, characterized in that: In the case where the current aging index data of each preset device is less than or equal to the preset aging index data, the method further includes: From the plurality of preset devices, determine at least one first preset device corresponding to which the current stable performance data is greater than the preset stable performance data; Based on the current stable performance data corresponding to each of the at least one first preset devices, a second target device is determined from the at least one first preset device, and the target task is scheduled to the second target device.

8. The method according to claim 1, characterized in that: In a case where the current stable performance data of each preset device is less than or equal to the preset stable performance data, the method further includes: From the plurality of preset devices, determine at least one second preset device corresponding to which the current aging index data is greater than the preset aging index data; Based on the current timeliness index data corresponding to each of the at least one second preset devices, a third target device is determined from the at least one second preset device, and the target task is scheduled to the third target device.

9. A task scheduling device, characterized in that: include: A first data acquisition module, used to receive a target task and acquire preset timeliness index data and preset stability performance data of the target task; A second data acquisition module is used to acquire time-related data of each preset device among a plurality of preset devices, stability performance-related data of each preset device, and time-related test data of each preset device, wherein the time-related test data is used to indicate the time-related performance of task execution of each preset device when the load of each preset device is greater than a preset threshold; A time efficiency analysis data acquisition module is used to input the time efficiency association data into a time efficiency performance analysis model to perform time efficiency performance analysis, and obtain time efficiency analysis data of each preset device, wherein the time efficiency analysis data is used to indicate the time efficiency performance of task execution of each preset device when the preset device is under continuous load; A current aging index data acquisition module, used to determine the current aging index data of each preset device based on the aging analysis data and the aging test data; A current stability performance data acquisition module, used for inputting the stability performance associated data into a stability performance analysis model to perform stability performance analysis, and obtaining the current stability performance data of each preset device; A task scheduling module is used to schedule the target task to the first target device among the multiple preset devices when the current timeliness index data of the first target device is greater than the preset timeliness index data and the current stability performance data of the first target device is greater than the preset stability performance data.

10. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the task scheduling method according to any one of claims 1 to 8.