Task scheduling method, device and equipment for multiple data nodes and computer program product
By performing predictive delay determination and status scoring on the data nodes, selecting the node with the lowest delay risk for task execution, solving the problem of data synchronization delay update between master and slave data nodes, and improving the success rate and efficiency of task scheduling.
Patent Information
- Application Number
- CN202510333846.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-20
- Publication Date
- 2025-07-08
AI Technical Summary
In the distributed system architecture, there is a problem of delayed data synchronization between master and slave data nodes, resulting in data inconsistency and response speed.
By obtaining the offset timing data of the data node and the network status timing data, using the long-term and short-term memory network model for predictive delay determination, a delay hierarchical list is generated, and weighted calculation is performed based on the status data of the microservice instance, and the target service instance is determined for task scheduling.
It improves the success rate and efficiency of task scheduling among data nodes, reduces the risk of delay, and improves the success rate and response speed of data synchronization.
Smart Images

Figure CN120276818A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of data management, and particularly to a task scheduling method, device, equipment and computer program product for multiple data nodes. Background Art
[0002] In the current distributed system architecture, in order to improve data processing capabilities and disaster tolerance capabilities, a multi-data center deployment strategy is usually adopted. An application cluster is deployed inside each data center, and these application clusters are responsible for processing various business logics and data operations. In order to improve the performance and availability of the database, a database read-write separation architecture is usually adopted, that is, the read operation is borne by the slave database (or called read-only database), and the write operation is borne by the master database. The master database will synchronize data changes to the slave database to ensure data consistency.
[0003] In this architecture, when the application cluster executes the business logic, it usually selects the nearest data node, that is, the slave database, for data reading operations to reduce network latency and improve response speed. However, due to the delay in data synchronization, the data in the slave database does not immediately reflect the latest changes in the master database. Summary of the Invention
[0004] The main purpose of this application is to provide a task scheduling method, device, equipment, storage medium and computer program product for multiple data nodes, aiming to solve the technical problem of delayed update of data synchronization between the master and slave data nodes.
[0005] To achieve the above purpose, this application proposes a task scheduling method for multiple data nodes, and the method includes:
[0006] Obtain the offset time series data and network status time series data of the data node, and perform predictive delay determination based on the offset time series data and the network status time series data to obtain the predictive delay determination result of the data node;
[0007] Based on the predictive delay determination result of the data node, update the delay classification label of the data node to obtain the delay classification list of the data node;
[0008] Obtain the status data of the microservice instance under the data node in the delay classification list, and perform weighted calculation based on the status data of the microservice instance to generate the status score of the microservice instance;
[0009] Based on the status score of the microservice instance, determine the target service instance in the microservice instance, and schedule the target task of the data node to the target service instance for execution.
[0010] In one embodiment, the step of performing predictive latency determination based on the offset time series data and the network status time series data to obtain the predictive latency determination result of the data node includes:
[0011] Based on the offset time series data and the network status time series data, use a long short-term memory network model to perform offset prediction to obtain the offset prediction difference of the data node;
[0012] Generate the historical offset difference of the data node according to the offset time series data of the data node;
[0013] Perform weighted calculation on the historical offset difference, the offset prediction difference, and the network status time series data to obtain the latency dynamic threshold of the data node;
[0014] Perform latency determination on the historical offset difference and / or the offset prediction difference through the latency dynamic threshold to obtain the predictive latency determination result of the data node.
[0015] In one embodiment, the step of performing weighted calculation on the historical offset difference, the offset prediction difference, and the network status time series data to obtain the latency dynamic threshold of the data node includes:
[0016] Based on the historical offset difference, calculate the mean and standard deviation of the historical offset difference;
[0017] Perform a calculation on the fluctuation trend of the offset prediction difference to generate a predicted value of the fluctuation trend of the offset prediction difference;
[0018] Perform weighted calculation on the predicted value of the fluctuation trend, the network status time series data, and the mean and standard deviation of the historical offset difference according to a preset weight coefficient to generate the latency dynamic threshold of the data node.
[0019] In one embodiment, the step of updating the latency classification label of the data node based on the predictive latency determination result of the data node to obtain the latency classification list of the data node includes:
[0020] When the historical offset difference is greater than the latency dynamic threshold, update the latency classification label of the data node to the current latency node;
[0021] When the historical offset difference is less than or equal to the latency dynamic threshold, update the latency classification label of the data node to the current available node;
[0022] When the offset prediction difference is greater than the delay dynamic threshold, update the delay classification mark of the data node to a potential delay node;
[0023] When the offset prediction difference is less than or equal to the delay dynamic threshold, update the delay classification mark of the data node to a potential available node;
[0024] Generate a delay classification list of the data nodes based on the data nodes after the update of the delay classification mark is completed.
[0025] In one embodiment, after the step of generating a delay classification list of the data nodes based on the data nodes after the update of the delay classification mark is completed, the following steps are further included:
[0026] Delete the data nodes in the delay classification list whose delay classification mark is the current delay node;
[0027] Reduce the priority of the data nodes in the delay classification list whose delay classification mark is the potential delay node to obtain the updated delay classification list.
[0028] In one embodiment, the step of obtaining the status data of the microservice instances under the data nodes in the delay classification list and performing weighted calculation based on the status data of the microservice instances to generate the status score of the microservice instances includes:
[0029] Obtain the status data of the microservice instances under the data nodes in the delay classification list, where the status data of the microservice instances includes the task type, historical execution data, and current execution data of the microservice instances;
[0030] Determine the initial weight corresponding to the microservice instance based on the task type of the microservice instance;
[0031] Perform weight correction on the initial weight corresponding to the microservice instance according to the historical execution data to obtain the target weight corresponding to the microservice instance;
[0032] Calculate the status score of the microservice instance according to the target weight for the current execution data.
[0033] In one embodiment, the step of performing weight correction on the initial weight of the microservice data according to the historical execution data to obtain the target weight corresponding to the microservice instance includes:
[0034] Classify the historical execution data according to the task type;
[0035] Determine a weight correction coefficient for the initial weight based on the classified historical execution data;
[0036] Perform weight correction on the initial weight according to the weight correction coefficient to obtain the target weight corresponding to the microservice instance.
[0037] In addition, to achieve the above object, the present application also proposes a task scheduling device for multiple data nodes, and the task scheduling device for multiple data nodes includes:
[0038] A delay determination module, configured to obtain offset time series data and network status time series data of a data node, and perform predictive delay determination based on the offset time series data and the network status time series data to obtain a predictive delay determination result of the data node;
[0039] A delay classification module, configured to update the delay classification label of the data node based on the predictive delay determination result of the data node to obtain a delay classification list of the data node;
[0040] A status scoring module, configured to obtain status data of a microservice instance under the data node in the delay classification list, and perform weighted calculation based on the status data of the microservice instance to generate a status score of the microservice instance;
[0041] A scheduling execution module, configured to determine a target service instance in the microservice instance based on the status score of the microservice instance, and schedule the target task of the data node to the target service instance for execution.
[0042] In addition, to achieve the above object, the present application also proposes a task scheduling device for multiple data nodes, and the device includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the task scheduling method for multiple data nodes as described above.
[0043] In addition, to achieve the above object, the present application also proposes a storage medium, and the storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium, and when the computer program is executed by a processor, the steps of the task scheduling method for multiple data nodes as described above are implemented.
[0044] In addition, to achieve the above object, the present application also provides a computer program product, and the computer program product includes a computer program, and when the computer program is executed by a processor, the steps of the task scheduling method for multiple data nodes as described above are implemented.
[0045] One or more technical solutions proposed by the present application have at least the following technical effects:
[0046] An embodiment of the present application provides a task scheduling method, device, equipment and computer program product for multiple data nodes, including: obtaining offset time series data and network status time series data of a data node, making a predictive delay determination based on the offset time series data and the network status time series data to obtain a predictive delay determination result of the data node; based on the predictive delay determination result of the data node, updating the delay classification mark of the data node to obtain a delay classification list of the data node; obtaining status data of microservice instances under the data node in the delay classification list, performing weighted calculation based on the status data of the microservice instances to generate a status score of the microservice instances; based on the status score of the microservice instances, determining a target service instance in the microservice instances, and scheduling a target task of the data node to the target service instance for execution. By making a predictive delay determination and status scoring for the data node, determining the target service instance for executing the target task, and selecting the node with the lowest delay risk for task execution, the success rate and efficiency of task scheduling and execution among data nodes can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present application and used together with the specification to explain the principles of the present application.
[0048] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the accompanying drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, other drawings can also be obtained based on these drawings without creative efforts.
[0049] Figure 1 It is a schematic flowchart provided for Embodiment 1 of the task scheduling method for multiple data nodes of the present application;
[0050] Figure 2 It is an architecture example diagram of a data node provided for the embodiment of the task scheduling method for multiple data nodes of the present application;
[0051] Figure 3 It is a schematic module structure diagram of the task scheduling device for multiple data nodes in the embodiment of the present application;
[0052] Figure 4 It is a schematic device structure diagram of the hardware operating environment involved in the task scheduling method for multiple data nodes in the embodiment of the present application.
[0053] The implementation, functional features and advantages of the purpose of the present application will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0054] It should be understood that the specific embodiments described herein are merely used to explain the technical solutions of the present application and are not used to limit the present application.
[0055] To better understand the technical solutions of the present application, the following will be described in detail in conjunction with the accompanying drawings of the specification and specific implementation manners.
[0056] The main solution of the embodiments of the present application is: obtaining the offset time series data and network status time series data of a data node, performing predictive delay determination based on the offset time series data and the network status time series data to obtain the predictive delay determination result of the data node; based on the predictive delay determination result of the data node, updating the delay classification label of the data node to obtain the delay classification list of the data node; obtaining the status data of the microservice instances under the data node in the delay classification list, performing weighted calculation based on the status data of the microservice instances to generate the status score of the microservice instances; based on the status score of the microservice instances, determining the target service instance in the microservice instances, and scheduling the target task of the data node to the target service instance for execution.
[0057] In this embodiment, for the convenience of description, the following will be described with a task scheduling device with multiple data nodes as the execution subject.
[0058] In the current distributed system architecture, in order to improve data processing capabilities and disaster tolerance capabilities, a multi-data center deployment strategy is usually adopted. An application cluster is deployed inside each data center, and these application clusters are responsible for processing various business logics and data operations. In order to improve the performance and availability of the database, a database read-write separation architecture is usually adopted, that is, the read operation is borne by the slave database (or called the read-only database), and the write operation is borne by the master database. The master database will synchronize data changes to the slave database to ensure data consistency.
[0059] In this architecture, when the application cluster executes the business logic, it usually selects the nearest data node, that is, the slave database, to perform the data reading operation to reduce network latency and improve the response speed. However, due to the delay in data synchronization, the data in the slave database does not immediately reflect the latest changes in the master database.
[0060] The present application provides a solution. By performing predictive delay determination and status scoring on the data node, the target service instance for executing the target task can be determined, and the node with the lowest delay risk can be selected for task execution, which can improve the success rate and efficiency of data synchronization between data nodes.
[0061] It should be noted that the execution entity of this embodiment can be a computing service device with data processing, network communication, and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of implementing the above functions, a task scheduling device for multiple data nodes, etc. Hereinafter, taking the task scheduling device for multiple data nodes as an example, this embodiment and the following embodiments will be described.
[0062] Based on this, the embodiment of the present application provides a task scheduling method for multiple data nodes. Referring to Figure 1 , Figure 1 is a schematic flowchart of the first embodiment of the task scheduling method for multiple data nodes of the present application.
[0063] In this embodiment, the task scheduling method for multiple data nodes includes steps S11 to S14:
[0064] Step S11, obtaining the offset time series data and network status time series data of the data node, and making a predictive delay determination based on the offset time series data and the network status time series data to obtain the predictive delay determination result of the data node.
[0065] It should be noted that a data node refers to a physical or logical unit for storing data, which is responsible for managing data storage, reading, and writing operations. In the present application, the data node includes a primary data node and a standby data node. The primary data node undertakes the write operation in the data node cluster; the standby data node undertakes the read operation in the data node cluster and backs up the data from the primary data node to the standby data node.
[0066] In addition, it should be noted that the offset time series data of the data node refers to the write offset time series data of the primary data node and the synchronization offset time series data of the standby node, including historical offset time series data and real-time offset time series data.
[0067] Furthermore, the write offset time series data of the primary data node refers to the progress index of the data write operation in the primary data node, indicating the position or serial number of the latest written data in the primary data node. The synchronization offset time series data of the standby data node refers to the progress index of the data synchronization operation in the standby data node, indicating the position or serial number of the data of the primary data node that the standby data node has successfully synchronized to.
[0068] In addition, it should be noted that the network status time series data of the data node refers to the network metrics related to data synchronization of the data node, including but not limited to bandwidth utilization rate, packet loss rate, and transmission delay.
[0069] In addition, it should be noted that the predictive delay determination result of the data node refers to the determination result obtained after making a predictive delay determination based on the offset time series data and the network status time series data.
[0070] Specifically, obtain the write offset time series data from the database of the primary data node, obtain the synchronization offset time series data from the database of the standby data node, and obtain the network status time series data between data nodes during data backup; perform offset prediction based on the offset time series data and the network status time series data through a long short-term memory network model to obtain the offset prediction difference of the data node; generate the offset historical difference of the data node according to the offset time series data of the data node; perform weighted calculation on the offset historical difference, the offset prediction difference, and the network status time series data to obtain the delay dynamic threshold of the data node; perform delay determination on the offset historical difference and / or the offset prediction difference through the delay dynamic threshold to obtain the predictive delay determination result of the data node.
[0071] Step S12, based on the predictive delay determination result of the data node, update the delay classification mark of the data node to obtain the delay classification list of the data node.
[0072] It should be noted that the delay classification list of the data node is a classification list obtained according to the predictive delay determination result of the data node, and is used to identify the delay risk category of each data node.
[0073] Specifically, when the offset historical difference is greater than the delay dynamic threshold, update the delay classification mark of the data node to the current delayed node; when the offset historical difference is less than or equal to the delay dynamic threshold, update the delay classification mark of the data node to the current available node; when the offset prediction difference is greater than the delay dynamic threshold, update the delay classification mark of the data node to the potential delayed node; when the offset prediction difference is less than or equal to the delay dynamic threshold, update the delay classification mark of the data node to the potential available node; generate the delay classification list of the data node based on the data node after the delay classification mark update is completed.
[0074] Step S13, obtain the status data of the microservice instance under the data node in the delay classification list, and perform weighted calculation based on the status data of the microservice instance to generate the status score of the microservice instance.
[0075] It should be noted that a microservice instance refers to a specific service unit running on a certain data node, which is responsible for implementing specific business logic, directly interacts with the data storage layer, and is responsible for processing business logic related to data.
[0076] For better understanding, please refer to Figure 2 , Figure 2It is an architecture example diagram of a data node. In Figure 2 data node A is the primary data node, and data nodes B and C are backup data nodes. Data is synchronized from data node A to data nodes B and C. There is a service cluster and a database under each data node, and there are several microservice instances under each data node. The task scheduling is performed by a scheduling center to determine the target service instance for target task scheduling.
[0077] In addition, it should be noted that the status score of a microservice instance is a comprehensive score obtained by weighted calculation of various status data of the microservice instance, which is used to measure the performance and health status of the microservice instance at the current moment. The higher the status score, the more suitable the instance is for executing the target task.
[0078] Specifically, obtain the status data of the microservice instances under the data node in the delay classification list. The status data of the microservice instances includes the task type, historical execution data, and current execution data of the microservice instances; based on the task type of the microservice instance, determine the initial weight corresponding to the microservice instance; according to the historical execution data, correct the initial weight corresponding to the microservice instance to obtain the target weight corresponding to the microservice instance; calculate the current execution data according to the target weight to obtain the status score of the microservice instance.
[0079] Step S14, based on the status score of the microservice instance, determine the target service instance in the microservice instance, and schedule the target task of the data node to the target service instance for execution.
[0080] It should be noted that the target service instance refers to the microservice instance selected as the optimal one according to the status score under a certain backup data node for executing the target task.
[0081] In addition, it should be noted that the target task of the data node refers to the specific task that needs to be executed on the target service instance of a certain data node.
[0082] Specifically, according to the sorting of the status scores, select the microservice instance with the highest status score as the target service instance; schedule the target task of the data node to the target service instance for execution; update the task scheduling record and monitor the task execution status.
[0083] Through the above solution in this embodiment, by performing predictive delay determination and status scoring on the data node, the target service instance for executing the target task is determined, and the node with the lowest delay risk can be selected for task execution, which can improve the success rate and efficiency of task scheduling and execution among data nodes.
[0084] Based on the above implementation, in a feasible implementation, the step of making a predictive latency determination based on the offset time series data and the network status time series data to obtain the predictive latency determination result of the data node includes S21 to S24:
[0085] Step S21, based on the offset time series data and the network status time series data, use a long short-term memory network model to make an offset prediction, and obtain the offset prediction difference of the data node.
[0086] It should be noted that the long short-term memory network model LSTM (Long Short-Term Memory) is a powerful recurrent neural network architecture. By introducing a cell state and gate mechanisms, it can effectively capture long-term dependencies in sequential data while retaining short-term information. It has been widely used in fields such as natural language processing, time series prediction, and speech recognition. In this application, the long short-term memory network model analyzes the offset time series data and network status time series data of historical and real-time data nodes to predict the offset change and synchronization latency risk within a future time window.
[0087] In addition, it should be noted that the offset prediction difference refers to the offset prediction difference obtained by calculating the difference between the predicted write offset time series data and synchronization offset time series data of the primary data node within a certain number of future time units based on historical offset time series data and network status time series data through a long short-term memory network model, which is used to identify potential data synchronization latency risks in advance.
[0088] Specifically, first, obtain the offset time series data and network status time series data of the data node at fixed time intervals, for example, obtain the offset time series data and network status time series data of the data node in the most recent hour; clean, standardize, and normalize the offset time series data and network status time series data, remove outliers, fill in missing data, and standardize the data to make it suitable for the input requirements of the LSTM model. Then, construct a long short-term memory network model capable of processing time series data, use the historical offset time series data and network status time series data to train the long short-term memory network model, optimize the model parameters, and obtain a trained long short-term memory network model. Further, input the preprocessed offset time series data and network status time series data into the trained long short-term memory network model, use the model to predict the write offset time series data and synchronization offset time series data within a certain number of future time units, obtain the predicted offset time series data, and subtract the synchronization offset time series data from the predicted write offset time series data to obtain the offset prediction difference.
[0089] In one embodiment of the present application, the write offset time series data primary_offset of the primary data node, the synchronization offset time series data backup_offset of the standby node, and the network status time series data are obtained for the data node in the most recent 1 hour at a time interval of 1 minute. The obtained data is input into a trained long short-term memory network model, and the predicted offset values for several time units (e.g., 5 minutes) in the future time window are predicted by the model, that is, the predicted write offset time series data predicted_primary_offset and the synchronization offset time series data predicted_backup_offset. The predicted write offset time series data is subtracted from the synchronization offset time series data to obtain the offset prediction difference future_offset_diff, that is:
[0090] future_offset_diff = predicted_primary_offset - predicted_backup_offset
[0091] where future_offset_diff is the offset prediction difference; predicted_backup_offset is the predicted write offset time series data; predicted_backup_offset is the predicted synchronization offset time series data.
[0092] Step S22, generating the historical offset difference of the data node according to the offset time series data of the data node.
[0093] It should be noted that the historical offset difference refers to a sequence of offset differences obtained by equally dividing a past period of time into several time segments and calculating the difference between the write offset time series data of the primary data node and the synchronization offset time series data of the standby node in each small time segment.
[0094] Specifically, the write offset time series data of the primary node and the synchronization offset time series data of the standby node are obtained at a fixed time interval, and the difference between the write offset time series data of the primary data node and the synchronization offset time series data of the standby node in each small time segment is calculated to obtain a sequence of offset differences. In one embodiment of the present application, the write offset time series data primary_offset of the primary data node and the synchronization offset time series data backup_offset of the standby node are obtained for the data node in the most recent 1 hour at a time interval of 1 minute. The write offset time series data primary_offset at each time interval moment is subtracted from the synchronization offset time series data backup_offset to obtain a sequence of offset differences offset_diff, that is:
[0095] offset_diff = primary_offset - backup_offset
[0096] Among them, offset_diff is the offset difference sequence; primary_offset is the write offset time series data; backup_offset is the synchronization offset time series data.
[0097] Step S23: Perform weighted calculation on the historical offset difference, the predicted offset difference, and the network status time series data to obtain the delay dynamic threshold of the data node.
[0098] It should be noted that the delay dynamic threshold of the data node refers to the threshold for judging the delay state of the system calculated dynamically based on historical and real-time offset time series data.
[0099] Specifically, based on the historical offset difference, calculate the mean and standard deviation of the historical offset difference; perform a fluctuation trend calculation on the predicted offset difference to generate a predicted value of the fluctuation trend of the predicted offset difference; perform weighted calculation on the predicted value of the fluctuation trend, the network status time series data, and the mean and standard deviation of the historical offset difference according to a preset weight coefficient to generate the delay dynamic threshold of the data node.
[0100] Step S24: Perform delay determination on the historical offset difference and / or the predicted offset difference through the delay dynamic threshold to obtain the predictive delay determination result of the data node.
[0101] Specifically, compare the historical offset difference with the delay dynamic threshold. When the historical offset difference is greater than the delay dynamic threshold, update the delay classification mark of the data node to the current delay node; when the historical offset difference is less than or equal to the delay dynamic threshold, update the delay classification mark of the data node to the current available node. Compare the predicted offset difference with the delay dynamic threshold. When the predicted offset difference is greater than the delay dynamic threshold, update the delay classification mark of the data node to the potential delay node; when the predicted offset difference is less than or equal to the delay dynamic threshold, update the delay classification mark of the data node to the potential available node.
[0102] Through the above solution, this embodiment combines network status data, predicted data of offsets, and historical data. Through the weighted calculation of multi-dimensional data, it can more comprehensively reflect the actual latency of data nodes, avoiding misjudgment caused by single-dimensional data. The calculation method of the dynamic threshold enables the latency dynamic threshold to be adjusted according to the changes in real-time data instead of being fixed. The dynamic adjustment mechanism can better adapt to the fluctuations of the network status and the dynamic changes of data nodes, thereby improving the accuracy of latency determination. By predicting the offset through the long short-term memory network model, it can judge the current latency status of data nodes in advance and the possible latency status in the future. By accurately determining the latency nodes, the success rate and efficiency of data synchronization between data nodes can be improved.
[0103] Based on the above implementation solution, in a feasible implementation manner, the step of performing weighted calculation on the historical difference of the offset, the predicted difference of the offset, and the network status time series data to obtain the latency dynamic threshold of the data node includes S31 to S33:
[0104] Step S31, based on the historical difference of the offset, calculate the mean and standard deviation of the historical difference of the offset.
[0105] Specifically, obtain the historical difference of the offset within a fixed time interval, and calculate the mean and standard deviation based on the historical difference of the offset. In an embodiment of the present application, calculate the historical difference of the offset in the most recent hour with a time interval of 1 minute, and calculate the mean μ and standard deviation σ of the historical difference of the offset.
[0106] Step S32, perform a fluctuation trend calculation on the predicted difference of the offset to generate a predicted value of the fluctuation trend of the predicted difference of the offset.
[0107] Specifically, perform a fluctuation trend calculation based on the predicted difference of the offset, and calculate a predicted value of the fluctuation trend of the predicted difference of the offset. For example, calculate the linear growth rate of the predicted difference of the offset as the predicted value of the fluctuation trend.
[0108] Step S33, perform weighted calculation on the predicted value of the fluctuation trend, the network status time series data, and the mean and standard deviation of the historical difference of the offset according to a preset weight coefficient to generate the latency dynamic threshold of the data node.
[0109] Specifically, obtain network status time series data such as network packet loss rate and bandwidth utilization rate, and perform weighted calculation on the predicted value of the fluctuation trend, the network status time series data, and the mean and standard deviation of the historical difference of the offset according to a preset weight coefficient to generate the latency dynamic threshold of the data node. The calculation formula of the latency dynamic threshold is:
[0110] threshold = μ + k × σ + α × future_offset_diff_trend + β × (packet_loss + bandwidth_usage)
[0111] Among them, threshold is the dynamic delay threshold; μ is the mean value of the historical difference of the offset; σ is the standard deviation of the historical difference of the offset; k is the confidence coefficient, and the default value is set to 1.5; future_offset_diff_trend is the predicted value of the fluctuation trend; packet_loss is the network packet loss rate; bandwidth_usage is the bandwidth utilization rate; α and β are preset weight coefficients, and the weights can be corrected through historical data.
[0112] Through the above solution in this embodiment, by combining the predicted value of the fluctuation trend and the time-series data of the network state, the dynamic threshold can be adaptively adjusted according to the change of the data, and it can be closer to the actual delay change law, thereby improving the accuracy of the delay state determination.
[0113] Based on the above implementation solution, in a feasible implementation manner, the step of updating the delay classification label of the data node based on the predicted delay determination result of the data node to obtain the delay classification list of the data node includes S41 to S45:
[0114] Step S41, when the historical difference of the offset is greater than the dynamic delay threshold, update the delay classification label of the data node to the current delay node.
[0115] Specifically, when the historical difference of the offset is greater than the dynamic delay threshold, it indicates that the data node is currently in a state of relatively large delay, and update the delay classification label of the data node to the current delay node.
[0116] Step S42, when the historical difference of the offset is less than or equal to the dynamic delay threshold, update the delay classification label of the data node to the current available node.
[0117] Specifically, when the historical difference of the offset is less than or equal to the dynamic delay threshold, it indicates that the current delay of the data node is relatively low, and update the delay classification label of the data node to the current available node.
[0118] Step S43, when the predicted difference of the offset is greater than the dynamic delay threshold, update the delay classification label of the data node to the potential delay node.
[0119] Specifically, when the predicted difference of the offset is greater than the dynamic delay threshold, it indicates that the risk of predicting that the data node will have a delay in the future is relatively high, and update the delay classification label of the data node to the potential delay node.
[0120] Step S44: When the offset prediction difference is less than or equal to the delay dynamic threshold, update the delay classification label of the data node to a potentially available node.
[0121] Specifically, when the offset prediction difference is less than or equal to the delay dynamic threshold, it indicates that the risk of predicting future delay for this data node is relatively low, and the delay classification label of the data node is updated to a potentially available node.
[0122] Step S45: Generate a delay classification list for the data node based on the data node after the update of the delay classification label is completed.
[0123] Specifically, based on the data nodes after the update of the delay classification label is completed, combine them to form an initial delay classification list of the data nodes.
[0124] Based on the above implementation solutions, in a feasible implementation manner, after the step of generating a delay classification list for the data node based on the data node after the update of the delay classification label is completed, steps S51 - S52 are further included:
[0125] Step S51: Delete the data node in the delay classification list whose delay classification label is the current delay node.
[0126] Specifically, when the offset historical difference is greater than the delay dynamic threshold, it indicates that the data node is currently in a state of relatively large delay, and the delay classification label of the data node is updated to the current delay node. Delete the data node in the initial delay classification list whose delay classification label is the current delay node, and at the same time delete the current delay node from the available node pool.
[0127] Step S52: Reduce the priority of the data node in the delay classification list whose delay classification label is the potentially delayed node to obtain the updated delay classification list.
[0128] Specifically, when the offset prediction difference is greater than the delay dynamic threshold, it indicates that the risk of predicting future delay for this data node is relatively high, and the delay classification label of the data node is updated to the potentially delayed node. The current delay of the current data node does not exceed the delay dynamic threshold, but the potential delay risk is relatively large. Reduce the priority of the data node in the initial delay classification list to limit the scheduling of high-real-time tasks to this node. Delete the current delay node in the initial delay classification list and reduce the priority of the data node of the potentially delayed node to obtain the updated delay classification list.
[0129] In this embodiment, through the above solution, by deleting the data nodes with the delay classification marked as "current delay node", it is ensured that tasks will not be scheduled to these nodes with poor performance, thereby improving the response speed and execution efficiency of tasks; by reducing the priority of potential delay nodes, the probability of high-real-time tasks being scheduled to these nodes is reduced, thereby preventing possible delay problems.
[0130] Based on the above implementation solution, in a feasible implementation manner, the steps of obtaining the status data of the microservice instances under the data nodes in the delay classification list and generating the status scores of the microservice instances based on the weighted calculation of the status data of the microservice instances include S61 to S64:
[0131] Step S61, obtain the status data of the microservice instances under the data nodes in the delay classification list, where the status data of the microservice instances includes the task type, historical execution data, and current execution data of the microservice instances.
[0132] It should be noted that the status data of the microservice instances includes the task type, historical execution data, and current execution data of the microservice instances. The task types of the microservice instances are divided into network-type tasks (such as API calls, real-time communication), compute-intensive tasks (such as data analysis, batch processing), time-sensitive tasks (mixed requirements), etc.; the historical execution data includes but is not limited to data such as the historical task type, execution success rate, response time, and resource utilization rate of the microservice instances; the current execution data includes but is not limited to data such as the current task type, execution success rate, response time, and resource utilization rate of the microservice instances.
[0133] Specifically, obtain the status data of the microservice instances under the data nodes in the updated delay classification list.
[0134] Step S62, determine the initial weight corresponding to the microservice instance based on the task type of the microservice instance.
[0135] It should be noted that the initial weight corresponding to the microservice instance is the initial weight preset according to the task type, which is used to measure the importance of different factors in the status score calculation, such as network delay and system load, and these weights reflect the differences in resource requirements and performance requirements of different task types.
[0136] Specifically, determine the initial weight according to the task type of the microservice instance. In an embodiment of the present application, the mapping between the task type and the initial weight is:
[0137] Initial weight for network-type tasks: α = 0.7, β = 0.3
[0138] Initial weight for compute-intensive tasks: α = 0.3, β = 0.7
[0139] Initial weights of time-sensitive tasks: α = 0.5, β = 0.5
[0140] Among them, α is the network latency weight; β is the system load weight.
[0141] Step S63: According to the historical execution data, correct the initial weight corresponding to the microservice instance to obtain the target weight corresponding to the microservice instance.
[0142] Specifically, classify the historical execution data according to the task type; based on the classified historical execution data, determine the weight correction coefficient of the initial weight; correct the initial weight according to the weight correction coefficient to obtain the target weight corresponding to the microservice instance.
[0143] Step S64: Calculate the current execution data according to the target weight to obtain the status score of the microservice instance.
[0144] Specifically, obtain the current execution data, and normalize the network latency and system load data in the current execution data of the microservice instance. The expression of the normalization operation is:
[0145] norm_latency = 1 - latency / max_latency (if max_latency > 0)
[0146] norm_load = 1 - load / max_load (if max_load > 0)
[0147] Among them, norm_latency is the normalized network latency; latency is the network latency before the normalization operation; max_latency is the maximum value of the network latency; norm_load is the normalized system load; load is the system load before the normalization operation; max_load is the maximum value of the system load.
[0148] If the network latency or system load of all instances is 0, the normalization value is set to 1.
[0149] Furthermore, calculate the network latency and system load data after the normalization operation according to the target weight to obtain the status score of the microservice instance. The calculation formula of the status score is:
[0150] score = α × norm_latency + β × norm_load
[0151] Among them, score is the status score; α is the target weight of the network latency weight; β is the target weight of the system load weight; norm_latency is the normalized network latency; norm_load is the normalized system load.
[0152] Through the above solution, this embodiment can comprehensively evaluate the performance and applicability of each instance by comprehensively considering the historical execution data and the current execution data of the microservice instance, avoiding the limitations of a single indicator and improving the accuracy of task scheduling; the initial weight is corrected according to the historical execution data, making the weight closer to the actual operating conditions. This dynamic adjustment mechanism can better reflect the performance of different instances in actual tasks, thereby improving the accuracy of scheduling decisions.
[0153] Based on the above implementation solution, in a feasible implementation manner, the step of correcting the weight of the initial weight of the microservice data according to the historical execution data to obtain the target weight corresponding to the microservice instance includes S71 to S73:
[0154] Step S71, classify the historical execution data according to the task type.
[0155] Specifically, the historical execution data is classified according to the task type into network-type tasks, compute-intensive tasks, and time-sensitive tasks.
[0156] Step S72, determine the weight correction coefficient of the initial weight based on the classified historical execution data.
[0157] Specifically, determine the task type of the current execution data, determine the corresponding initial weight according to the task type of the current execution data, and then dynamically adjust the initial weight according to the historical execution data of historical similar tasks. For example, adjust the initial weight according to the historical execution success rate, response time, resource utilization rate, etc. of the microservice instance. For example, if the historical execution data shows that high latency leads to an increase in the task failure rate, then increase the network latency weight α; if the historical execution data shows that excessive load causes performance bottlenecks, then increase the system load weight β.
[0158] Furthermore, obtain the index data such as the task type, actual latency, actual load, execution result (success / failure), and task duration of the most recent several tasks (for example, 100 times), calculate the index mean of similar tasks, and adjust the weight correction coefficient according to the correlation between the success rate of historical tasks and network latency / system load. For example, use the Pearson correlation coefficient or the Spearman rank correlation coefficient to measure the relationship between the success rate and latency / load. When the correlation coefficient between the execution success rate and latency is -0.5, it indicates that latency has a significant impact on the success rate, and the weight of latency can be appropriately increased.
[0159] Determine the weight correction coefficient according to the execution success rate in the historical execution data, which is obtained by subtracting the actual success rate from the benchmark success rate and then dividing by the benchmark success rate. The calculation formula for the weight correction coefficient is:
[0160] Weight correction coefficient = (actual success rate - benchmark success rate) / benchmark success rate
[0161] Among them, the actual success rate refers to the actual probability of successful task execution in the actual operating environment, which is obtained by collecting and analyzing historical task execution data and reflects the execution situation of the task under actual conditions. The benchmark success rate refers to the expected probability of successful task execution under ideal conditions, which is a standard value preset according to the task type and system design and is used to measure the normal level of task execution.
[0162] Step S73: Perform weight correction on the initial weight according to the weight correction coefficient to obtain the target weight corresponding to the microservice instance.
[0163] Specifically, the calculation formula for obtaining the target weight by performing weight correction on the initial weight according to the weight correction coefficient is:
[0164] α new = α base + γ×(actual success rate - benchmark success rate) / benchmark success rate
[0165] β new = 1 - α new
[0166] Among them, α new is the target weight of the network delay weight; α base is the initial weight of the network delay weight; γ is the learning rate, which controls the correction adjustment amplitude. In an embodiment of the present application, γ = 0.1; β new is the target weight of the system load weight.
[0167] For example, for a certain network-type task, the benchmark success rate = 90%, the actual success rate = 80%, the initial weight α = 0.7, β = 0.3, and the learning rate γ = 0.1. Then the calculation of the target weight is:
[0168] 0.8 - 0.9 = -0.1
[0169] α new = 0.7 + 0.1×(-0.1 / 0.9) ≈ 0.689
[0170] β new = 1 - 0.689 ≈ 0.311
[0171] Through the above solution in this embodiment, through classification processing and dynamic weight adjustment, the system can more accurately evaluate the performance of each microservice instance, thereby more reasonably allocate tasks. This not only improves the efficiency of task execution, but also reduces resource waste and enhances the overall resource utilization efficiency.
[0172] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the task scheduling method for multiple data nodes of this application. Based on this technical concept, more forms of simple transformations are within the protection scope of this application.
[0173] This application also provides a task scheduling device for multiple data nodes. Please refer to Figure 3 , the task scheduling device for multiple data nodes includes:
[0174] The delay determination module 301 is configured to obtain the offset time series data and network status time series data of the data node, and perform predictive delay determination based on the offset time series data and the network status time series data to obtain the predictive delay determination result of the data node;
[0175] The delay classification module 302 is configured to update the delay classification mark of the data node based on the predictive delay determination result of the data node to obtain the delay classification list of the data node;
[0176] The status scoring module 303 is configured to obtain the status data of the microservice instance under the data node in the delay classification list, and perform weighted calculation based on the status data of the microservice instance to generate the status score of the microservice instance;
[0177] The scheduling execution module 304 is configured to determine the target service instance in the microservice instance based on the status score of the microservice instance, and schedule the target task of the data node to the target service instance for execution.
[0178] The task scheduling device for multiple data nodes provided by this application adopts the task scheduling method for multiple data nodes in the above embodiment, and can solve the technical problem of data synchronization delay update between the master and slave data nodes. Compared with the prior art, the beneficial effects of the task scheduling device for multiple data nodes provided by this application are the same as those of the task scheduling method for multiple data nodes provided by the above embodiment, and other technical features in the task scheduling device for multiple data nodes are the same as the features disclosed in the method of the above embodiment, and will not be elaborated here.
[0179] The present application provides a task scheduling device for multiple data nodes. The task scheduling device for multiple data nodes includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the task scheduling method for multiple data nodes in the first embodiment above.
[0180] Reference is made below to Figure 4 , which shows a schematic structural diagram of a task scheduling device for multiple data nodes suitable for implementing the embodiments of the present application. The task scheduling device for multiple data nodes in the embodiments of the present application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions: tablet computers), PMPs (Portable Media Players), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 4 The task scheduling device for multiple data nodes shown is merely an example and should not impose any limitation on the functions and usage scope of the embodiments of the present application.
[0181] As Figure 4As shown, the task scheduling device for multiple data nodes may include a processing device 1001 (such as a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to the program stored in the read-only memory 1002 or the program loaded from the storage device 1003 into the random access memory 1004. In the random access memory 1004, various programs and data required for the operation of the task scheduling device for multiple data nodes are also stored. The processing device 1001, the read-only memory 1002, and the random access memory 1004 are connected to each other through a bus 1005. The input / output interface 1006 is also connected to the bus. Generally, the following systems may be connected to the input / output interface 1006: an input device 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the task scheduling device for multiple data nodes to communicate with other devices wirelessly or wiredly to exchange data. Although the figure shows a task scheduling device for multiple data nodes with various systems, it should be understood that it is not required to implement or have all the shown systems. More or fewer systems can be alternatively implemented or had.
[0182] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program codes for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device, or installed from the storage device 1003, or installed from the read-only memory 1002. When the computer program is executed by the processing device 1001, the above functions defined in the method of the embodiments disclosed in the present application are executed.
[0183] The task scheduling device for multiple data nodes provided by the present application adopts the task scheduling method for multiple data nodes in the above embodiments, and can solve the technical problem of data synchronization delay update between the master and slave data nodes. Compared with the prior art, the beneficial effects of the task scheduling device for multiple data nodes provided by the present application are the same as those of the task scheduling method for multiple data nodes provided by the above embodiments, and other technical features in the task scheduling device for multiple data nodes are the same as those disclosed in the method of the previous embodiment, and will not be elaborated here.
[0184] It should be understood that each part disclosed in this application can be implemented by hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in a suitable manner in any one or more embodiments or examples.
[0185] As described above, the above are only specific embodiments of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art within the technical scope disclosed in this application can easily think of changes or substitutions, which should all be covered within the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
[0186] This application provides a computer-readable storage medium with computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the task scheduling method for multiple data nodes in the above embodiments.
[0187] The computer-readable storage medium provided by this application can be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) or flash memory, optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this embodiment, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or combined with an instruction execution system or device. The program code contained on the computer-readable storage medium can be transmitted by any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0188] The above computer-readable storage medium can be included in the task scheduling device for multiple data nodes; it can also exist alone without being assembled into the task scheduling device for multiple data nodes.
[0189] The above computer-readable storage medium carries one or more programs, which when executed by the task scheduling device of multiple data nodes, cause the task scheduling device of multiple data nodes to: obtain the offset time series data and network status time series data of the data node, make a predictive delay determination based on the offset time series data and the network status time series data, and obtain the predictive delay determination result of the data node; based on the predictive delay determination result of the data node, update the delay classification mark of the data node to obtain the delay classification list of the data node; obtain the status data of the microservice instance under the data node in the delay classification list, perform weighted calculation based on the status data of the microservice instance, and generate the status score of the microservice instance; based on the status score of the microservice instance, determine the target service instance in the microservice instance, and schedule the target task of the data node to the target service instance for execution.
[0190] Computer program code for performing the operations of the present application may be written in one or more programming languages or combinations thereof. The above programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partially on the user's computer, execute as a stand-alone software package, execute partially on the user's computer and partially on a remote computer, or execute entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (for example, by using an Internet service provider to connect through the Internet).
[0191] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.
[0192] The modules described in the embodiments of the present application can be implemented in software or in hardware. In some cases, the name of the module does not constitute a limitation on the unit itself.
[0193] The readable storage medium provided by the present application is a computer-readable storage medium that stores computer-readable program instructions (i.e., computer programs) for executing the above-described task scheduling method for multiple data nodes, and can solve the technical problem of data synchronization delay update between the master and slave data nodes. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the present application are the same as those of the task scheduling method for multiple data nodes provided in the above embodiments, and will not be elaborated here.
[0194] The present application also provides a computer program product, including a computer program, where the computer program, when executed by a processor, implements the steps of the task scheduling method for multiple data nodes as described above.
[0195] The computer program product provided by the present application can solve the technical problem of data synchronization delay update between the master and slave data nodes. Compared with the prior art, the beneficial effects of the computer program product provided by the present application are the same as those of the task scheduling method for multiple data nodes provided in the above embodiments, and will not be elaborated here.
[0196] The above are only some embodiments of the present application, and do not limit the patent scope of the present application. Any equivalent structural transformation made under the technical concept of the present application by using the content of the specification and drawings of the present application, or any direct / indirect application in other related technical fields, is included in the patent protection scope of the present application.
Claims
1. A task scheduling method for multiple data nodes, characterized in that, The task scheduling method for multiple data nodes includes: Obtain the offset time-series data and network status time-series data of the data node, perform predictive delay determination based on the offset time-series data and the network status time-series data, and obtain the predictive delay determination result of the data node; Based on the predictive delay determination result of the data node, update the delay classification label of the data node to obtain the delay classification list of the data node; Obtain the status data of the microservice instances under the data node in the delay classification list, perform weighted calculation based on the status data of the microservice instances, and generate the status score of the microservice instances; Based on the status score of the microservice instances, determine the target service instances in the microservice instances, and schedule the target tasks of the data node to the target service instances for execution.
2. The task scheduling method for multiple data nodes according to claim 1, wherein The step of performing predictive delay determination based on the offset time-series data and the network status time-series data to obtain the predictive delay determination result of the data node includes: Perform offset prediction based on the offset time-series data and the network status time-series data through a long short-term memory network model to obtain the offset prediction difference of the data node; Generate the offset historical difference of the data node according to the offset time-series data of the data node; Perform weighted calculation on the offset historical difference, the offset prediction difference, and the network status time-series data to obtain the delay dynamic threshold of the data node; Perform delay determination on the offset historical difference and / or the offset prediction difference through the delay dynamic threshold to obtain the predictive delay determination result of the data node.
3. The task scheduling method for multiple data nodes according to claim 2, wherein The step of performing weighted calculation on the offset historical difference, the offset prediction difference, and the network status time-series data to obtain the delay dynamic threshold of the data node includes: Based on the offset historical difference, calculate the mean and standard deviation of the offset historical difference; Perform fluctuation trend calculation on the offset prediction difference to generate the fluctuation trend prediction value of the offset prediction difference; Perform weighted calculation on the fluctuation trend prediction value, the network status time-series data, and the mean and standard deviation of the offset historical difference according to the preset weight coefficient to generate the delay dynamic threshold of the data node.
4. The task scheduling method for multiple data nodes according to claim 2, wherein The step of updating the delay classification label of the data node based on the predictive delay determination result of the data node to obtain the delay classification list of the data node includes: When the offset historical difference is greater than the delay dynamic threshold, update the delay classification label of the data node to the current delay node; When the offset historical difference is less than or equal to the delay dynamic threshold, update the delay classification label of the data node to the current available node; When the offset prediction difference is greater than the delay dynamic threshold, update the delay classification label of the data node to the potential delay node; When the offset prediction difference is less than or equal to the delay dynamic threshold, update the delay classification label of the data node to the potential available node; Generate a latency classification list for the data node based on the data node after the completion of the latency classification label update.
5. The task scheduling method for multiple data nodes according to claim 4, wherein After the step of generating a latency classification list for the data node based on the data node after the completion of the latency classification label update, the following steps are further included: Delete the data nodes in the latency classification list whose latency classification label is the current latency node. Reduce the priority of the data nodes in the latency classification list whose latency classification label is the potential latency node to obtain the updated latency classification list.
6. The task scheduling method for multiple data nodes according to claim 1, wherein, The step of obtaining the status data of the microservice instances under the data node in the latency classification list and performing weighted calculation based on the status data of the microservice instances to generate the status score of the microservice instances includes: Obtain the status data of the microservice instances under the data node in the latency classification list, where the status data of the microservice instances includes the task type, historical execution data, and current execution data of the microservice instances. Determine the initial weight corresponding to the microservice instance based on the task type of the microservice instance. Perform weight correction on the initial weight corresponding to the microservice instance according to the historical execution data to obtain the target weight corresponding to the microservice instance. Calculate the status score of the microservice instance based on the target weight and the current execution data.
7. The task scheduling method for multiple data nodes according to claim 6, wherein, The step of performing weight correction on the initial weight corresponding to the microservice instance according to the historical execution data to obtain the target weight corresponding to the microservice instance includes: Classify the historical execution data according to the task type. Determine the weight correction coefficient of the initial weight based on the classified historical execution data. Perform weight correction on the initial weight according to the weight correction coefficient to obtain the target weight corresponding to the microservice instance.
8. A task scheduling device for multiple data nodes, characterized in that, The task scheduling device for multiple data nodes includes: A latency determination module, configured to obtain the offset time series data and network status time series data of the data node, and perform predictive latency determination based on the offset time series data and the network status time series data to obtain the predictive latency determination result of the data node. A latency classification module, configured to update the latency classification label of the data node based on the predictive latency determination result of the data node to obtain the latency classification list of the data node. A status scoring module, configured to obtain the status data of the microservice instances under the data node in the latency classification list, and perform weighted calculation based on the status data of the microservice instances to generate the status score of the microservice instances. A scheduling execution module, configured to determine the target service instance in the microservice instances based on the status score of the microservice instances, and schedule the target task of the data node to the target service instance for execution.
9. A task scheduling device with multiple data nodes, characterized in that, The device includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, where the computer program is configured to implement the steps of the task scheduling method for multiple data nodes according to any one of claims 1 to 7.
10. A computer program product, characterized in that, The computer program product includes a computer program which, when executed by a processor, implements the steps of the task scheduling method for multiple data nodes according to any one of claims 1 to 7.