A smart kitchen middleware management system
By constructing a directed acyclic graph and a multi-objective optimization algorithm, the scheduling decision-making difficulties of multi-source heterogeneous monitoring data processing tasks were solved, achieving efficient resource utilization and business continuity of edge devices, and reducing energy consumption.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ZHEJIANG YUANCHU TECHNOLOGY CO LTD
- Filing Date
- 2026-03-31
- Publication Date
- 2026-06-30
AI Technical Summary
Multi-source heterogeneous monitoring data processing tasks are difficult to schedule due to complex dependencies, dynamic heterogeneity of node resources and dynamic changes, resulting in slow response of edge devices and low data transmission efficiency.
We construct a directed acyclic graph based on microservices, integrate the static resource configuration and dynamic load indicators of nodes using the entropy weight method, and adopt a multi-objective reinforcement learning algorithm to collaboratively optimize task execution latency and system energy consumption in a dynamic environment. We also introduce a dynamic threshold early warning mechanism to achieve accurate resource matching and global load balancing.
It improved resource utilization, reduced overall system energy consumption, ensured the continuous and reliable operation of critical businesses, and achieved intelligent matching and global load balancing of heterogeneous resources.
Smart Images

Figure CN122309157A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of edge computing technology, and more specifically to a smart kitchen middleware management system. Background Technology
[0002] With the increasing application of IoT and intelligent technologies in the catering industry, smart kitchen management systems are gradually becoming a key infrastructure for ensuring food safety, improving operational efficiency, and achieving green environmental protection. Traditional centralized cloud processing models often face problems such as high network latency, high bandwidth pressure, and privacy risks when dealing with the high-frequency real-time monitoring data generated in a kitchen environment.
[0003] Publication No.: CN115018672A, a smart kitchen management system based on edge computing and big data analysis; comprising a data acquisition module, a data cleaning module, a data analysis module, a data caching module, a data visualization module, and a central control module. The central control module is used to judge the data analyzed by the data analysis module, assign safety values to various data collected by the data acquisition module, and determine the corresponding weights to calculate the overall safety value of the kitchen. When the central control module determines that the overall safety value of the kitchen does not meet the standard, it sends the information to the smart kitchen cloud platform at the municipal level for corresponding rectification. This achieves the goal of comprehensively assessing kitchen safety based on multiple factors, making the kitchen safety assessment more comprehensive.
[0004] In existing technologies, the scheduling decisions for multi-source heterogeneous monitoring data processing tasks are difficult due to complex dependencies, dynamic heterogeneity of node resources, and dynamic changes, resulting in slow response of edge devices and reduced data transmission efficiency. Summary of the Invention
[0005] The purpose of this invention is to solve the problem mentioned in the background art: 1. The multi-source heterogeneous monitoring data processing task has complex dependencies; 2. The scheduling decision-making difficulties caused by the dynamic heterogeneity and dynamic changes of node resources lead to slow response of edge devices and reduced data transmission efficiency. Therefore, a middleware management system for smart kitchens is proposed.
[0006] A first aspect of this invention provides a smart kitchen middleware management system, the system comprising: Optionally, the system includes: The data acquisition module is used to acquire runtime data and construct a final directed acyclic graph based on the runtime data; the final directed acyclic graph includes multiple nodes and multiple edges; The indicator acquisition module is used to acquire the static and dynamic indicators of each node, and calculate the comprehensive indicator based on the static and dynamic indicators. The indicator judgment module is used to determine that the current edge computing device cannot complete the task if the comprehensive indicator is greater than the threshold. The scheme generation module is used to determine the optimization objective based on the directed acyclic graph, generate the optimal scheduling scheme based on the optimization objective, and execute the optimal scheduling scheme.
[0007] The data acquisition module constructs a directed acyclic graph (DAG) for multi-source monitoring tasks, depicting the dependencies and data flow between tasks. The indicator acquisition module integrates dynamic and static indicators and calculates the comprehensive capabilities of nodes using the entropy weight method, achieving a precise profile of edge device resources. The indicator judgment module, based on a dynamic threshold early warning mechanism, can identify resource bottlenecks in advance and avoid node overload risks, ensuring the continuity of monitoring and early warning services from a resource perspective. The solution generation module, based on this dependency structure and resource profile, uses a multi-objective optimization algorithm to collaboratively balance latency and energy consumption in a dynamic environment, generating and executing the optimal scheduling strategy. The overall technical solution achieves intelligent matching and global load balancing of heterogeneous resources, effectively reducing overall system energy consumption while improving resource utilization. Optionally, the data acquisition module includes: The initial graph construction module is used to determine the data flow direction based on the running data, generate a dependency table based on the data flow direction, determine the node set based on the dependency table, construct a directed edge set based on the dependency table, and generate an initial directed acyclic graph based on the node set and the directed edge set. The final graph construction module is used to obtain attribute labels and execution constraints, add the attribute labels to the initial directed acyclic graph to obtain a labeled directed acyclic graph, and optimize the labeled directed acyclic graph according to the execution constraints to obtain the final directed acyclic graph.
[0008] By constructing an initial graph, the workflow of multi-source monitoring in the smart kitchen is accurately transformed into a structured directed acyclic graph, achieving a reliable mapping from business logic to a computable model. Then, through final graph construction, key attributes such as computational load and data volume are injected into the microservice nodes in the graph, and their dependency execution constraints are formalized. This empowers the abstract graph model into a computational blueprint that can be directly used for quantitative analysis and optimization decisions. This solves the problem that complex edge applications are difficult for scheduling systems to directly understand and process, providing a precise, complete, and computable input foundation for subsequent node capability assessment and multi-objective resource scheduling, thereby supporting the entire system to achieve efficient and reliable intelligent scheduling.
[0009] Optionally, the static indicators in the indicator acquisition module include the processor's overall computing performance, total computing resource capacity, and total storage resource capacity; the dynamic indicators include the remaining available computing resources and the remaining available storage space.
[0010] Optionally, the indicator acquisition module is further configured to construct a data matrix from the static and dynamic indicators of each node, normalize the static and dynamic indicators in the data matrix to obtain a standard data matrix, calculate the importance weight based on the standard data matrix, and calculate a comprehensive indicator for the target node based on the importance weight.
[0011] The data matrix was constructed to integrate and uniformly represent the multidimensional heterogeneous indicators of nodes. Normalization was used to eliminate the influence of different dimensions and ensure the comparability between indicators. Then, the importance weights were automatically calculated based on the data distribution characteristics, overcoming the bias of subjective weighting and objectively reflecting the actual contribution of each indicator in distinguishing node capabilities. Finally, a single comprehensive indicator was generated, which realized the scientific quantification and concise expression of the complex static capabilities and dynamic load status of nodes, providing a clear, reliable and comparable node capability profile for the scheduling system.
[0012] Optionally, the scheme generation module includes: The first operation module is used to determine the initial particles according to the optimization objective, and to randomly generate multiple particle combinations based on the initial particles to obtain an initial population. The second operation module is used to determine the fitness of each particle in the initial population, determine the optimal particle of the population based on the fitness, and initialize the temperature. The third operation module is used to iteratively optimize the initial population according to a preset number of iterations to obtain an intermediate population, determine the optimal particle of the intermediate population based on the intermediate population, record the optimal position of each particle, sort all the optimal positions of individuals in descending order, and take the top three optimal positions of individuals as the guide position set. The fourth operation module is used to update the target particle according to the guiding position set to obtain the final population, determine the fitness of each particle in the final population, and update the fitness of the particle if the fitness of the particle is greater than the fitness of the previous generation particle; otherwise, the fitness of the particle is retained; the target particle is any one of the intermediate population. The fifth operation module is used to determine the optimal particle of the final population based on the final population. If the fitness of the optimal particle of the final population is less than the fitness of the optimal particle of the intermediate population, the number of iterations is increased and the temperature is increased. The sixth operation module is used to output the current best particle in the population if the maximum number of iterations is reached, or if the change in fitness within a consecutive number of iterations is less than the fitness threshold, and to determine the optimal scheduling scheme based on the current best particle in the population.
[0013] The integration of multiple optimization strategies effectively improves the search quality and efficiency of the scheduling scheme: the initial population generation ensures the diversity of search starting points; the fitness evaluation mechanism transforms multiple objectives such as latency and energy consumption into quantifiable optimization guidelines; the elite-guided position set introduced during iteration effectively utilizes historical optimal information to guide the direction of population evolution, avoiding premature convergence, and allows for a certain degree of unfavorable updates when updating fitness, enhancing the algorithm's ability to escape local optima; the feedback mechanism of dynamically adjusting the number of iterations and temperature enables the search process to adaptively balance exploration and development; finally, through strict convergence condition judgment, the approximation of the output scheme to the optimum within an acceptable time is guaranteed.
[0014] Optionally, the fitness calculation formula in the second operation module is as follows:
[0015] Among them, S t For the fitness of the particle, C p Total cost of cloud configuration, T c E represents the total time required to complete the task. p T represents the total energy consumption of the system. d This is the deadline for the task.
[0016] Optionally, the position update formula in the fourth operation module is:
[0017]
[0018] in, Let be the position vector of particle k after the (t+1)th iteration. The current position vector of particle k at the t-th iteration. Let K be the velocity vector of particle k after the (t+1)th iteration. The current flight velocity vector of particle k at the t-th iteration, r i For random vectors, For the Hadamarda product, P i To guide the location set.
[0019] The beneficial effects of this invention are: This invention proposes a smart kitchen middleware management system. By constructing a microservice-based directed acyclic graph, it accurately models the dependencies and data flows between various monitoring tasks. Simultaneously, it combines the entropy weight method with the static resource configuration and dynamic load indicators of nodes to scientifically evaluate the comprehensive computing capabilities of edge devices. Based on this, a multi-objective reinforcement learning algorithm is employed to collaboratively optimize task execution latency and system energy consumption in dynamically changing network and load environments, achieving a dual improvement in performance and energy efficiency. The system introduces a dynamic threshold early warning mechanism to monitor node status in real time and predict overload risks, proactively avoiding resource bottlenecks, thereby ensuring the continuous and reliable operation of critical services such as fume monitoring and fault early warning. Finally, through an adaptive scheduling strategy, the system achieves precise matching and global load balancing of heterogeneous computing resources, improving resource utilization, reducing resource fragmentation and idle time, and lowering overall system energy consumption. Attached Figure Description
[0020] Figure 1 This is a framework diagram of a smart kitchen middleware management system provided in an embodiment of the present invention. Detailed Description To further illustrate the technical means and effects of the present invention in achieving its intended purpose, the following detailed description of the specific implementation methods, structures, features and effects of the present invention, in conjunction with the accompanying drawings and preferred embodiments, is provided below.
[0021] An embodiment of the invention provides a method. See also... Figure 1 , Figure 1 A schematic diagram of a smart kitchen middleware management system provided in an embodiment of the present invention includes: The data acquisition module is used to acquire runtime data and construct the final directed acyclic graph based on the runtime data. The indicator acquisition module is used to acquire the static and dynamic indicators of each node, and calculate the comprehensive indicator based on the static and dynamic indicators. The indicator judgment module is used to determine that the current edge computing device cannot complete the task if the comprehensive indicator is greater than the threshold. The scheme generation module is used to determine the optimization objective based on the directed acyclic graph, generate the optimal scheduling scheme based on the optimization objective, and execute the optimal scheduling scheme.
[0022] The final directed acyclic graph consists of multiple nodes and multiple edges; The smart kitchen middleware management system provided in this invention constructs a directed acyclic graph and evaluates nodes to achieve collaborative optimization of latency and energy consumption in a dynamic environment. Based on a dynamic threshold early warning mechanism, it can proactively avoid node overload risks, ensuring reliable operation of monitoring and early warning services. Ultimately, it achieves precise matching of heterogeneous resources and global load balancing, improving resource utilization and reducing overall system energy consumption.
[0023] In one implementation, the operational data includes: 1. Fume purification monitoring data: Automatically collects fume concentration data at the inlet and outlet ends to compare purification efficiency. When the efficiency is not up to standard, it automatically issues warnings for cleaning and maintenance to ensure that kitchen fumes are discharged in compliance with environmental protection requirements; 2. Real-time equipment condition monitoring data: Monitors equipment condition in real time, issues warnings in advance when abnormalities occur, and supports automatic repair reporting to ensure stable equipment operation and improve maintenance efficiency; 3. Ventilation parameter monitoring and maintenance reminder data: Automatically collects duct wind speed, wind pressure, and temperature data, compares and analyzes them regularly, and uses them as a basis for maintenance reminders to ensure the proper operation of the ventilation system; 4. Automatic detection data of key components: Automatically detects the ignition efficiency of the ignition needle and the operating status of the solenoid valve. When a fault occurs, it is automatically identified and reported in advance to eliminate potential hazards in a timely manner.
[0024] In one implementation, various monitoring functions of the smart kitchen (such as fume purification, equipment operating conditions, ventilation parameters, and component status) are constructed into a refined directed acyclic graph model. This model is then combined with the entropy weight method to fuse the dynamic and static indicators of nodes for comprehensive capability evaluation, providing a precise basis for scheduling decisions. Based on this, the system formalizes the scheduling problem into a multi-objective optimization problem, enabling the generation of optimal scheduling schemes in real time in dynamic environments. This balances overall system energy consumption while maintaining low-latency response, achieving synergistic optimization of performance and efficiency.
[0025] In one implementation, by integrating multi-dimensional real-time monitoring data with dynamic node load assessment, the system can detect potential risks in advance. When the overall capability index of a node falls below a threshold, an early warning can be issued indicating that it cannot reliably complete its tasks, thereby avoiding the scheduling of critical services (such as fault identification or maintenance warnings) to overloaded or underperforming edge devices.
[0026] In one implementation, based on this comprehensive metric and the task dependencies in the directed acyclic graph, computationally intensive tasks (such as data analysis) can be intelligently allocated to nodes with sufficient capacity, while lightweight tasks (such as data acquisition) can be rationally deployed on terminals, achieving fine-grained matching and global load balancing of heterogeneous computing resources. This not only significantly improves the overall resource utilization of the cluster and reduces resource idleness and waste, but also reduces the overall energy consumption of the system by avoiding unnecessary remote transmission and centralized computing.
[0027] In one embodiment, the data acquisition module includes: The initial graph construction module is used to determine the data flow direction based on the running data, generate a dependency table based on the data flow direction, determine the node set based on the dependency table, construct a directed edge set based on the dependency table, and generate an initial directed acyclic graph based on the node set and the directed edge set. The final graph construction module is used to obtain attribute labels and execution constraints, add attribute labels to the initial directed acyclic graph to obtain a labeled directed acyclic graph, and optimize the labeled directed acyclic graph according to the execution constraints to obtain the final directed acyclic graph.
[0028] In one implementation, the data flow is determined based on operational data. All sensor data is first collected uniformly by the data acquisition microservice. The raw data must be processed by the data preprocessing microservice before it can be used by the various analysis microservices. The preprocessed data is then distributed to four parallel specialized analysis microservices: oil fume data flows to the oil fume purification analysis microservice, equipment operation data flows to the equipment condition diagnosis microservice, ventilation parameters flow to the ventilation system evaluation microservice, and component status data flows to the component fault identification microservice. The output results of the four analysis microservices are simultaneously input into the maintenance early warning generation microservice, and the oil fume purification analysis results also need to be separately input into the environmental compliance inspection microservice.
[0029] Dependency table: ; In one implementation, the vertex set contains the above 8 microservices; based on the dependency table, the following directed edges are established: from "data acquisition" to "data preprocessing", from "data preprocessing" to the four analysis microservices respectively, from the four analysis microservices to "maintenance early warning generation" respectively, and from "oil fume purification analysis" to "environmental compliance inspection" in addition; Attribute labels are added to the initial directed acyclic graph to obtain a labeled directed acyclic graph. The resource attributes required for execution are labeled for each microservice node: Data Acquisition Microservice: Large data volume but low computational load, requiring high network bandwidth and real-time performance; Data Preprocessing Microservice: Medium computational load, requiring data cleaning and format conversion capabilities; Fume Purification Analysis Microservice: Requires numerical computation capabilities, handling concentration comparison and efficiency calculation; Equipment Condition Diagnosis Microservice: Requires pattern recognition capabilities, involving simple machine learning; Ventilation System Assessment Microservice: Requires multidimensional data analysis capabilities; Component Fault Identification Microservice: Requires status detection and fault diagnosis algorithms; Maintenance Early Warning Generation Microservice: Strong logical judgment capabilities, requiring a rule engine; Environmental Compliance Inspection Microservice: Requires a regulatory knowledge base and report generation capabilities.
[0030] In one implementation, the label-based directed acyclic graph is optimized based on execution constraints to obtain the final directed acyclic graph. The execution constraints define the execution preconditions for each microservice: Data preprocessing microservice: must wait for the data acquisition microservice to provide complete batch data; Four analysis microservices: can be executed in parallel, but must all wait for data preprocessing to complete; Maintenance early warning generation microservice: must wait for all four analysis microservices to complete; Environmental compliance inspection microservice: can begin only after the fume purification analysis is completed.
[0031] In one embodiment, the static metrics in the metric acquisition module include the processor's overall computing performance, total computing resource capacity, and total storage resource capacity; the dynamic metrics include the remaining available computing resources and the remaining available storage space.
[0032] In one implementation, static metrics (reflecting the inherent hardware capabilities of the node) include: Processor overall computing performance: measures the theoretical peak performance of the node's processor in sequential and parallel computing. Total computing resource capacity: the total computing resources the node can provide. Total storage resource capacity: the total data storage space the node can provide. Dynamic metrics (reflecting the real-time load of the node) include: Remaining available computing resources: the amount of currently unused computing resources. Remaining available storage space: the size of currently unused storage space.
[0033] In one embodiment, the indicator acquisition module is further configured to construct a data matrix from the static and dynamic indicators of each node, normalize the static and dynamic indicators in the data matrix to obtain a standard data matrix, calculate the importance weight based on the standard data matrix, and calculate the comprehensive indicator for the target node based on the importance weight.
[0034] In one implementation, a data matrix is constructed from the static and dynamic metrics of each node: The actual measurement values of these nodes on the five metrics are collected. This data is organized into a table, where each row represents a node and each column represents a metric, forming an original data matrix consisting of the number of nodes multiplied by the five metrics. The static and dynamic metrics in the data matrix are then normalized to obtain a standard data matrix: because the units and numerical ranges of the various metrics differ greatly (e.g., processor frequency is in gigahertz, storage space is in gigabytes), the data in each metric column is standardized; for each metric, the maximum and minimum values across all nodes are identified, and then the metric value for each node is converted into a relative value between 0 and 1. This ensures that a larger value represents stronger capability, thus eliminating the dimensional differences between different metrics.
[0035] In one implementation, importance weights are calculated based on a standard data matrix: The proportion of each indicator is calculated: For each indicator, the standardized value of each node is calculated as a percentage of the total value of that indicator. Information entropy is calculated: According to the information entropy formula, the information entropy of each indicator is calculated. Information entropy reflects the dispersion of the indicator data across all nodes. If the value of an indicator differs little across nodes, its information entropy is high; conversely, if the difference is large, the information entropy is low. Information utility is calculated: Subtracting the information entropy from 1 yields the information utility value. Information utility is the opposite of information entropy; the greater the difference in indicator data, the higher the information utility value. Indicator weights are determined: The information utility value of each indicator is divided by the sum of the information utility values of all indicators to obtain the final weight of that indicator. A higher weight indicates a greater ability of the indicator to distinguish different nodes.
[0036] In one implementation, a comprehensive index is calculated for the target nodes based on their importance weights: the standardized value of each node for each index is multiplied by the corresponding index weight. For each node, the five weighted index values are summed to obtain the node's comprehensive computing power value. This comprehensive value is a number between 0 and 1, with a higher value indicating a stronger comprehensive processing capability for the node.
[0037] In one embodiment, the solution generation module includes: The first operation module is used to determine the initial particles according to the optimization objective, and to randomly generate multiple particle combinations based on the initial particles to obtain the initial population. The second operation module is used to determine the fitness of each particle in the initial population, determine the optimal particle of the population based on the fitness, and initialize the temperature. The third operation module is used to iteratively optimize the initial population according to a preset number of iterations to obtain an intermediate population, determine the optimal particle of the intermediate population based on the intermediate population, record the optimal position of each particle, sort all the optimal positions of individuals in descending order, and take the top three optimal positions of individuals as the guide position set. The fourth operation module is used to update the target particle according to the guide position set to obtain the final population, determine the fitness of each particle in the final population, and update the fitness of the particle if the fitness of the particle is greater than the fitness of the previous generation particle; otherwise, the fitness of the particle is retained; the target particle is any one of the intermediate population. The fifth operation module is used to determine the optimal particle of the final population based on the final population. If the fitness of the optimal particle of the final population is less than that of the optimal particle of the intermediate population, the number of iterations is increased and the temperature is increased. The sixth operation module is used to output the current best particle in the population if the maximum number of iterations is reached, or if the change in fitness within a consecutive number of iterations is less than the fitness threshold, and to determine the optimal scheduling scheme based on the current best particle in the population.
[0038] In one implementation, the optimization objective is to find a static scheduling scheme that minimizes latency and energy consumption for a set of known directed acyclic graphs to be scheduled and edge nodes with known states within a fixed time window.
[0039] In one implementation, a particle represents a complete scheduling scheme. Each particle contains multiple genes, each corresponding to a specific microservice task. Alleles: The value of this gene (allele) indicates the target node ID to which the task is assigned (e.g., 0 represents the local terminal, 1, 2 represent different edge servers). Chromosome structure: If there are M tasks to be scheduled in the current time window, the chromosome is an integer array of length M.
[0040] In one implementation, the improved particle swarm optimization algorithm needs to determine the maximum number of iterations, particle swarm size, DNN model structure (including computational load and task dependencies of each layer), server parameters, network transmission rate, and task deadline before execution. If the fitness of the best particle in the final swarm is less than the fitness of the best particle in the intermediate swarm, the number of iterations is increased and the temperature is increased. For example, if the original number of iterations is 50, 100 more iterations are added, resulting in a total of 150 iterations. The temperature is increased, for example, T1 = T0 / α, where α is the accelerated cooling coefficient with a value between 0 and 1.
[0041] In one embodiment, the fitness calculation formula in the second operation module is as follows:
[0042] Among them, S t For the fitness of the particle, C p Total cost of cloud configuration, T c E represents the total time required to complete the task. p T represents the total energy consumption of the system. d This is the deadline for the task.
[0043] In one implementation, S t The fitness of a particle is denoted by C. A smaller value indicates a better unloading strategy for the particle. Fitness is determined solely by its numerical value. p Total cost of cloud configuration: Total cost of cloud configuration (unit: yuan), which is the total cost of renting cloud servers, calculated based on the server procurement model (on-demand / package) and usage time; T c E represents the total task completion time (in seconds), i.e., the total time from the start of the DNN task to the completion of all layer tasks and the return of results, including computation time and cross-device transmission time; pTotal system energy consumption (unit: joules), which is the sum of energy consumption of terminal devices, edge servers, and cloud servers during task execution; T d The task deadline (in seconds) is the maximum time the user-defined task must be completed (a hard constraint). Exceeding the time limit will trigger a penalty. All of the above values need to be normalized before they can be used in the calculation.
[0044] In one embodiment, the position update formula in the fourth operation module is:
[0045]
[0046] in, Let be the position vector of particle k after the (t+1)th iteration. The current position vector of particle k at the t-th iteration. Let K be the velocity vector of particle k after the (t+1)th iteration. The current flight velocity vector of particle k at the t-th iteration, r i For random vectors, For the Hadamarda product, P i To guide the location set.
[0047] In one implementation, The position vector of particle k after the (t+1)th iteration is a continuous value vector (with values in the range [0,1]), which can be mapped to a complete DNN task offloading strategy (number of servers, type, procurement mode, task-device mapping) through hybrid encoding. The current position vector of particle k at the t-th iteration is the basic input for position update.
[0048] In one implementation, The velocity vector of particle k after the (t+1)th iteration determines the direction and step size of the position update, with a value range of [-0.5, 0.5]; the current velocity vector of particle k at the tth iteration; r i A random vector with values in the range [0,1] is introduced to prevent the algorithm from getting stuck in local optima and to improve the diversity of the search.
[0049] In one implementation, The Hadamard product, i.e., element-wise multiplication of vectors (not matrix multiplication), ensures dimensional consistency in speed updates; P i The guiding position set consists of three reference positions: P1, P2, and P3, which are the positions of the top three particles in terms of group fitness in the t-th iteration; k is the particle number, and t is the iteration number.
[0050] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any way. Although the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some modifications or alterations to the above-disclosed technical content to create equivalent embodiments without departing from the scope of the present invention. Any simple modifications, equivalent changes and alterations made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention should still fall within the scope of the claims of the present invention.
Claims
1. A smart kitchen middleware management system, characterized in that, The system includes: The data acquisition module is used to acquire runtime data and construct a final directed acyclic graph based on the runtime data; the final directed acyclic graph includes multiple nodes and multiple edges; The indicator acquisition module is used to acquire the static and dynamic indicators of each node, and calculate the comprehensive indicator based on the static and dynamic indicators. The indicator judgment module is used to determine that the current edge computing device cannot complete the task if the comprehensive indicator is greater than the threshold. The scheme generation module is used to determine the optimization objective based on the directed acyclic graph, generate the optimal scheduling scheme based on the optimization objective, and execute the optimal scheduling scheme.
2. The smart kitchen platform management system according to claim 1, characterized in that, The data acquisition module includes: The initial graph construction module is used to determine the data flow direction based on the running data, generate a dependency table based on the data flow direction, determine the node set based on the dependency table, construct a directed edge set based on the dependency table, and generate an initial directed acyclic graph based on the node set and the directed edge set. The final graph construction module is used to obtain attribute labels and execution constraints, add the attribute labels to the initial directed acyclic graph to obtain a labeled directed acyclic graph, and optimize the labeled directed acyclic graph according to the execution constraints to obtain the final directed acyclic graph.
3. The smart kitchen middleware management system according to claim 1, characterized in that, The static metrics in the metric acquisition module include processor overall computing performance, total computing resource capacity, and total storage resource capacity. The dynamic metrics include: remaining available computing resources and remaining available storage space.
4. The smart kitchen platform management system according to claim 1, characterized in that, The indicator acquisition module is further configured to construct a data matrix from the static and dynamic indicators of each node, normalize the static and dynamic indicators in the data matrix to obtain a standard data matrix, calculate the importance weight based on the standard data matrix, and calculate the comprehensive indicator for the target node based on the importance weight.
5. A smart kitchen platform management system according to claim 1, characterized in that, The scheme generation module includes: The first operation module is used to determine the initial particles according to the optimization objective, and to randomly generate multiple particle combinations based on the initial particles to obtain an initial population. The second operation module is used to determine the fitness of each particle in the initial population, determine the optimal particle of the population based on the fitness, and initialize the temperature. The third operation module is used to iteratively optimize the initial population according to a preset number of iterations to obtain an intermediate population, determine the optimal particle of the intermediate population based on the intermediate population, record the optimal position of each particle, sort all the optimal positions of individuals in descending order, and take the top three optimal positions of individuals as the guide position set. The fourth operation module is used to update the target particle according to the guiding position set to obtain the final population, determine the fitness of each particle in the final population, and update the fitness of the particle if the fitness of the particle is greater than the fitness of the previous generation particle; otherwise, the fitness of the particle is retained; the target particle is any one of the intermediate population. The fifth operation module is used to determine the optimal particle of the final population based on the final population. If the fitness of the optimal particle of the final population is less than the fitness of the optimal particle of the intermediate population, the number of iterations is increased and the temperature is increased. The sixth operation module is used to output the current best particle in the population if the maximum number of iterations is reached, or if the change in fitness within a consecutive number of iterations is less than the fitness threshold, and to determine the optimal scheduling scheme based on the current best particle in the population.
6. A smart kitchen platform management system according to claim 5, characterized in that, The fitness calculation formula in the second operation module is as follows: ; in, For the fitness of particles, Total cost of cloud configuration This represents the total time required to complete the task. The total energy consumption of the system. This is the deadline for the task.
7. A smart kitchen platform management system according to claim 5, characterized in that, The position update formula in the fourth operation module is as follows: ; in, Let be the position vector of particle k after the (t+1)th iteration. The current position vector of particle k at the t-th iteration. Let K be the velocity vector of particle k after the (t+1)th iteration. The current flight velocity vector of particle k at the t-th iteration. For random vectors, For Hadama accumulation, To guide the location set.