A virtual machine startup control method based on Boolean network model

Optimizing the virtual machine startup sequence through the Boolean network model and the Q-learning algorithm, solving the problems of interaction and resource sharing among virtual machines, improving resource utilization efficiency and startup security.

CN117850970BActive Publication Date: 2025-08-26CHINA TELECOM CLOUD TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202311722384.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-14
Publication Date
2025-08-26
Estimated Expiration
2043-12-14

AI Technical Summary

Technical Problem

The existing virtual machine startup control technology fails to effectively consider the interaction relationship and resource mutual occupation between virtual machines, resulting in resource waste and performance impact.

Method used

The virtual machine startup control method based on the Boolean network model is adopted. By collecting virtual machine status information, a Boolean network model is established, the optimal control sequence is determined using the Q-learning control algorithm, and the virtual machine startup sequence and resource allocation are optimized.

Benefits of technology

It realizes the optimization of the virtual machine startup process from an overall perspective, improves resource utilization efficiency, ensures the accuracy and security of virtual machine startup, and prevents malware attacks, which are flexible and scalable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117850970B_ABST
    Figure CN117850970B_ABST
Patent Text Reader

Abstract

The present invention discloses a virtual machine startup control method based on a Boolean network model, which belongs to the field of communication technology. The method specifically comprises: collecting virtual machine state information, setting logical variables, and expressing them in algebraic form; then establishing a virtual machine Boolean network model according to the algebraic logical variables, determining an initial state and a target state; writing a control algorithm, setting performance indicators of optimal control, solving an optimal control sequence, and finally deploying the algorithm to a virtualization platform or server; determining the startup sequence of the virtual machines according to the optimal control sequence; and monitoring the operation status in real time, thereby solving the problems of coordinating resources during the virtual machine startup process and considering the virtual machine startup in an overall manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of communication technology, and in particular relates to a virtual machine startup control method based on a Boolean network model. Background Art

[0002] Starting a virtual machine requires multiple reads and writes to disk images, which are typically stored on dedicated storage devices. Therefore, starting a large number of virtual machines simultaneously can lead to resource theft, impacting the performance of individual virtual machines. Existing virtual machine startup control technologies only focus on individual virtual machines and fail to consider the system's resource allocation from a holistic perspective by treating multiple virtual machines as a whole.

[0003] For example, a Chinese patent application with publication number CN103970555A discloses an adaptive virtual machine startup control method and device, which is characterized in that by pre-setting the upper limit of the average startup time of the virtual machine and the number of virtual machines started at the same time, the virtual machine requested to be started is judged to enter the startup state or the queue waiting state according to the number of currently started virtual machines and the pre-set number of virtual machines started at the same time; the time from the start of startup to the completion of startup of all virtual machines is counted, and the average startup time of all virtual machines that have been started within a predetermined time period is calculated in real time, and then the number of virtual machines currently started at the same time is adjusted in real time according to the calculated average startup time of the virtual machines within the predetermined time period.

[0004] For example, a Chinese patent with authorization announcement number CN102917046B discloses a method, device and equipment for detecting WebShell, which relates to the field of network security technology. The present invention includes: a node controller selects a virtual machine in the virtual machine data table whose status is running, and checks whether the image file and the startup call file exist, and performs a validity check on the baseline image; if the image file and the startup call file exist and the baseline image is legal, the user name is read and sent to the cloud security authentication server for verification, otherwise the virtual machine status is set to closed; it is determined whether the user is a legally registered user. If so, the node controller reads the user name and the virtual machine name and sends it to the management console for verification, otherwise the virtual machine status is set to closed; it is determined whether the user has run the virtual machine before the cloud system is restarted. If so, the virtual machine is started, and if not, the virtual machine status is set to closed. Implementation of the embodiment of the present invention can automatically restore the work of the virtual machine after the cloud system is restarted and meet the security requirements of the cloud system.

[0005] The above existing technologies all have the following problems: 1) they do not take into account the interaction between virtual machines; 2) they ignore the phenomenon of resource occupation between virtual machines, which wastes available resources. Summary of the Invention

[0006] In response to the shortcomings of the existing technology, the present invention proposes a virtual machine startup control method based on a Boolean network model. It collects virtual machine status information and expresses logical variables in algebraic form to establish a virtual machine Boolean network model. Then, the initial state and target state are determined, the performance indicators of optimal control are set, and the optimal control sequence is solved. Finally, the algorithm is deployed to the virtualization platform to determine the startup order of the virtual machines, solving the problem of coordinating resources during the virtual machine startup process and considering the virtual machine startup as a whole.

[0007] To achieve the above object, the present invention provides the following technical solutions:

[0008] A virtual machine startup control method based on a Boolean network model, comprising:

[0009] Step S1: Collect virtual machine state information, set logical variables, and express them in algebraic form;

[0010] Step S2: define network variables and parameters, and establish a virtual machine Boolean network model based on logical variables in algebraic form;

[0011] Step S3: Determine the initial state and target state, set the performance index of optimal control by writing the Q-learning control algorithm, and solve the optimal control sequence;

[0012] Step S4: Deploy the algorithm to the virtualization platform or server, determine the startup order of the virtual machines according to the optimal control sequence, and monitor the operation status in real time.

[0013] Specifically, the specific steps of step S1 include:

[0014] Step S101: Collect information related to virtual machine startup by monitoring the virtual machine status;

[0015] Step S102: defining corresponding logical variables based on the collected virtual machine status information and setting thresholds for starting or shutting down the virtual machine;

[0016] Step S103: Use Boolean algebra to represent logical variables and their relationships.

[0017] Specifically, the Boolean algebraic expression in step S103 is:

[0018] B=<B,+,·,'>,

[0019] Where B represents a Boolean set, whose elements are 0 and 1, “+” and “·” represent binary operations, and “'” represents a unary operation.

[0020] Specifically, the specific steps of step S2 include:

[0021] Step S201: defining network variables in a virtual machine Boolean network model;

[0022] Step S202: Establish a virtual machine Boolean network model. The logical equation group expression of the virtual machine Boolean network model is:

[0023]

[0024] Where n represents the number of virtual machines, t represents time, v1(t) represents the state variable of the first virtual machine at time t, and v n (t) represents the state variable of the nth virtual machine at time t, v n (t+1) represents the state variable of the nth virtual machine at time (t+1), u1(t) represents the control variable of the first virtual machine at time t, and u n (t) represents the control variable of the nth virtual machine at time t, y n A Boolean function representing the nth virtual machine;

[0025] Step S203: According to the matrix semi-tensor product technology, the dynamic expression of the Boolean control network of the virtual machine is converted into an algebraic form. The specific formula is:

[0026] v(t+1)=Lu(t)v(t),

[0027] Where L represents the transfer matrix of the Boolean control network, u(t) represents the control variable at time t, and v(t) represents the state variable at time t.

[0028] Specifically, the method for determining the initial state and target state in step S3 includes: determining the initial state and target state according to actual needs, system status, business goals and performance indicators

[0029] Specifically, the specific steps of step S3 include:

[0030] Step S301: Determine the initial state and target state;

[0031] Step S302: Using the Q-learning control algorithm, determine the optimal control performance index. The specific formula of the optimal control performance index Q function is:

[0032] Q(u)=q T v(N;u),

[0033] Among them, q T Represents a given vector, u represents the control sequence, v represents the state sequence, and N represents the number of time steps;

[0034] Step S303: judging whether the startup and shutdown conditions of the virtual machine are met based on the virtual machine Boolean network model and the determined performance indicators, and defining the control logic and writing the control code based on the judgment result;

[0035] Step S304: define a state transition equation to represent the evolution of the virtual machine state. The expression of the state transition equation is:

[0036] u(t+1)=T t (u(t),w(t)),

[0037] Among them, w(t) represents the decision corresponding to u(t) at time t, T t (·) indicates the corresponding relationship of quantity;

[0038] Step S305: According to the defined state transition equation and performance index, an optimization method is used to solve the optimal control sequence.

[0039] Specifically, the specific steps of determining the state transition equation in step S304 include:

[0040] Step S3041: Collect system load information through monitoring tools or custom code;

[0041] Step S3042: Determine the state transition equation conditions and judge whether the startup and shutdown conditions of the virtual machine are met;

[0042] Step S3043: Update the status vm_status of the virtual machine according to the judgment result. If the start condition is triggered, vm_status is set to True; if the shutdown condition is triggered, vm_status is set to False.

[0043] Step S3044: Repeat the above steps to continuously update the state of the virtual machine according to the changes in the system state and the adjustment of the threshold.

[0044] Specifically, the specific steps of solving the optimal control sequence in step S305 include:

[0045] Step S3051: Determine the parameters and structure of the Boolean network model and define the objective function;

[0046] Step S3052: Generate all possible states, and calculate the objective function value for each generated state;

[0047] Step S3053: using a heuristic search method to gradually optimize the objective function value and update the state transition table;

[0048] Step S3054: perform constraint processing, check and determine the optimal control sequence, and analyze the optimization results;

[0049] Step S3055: Use data to verify the effectiveness of the Boolean network model heuristic search method, and update and improve the model and heuristic search method.

[0050] Specifically, the method for determining the optimal control sequence in step S3054 is:

[0051] Set u * ={u * (0),...,u * (N-1)} is the optimal control, then:

[0052]

[0053] Among them, v * is with u * The corresponding system trajectory, D(·) represents the KL dispersion, and k represents the control sequence adjustment coefficient.

[0054] Specifically, a virtual machine startup control system based on a Boolean network model includes: a monitoring module, a Boolean network model building module, an optimization target definition module, a control sequence generation module, a virtual machine startup simulation module, a result analysis module, and a model update and improvement module.

[0055] The monitoring module is used to monitor the status of the virtual machine;

[0056] The Boolean network model building module is used to define each state node and the logical relationship between them, and to define input signals and system outputs;

[0057] The optimization target definition module is responsible for minimizing startup time and maximizing resource utilization efficiency;

[0058] The control sequence generation module uses dynamic programming to find the optimal control strategy and generates the optimal control sequence based on the Boolean network model and the optimization target;

[0059] The virtual machine starts a simulation module for simulating virtual machine state changes and recording system output;

[0060] The result analysis module is used to analyze the simulation results and provide visual results display and performance evaluation indicators;

[0061] The model updating and improving module is used to adjust the Boolean network model structure and optimize the logical relationship.

[0062] Compared with the prior art, the present invention has the following beneficial effects:

[0063] 1. The present invention proposes a virtual machine startup control system based on a Boolean network model, and optimizes and improves the architecture, operating steps and processes. The system has the advantages of simple processes, low investment and operating costs, and low production work costs. It regards the originally chaotic virtual machine individuals as an orderly whole, and the chaotic relationships between virtual machines as regular interaction relationships between nodes, thereby looking at the virtual machine startup problem from a holistic perspective.

[0064] 2. The present invention proposes a virtual machine startup control method based on a Boolean network model. By using the Boolean network model, the startup process and various operations of the virtual machine are abstracted into Boolean expressions, thereby achieving fine control of the virtual machine. Compared with traditional methods based on state machines or logic control, this method is more flexible and scalable. At the same time, the resource occupation of each path is taken into consideration, and the optimal path for virtual machine startup under network controllable conditions is calculated in an algebraic form.

[0065] 3. The present invention proposes a virtual machine startup control method based on a Boolean network model, which adopts a multi-level startup verification mechanism and ensures the accuracy and security of the virtual machine startup process through multiple iterative verifications, effectively preventing malware virus attacks and hackers from invading and destroying the virtual machine, and has portability and versatility. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] Figure 1 This is a flow chart of a virtual machine startup control method based on a Boolean network model of the present invention;

[0067] Figure 2 This is a Boolean control network model diagram of a virtual machine startup control method based on a Boolean network model of the present invention;

[0068] Figure 3 This is a flow chart of a virtual machine startup control process of a virtual machine startup control method based on a Boolean network model of the present invention;

[0069] Figure 4 This is an architecture diagram of a virtual machine startup control system based on a Boolean network model of the present invention. DETAILED DESCRIPTION

[0070] In order to make the technical means, creative features, objectives and effects achieved by the present invention easy to understand, it should be noted that in the description of the present invention, the terms "center", "up", "down", "left", "right", "vertical", "horizontal", "inside", "outside" and the like indicate directions or positional relationships based on the directions or positional relationships shown in the accompanying drawings, which are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific direction, be constructed and operated in a specific direction, and therefore cannot be understood as a limitation on the present invention. In addition, the terms "No. 1", "No. 2" and "No. 3" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance. The present invention will be further explained below in conjunction with specific embodiments.

[0071] Example 1

[0072] See also Figure 1-Figure 3 The present invention provides an embodiment of a virtual machine startup control method based on a Boolean network model, comprising the following steps:

[0073] Step S1: Collect virtual machine state information, set logical variables, and express them in algebraic form;

[0074] Virtual machine status information is a key indicator of a virtual machine's operational status, including CPU utilization, memory usage, and disk I / O. This status information provides input to the Boolean network model, in turn influencing the state of logical variables. Logical variables are a core component of virtual machine startup control methods, representing the startup or shutdown status of a virtual machine. The relationships between logical variables can be determined based on virtual machine status information.

[0075] Step S2: define network variables and parameters, and establish a virtual machine Boolean network model based on logical variables in algebraic form;

[0076] The functions and purposes of using algebraic representations of logical variables are: 1) accurately describing logical variables and their relationships; 2) converting logical operations into numerical operations; 3) enabling parameterized control; 4) enabling logical reasoning; and 5) simplifying implementation. The present invention's use of algebraic representations of logical variables can further formalize and standardize the virtual machine startup control method, converting complex logical relationships into simple mathematical operations and enabling parameterized control of virtual machine startup and shutdown behaviors.

[0077] Step S3: Determine the initial state and target state, set the performance index of optimal control by writing the Q-learning control algorithm, and solve the optimal control sequence;

[0078] Commonly used control algorithms in the virtual machine startup control method of the Boolean network model include: dynamic programming, reinforcement learning, deep learning, genetic algorithm, ant colony optimization algorithm, simulated annealing algorithm, and Q-learning. Dynamic programming is an effective method for solving the optimal control sequence. It decomposes the problem into a series of sub-problems and solves the sub-problems recursively from back to front to ultimately obtain the optimal solution. Reinforcement learning allows the intelligent agent to interact with the environment and learn from it to find the optimal control strategy. Deep learning uses deep neural networks to learn the complex mapping relationship between input and output. The genetic algorithm is an optimization algorithm based on the principle of biological evolution. It finds the optimal solution by simulating operations such as selection, crossover and mutation in the biological evolution process. The ant colony optimization algorithm simulates the behavioral patterns of ants during foraging and finds the optimal solution by simulating the pheromone transmission process of ants. The simulated annealing algorithm finds the optimal solution by simulating the metal annealing process. The Q-learning algorithm is an algorithm based on reinforcement learning. It gradually approaches the optimal solution by learning the Q function and finds the optimal control strategy. It can learn and make decisions in uncertain environments, and even does not require an environmental model. The algorithm is simple and easy to implement. The present invention adopts the Q-learning algorithm to make the Boolean network model have better convergence, continuity, scalability and adaptability, and can handle large-scale state spaces.

[0079] Step S4: Deploy the algorithm to the virtualization platform or server, determine the startup order of the virtual machines according to the optimal control sequence, and monitor the operation status in real time.

[0080] Determining the startup order of virtual machines typically involves the following steps:

[0081] (1) Based on the defined optimization objective, use appropriate algorithms to solve the optimal control sequence;

[0082] (2) Determine the initial startup state of the virtual machine based on the optimal control sequence;

[0083] (3) Starting from the initial startup state, each state transition is triggered in sequence according to the order of the optimal control sequence until the final target state is reached;

[0084] (4) According to the determined startup sequence and state transition relationship, simulate the startup process of the virtual machine and update it.

[0085] The specific steps of step S1 include:

[0086] Step S101: Collect information related to virtual machine startup by monitoring the virtual machine status;

[0087] Obtain information such as the virtual machine's startup status and system load through log files, monitoring tools, or visual interfaces.

[0088] Step S102: defining corresponding logical variables based on the collected virtual machine status information and setting thresholds for starting or shutting down the virtual machine;

[0089] The present invention emphasizes that determining the threshold for starting or shutting down a virtual machine is to trigger the start-up or shutdown action of the virtual machine according to the system state.

[0090] Step S103: Use Boolean algebra to represent logical variables and their relationships.

[0091] Boolean algebra uses intersection, union, or complement to represent set operations, and uses AND, OR, and NOT logical operators to represent logical relationships. If each virtual machine is regarded as a node v in a Boolean control network, and the virtual machine is turned on and off, corresponding to the node's 1 and 0 states, then the node's value range v∈B={1,0} is the logical domain. Using matrices to represent logic, 1 is equivalent to Equating 0 to H stands for transpose.

[0092] The Boolean algebraic expression in step S103 is:

[0093] B=<B,+,·,'>,

[0094] Where B represents a Boolean set, whose elements are 0 and 1, “+” and “·” represent binary operations, and “'” represents a unary operation.

[0095] The specific steps of step S2 include:

[0096] Step S201: defining network variables in a virtual machine Boolean network model;

[0097] Common network variables include: network status variables, traffic variables, delay variables, availability variables and load variables.

[0098] Step S202: Establish a virtual machine Boolean network model. The logical equation group expression of the virtual machine Boolean network model is:

[0099]

[0100] Where n represents the number of virtual machines, t represents time, v1(t) represents the state variable of the first virtual machine at time t, and v n (t) represents the state variable of the nth virtual machine at time t, v n (t+1) represents the state variable of the nth virtual machine at time (t+1), u1(t) represents the control variable of the first virtual machine at time t, and u n (t) represents the control variable of the nth virtual machine at time t, y n The Boolean function representing the nth virtual machine, the state space set

[0101] Step S203: According to the matrix semi-tensor product technology, the dynamic expression of the Boolean control network of the virtual machine is converted into an algebraic form. The specific formula is:

[0102] v(t+1)=Lu(t)v(t),

[0103] and

[0104]

[0105] Where L represents the transfer matrix of the Boolean control network, u(t) represents the control variable at time t, and v(t) represents the state variable at time t.

[0106] The matrix semi-tensor product technique is a matrix operation method that combines two matrices into a larger matrix. Specifically, one matrix is ​​expanded into a three-dimensional tensor, with each slice being the original moment. The other matrix is ​​converted into a two-dimensional matrix and multiplied with each tensor slice to generate a new three-dimensional tensor. The final result is a three-dimensional tensor that multiplies the rows of the first matrix by the columns of the second matrix and divides them into multiple slices. The present invention uses the matrix semi-tensor product technique, which not only maintains all the basic properties of the original matrix multiplication but also has a certain degree of commutativity, making it more convenient to apply to logical functions.

[0107] The method for determining the initial state and the target state in step S3 includes: determining the initial state and the target state according to actual requirements, system status, business objectives and performance indicators.

[0108] The specific steps of step S3 include:

[0109] Step S301: Determine the initial state and target state;

[0110] For a Boolean control network, if there exists a control sequence that allows the network to reach the target state from the initial state in t steps, and the control sequence is given, the network is said to be t-step reachable. For all control sequences in a Boolean control network, there exists an optimal control sequence that can reach the target state from the initial state in the shortest time and with the highest accuracy.

[0111] Consider the Boolean control network of a virtual machine. For any given initial state v0, the target state v d and t, if there exists a control sequence {u(0),...,u(t-1)} such that the trajectory of the Boolean control network of the virtual machine satisfies v(t)=v d And v(0)=v0, then the target state v dis the state reachable in t steps with v0 as the initial state.

[0112] Assuming that all virtual machines are initially in the off state and the goal is to turn on all virtual machines, it is necessary to design a virtual machine startup control method, that is, to design a set of control sequences so that the Boolean control network of the virtual machine can be switched from the state to the state in the shortest time. Arrival Status

[0113] Step S302: Using the Q-learning control algorithm, determine the optimal control performance index. The specific formula of the optimal control performance index Q function is:

[0114] Q(u)=q T v(N;u),

[0115] Among them, q T Represents a given vector, u represents the control sequence, v represents the state sequence, and N represents time

[0116] number of steps;

[0117] The Q-learning control algorithm selects an action based on the current state, executes the action, and obtains a reward and a new state. The algorithm then updates the value estimate of the previous state-action pair, or Q function, based on the new state and reward until convergence is reached. The implementation steps of the Q-learning algorithm are as follows:

[0118] (1) Initialize the Q-table: The Q-table is a two-dimensional array where rows represent states and columns represent actions. Each element in the Q-table represents the estimated value of performing an action in a given state. At the beginning, all elements in the Q-table are initialized to 0 or a small random value.

[0119] (2) For each time step:

[0120] (a) Select an action: In the current state, use the ε-greedy strategy to select an action. The strategy selects a random action with probability ε and the optimal action in the current state with probability 1-ε.

[0121] (b) Execute the action and get the reward and new state: Execute the selected action G and get the reward R and the new state S';

[0122] (c) Update the Q table: Use the new state S' and reward R to update the corresponding element in the Q table. Specifically, if the new state S' is the terminal state, then set the element at the corresponding position to the value of the terminal state; otherwise, update the element at the corresponding position to:

[0123] W(1-α)+α(R+γ*maxQ(S′,G)),

[0124] Among them, W represents the original value, α is the learning rate, and γ is the decay factor;

[0125] (d) Repeat the above steps until convergence or the preset number of iterations is reached.

[0126] Step S303: judging whether the startup and shutdown conditions of the virtual machine are met based on the virtual machine Boolean network model and the determined performance indicators, and defining the control logic and writing the control code based on the judgment result;

[0127] The performance indicators of the virtual machine Boolean network model include: network delay, network bandwidth, network packet loss rate, network throughput, network availability and network security.

[0128] Step S304: define a state transition equation to represent the evolution of the virtual machine state. The expression of the state transition equation is:

[0129] u(t+1)=T t (u(t),w(t)),

[0130] Among them, w(t) represents the decision corresponding to u(t) at time t, T t (·) indicates the corresponding relationship of quantity;

[0131] Step S305: According to the defined state transition equation and performance index, an optimization method is used to solve the optimal control sequence.

[0132] Common optimization methods used to solve the optimal control sequence include:

[0133] (1) Polynomial hybrid system method: It uses polynomial functions to approximate the relationship between control input and state variables. It has the characteristics of low computational complexity and fast convergence speed. However, it has strict requirements on the dynamic model of the problem and needs to determine the order and form of the polynomial, which increases the complexity of the algorithm.

[0134] (2) Optimization method combining analytical and numerical methods: It is a method that combines analytical and numerical calculations, including constrained gradient method and feasible direction method, which is usually used to solve complex optimization problems or those that cannot be solved by analytical methods;

[0135] (3) Network optimization method: This method uses a network graph as a mathematical model and graph theory to search for optimization. This method is usually used to solve large-scale problems.

[0136] (4) Direct methods such as interval elimination method and hill climbing method can be used.

[0137] The present invention uses a network optimization method to solve the optimization problem involving a large number of nodes and edges, comprehensively considers multiple factors and various constraints, can optimize multiple goals at the same time, and can obtain the optimal solution in a relatively short time.

[0138] The specific steps of determining the state transition equation in step S304 include:

[0139] Step S3041: Collect system load information through monitoring tools or custom code;

[0140] Step S3042: Determine the state transition equation conditions and judge whether the startup and shutdown conditions of the virtual machine are met;

[0141] Step S3043: Update the status vm_status of the virtual machine according to the judgment result. If the start condition is triggered, vm_status is set to True; if the shutdown condition is triggered, vm_status is set to False.

[0142] Step S3044: Repeat the above steps to continuously update the state of the virtual machine according to the changes in the system state and the adjustment of the threshold.

[0143] The specific steps of solving the optimal control sequence in step S305 include:

[0144] Step S3051: Determine the parameters and structure of the Boolean network model and define the objective function;

[0145] The objective function of a Boolean network model can be a function of variables such as network status, logical operations, and time, and is used to evaluate and optimize network performance.

[0146] Step S3052: Generate all possible states, and calculate the objective function value for each generated state;

[0147] Step S3053: using a heuristic search method to gradually optimize the objective function value and update the state transition table;

[0148] The heuristic search method is a search method based on experience and trial and error. Its performance and the quality of the results depend on the selected search strategy and the quality of the initial solution. The steps of the heuristic search method to gradually optimize the objective function value usually include:

[0149] (1) Initialization: Select an initial solution, usually a random solution, as the current optimal solution;

[0150] (2) Evaluate the current solution: calculate the objective function value of the current optimal solution;

[0151] (3) Search: According to the search strategy, search for new possible solutions in the neighborhood of the current optimal solution and calculate their objective function values;

[0152] (4) Comparison: Compare the newly found solution with the current optimal solution. If the newly found solution is better than the current optimal solution, update the current optimal solution.

[0153] (5) Iteration: Repeat steps 2-4 until the termination condition is reached;

[0154] (6) Output: Output the current optimal solution and its objective function value.

[0155] Step S3054: perform constraint processing, check and determine the optimal control sequence, and analyze the optimization results;

[0156] Step S3055: Use data to verify the effectiveness of the Boolean network model heuristic search method, and update and improve the model and heuristic search method.

[0157] The method for determining the optimal control sequence in step S3054 is:

[0158] Set u * ={u * (0),...,u * (N-1)} is the optimal control, then:

[0159]

[0160] Among them, v * is with u * The corresponding system trajectory, D(·) represents the KL dispersion, and k represents the control sequence adjustment coefficient.

[0161] Set the switching function x i (t),i∈{1,...,2 n}, t∈A, A={0,1,...,N-1}, then

[0162]

[0163] If for some i:

[0164] x i (t)>x j (t),j≠i,j∈{1,...,2 n},

[0165] but t∈A.

[0166] Example 2

[0167] See also Figure 4Another embodiment of the present invention provides a virtual machine startup control system based on a Boolean network model, comprising: a monitoring module, a Boolean network model establishment module, an optimization target definition module, a control sequence generation module, a virtual machine startup simulation module, a result analysis module, and a model update and improvement module.

[0168] The monitoring module is used to monitor the status of the virtual machine;

[0169] The Boolean network model building module is used to define each state node and the logical relationship between them, and to define input signals and system outputs;

[0170] The optimization target definition module is responsible for minimizing startup time and maximizing resource utilization efficiency;

[0171] The control sequence generation module uses dynamic programming to find the optimal control strategy and generates the optimal control sequence based on the Boolean network model and the optimization target;

[0172] The virtual machine starts a simulation module for simulating virtual machine state changes and recording system output;

[0173] The result analysis module is used to analyze the simulation results and provide visual results display and performance evaluation indicators;

[0174] The model updating and improving module is used to adjust the Boolean network model structure and optimize the logical relationship.

[0175] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the purpose of the present invention and the claims, which are all protected by the present invention.

Claims

1. A virtual machine startup control method based on a Boolean network model, characterized in that: include: Step S1: Collect virtual machine state information, set logical variables, and express them in algebraic form; Step S2: define network variables and parameters, and establish a virtual machine Boolean network model based on logical variables in algebraic form; Step S3: Determine the initial state and target state, set the performance index of optimal control by writing the Q-learning control algorithm, and solve the optimal control sequence; Step S4: Deploy the algorithm to the virtualization platform or server, determine the startup order of the virtual machines according to the optimal control sequence, and monitor the operation status in real time.

2. A virtual machine startup control method based on a Boolean network model according to claim 1, characterized in that: The specific steps of step S1 include: Step S101: Collect information related to virtual machine startup by monitoring the virtual machine status; Step S102: defining corresponding logical variables based on the collected virtual machine status information and setting thresholds for starting or shutting down the virtual machine; Step S103: Use Boolean algebra to represent logical variables and their relationships.

3. A virtual machine startup control method based on a Boolean network model as claimed in claim 2, characterized in that: The Boolean algebra expression in step S103 is: B=<B,+,·,'>, Where B represents a Boolean set, whose elements are 0 and 1, "+" and "·" represent binary operations, and "'" represents a unary operation.

4. A virtual machine startup control method based on a Boolean network model as claimed in claim 3, characterized in that: The specific steps of step S2 include: Step S201: defining network variables in a virtual machine Boolean network model; Step S202: Establish a virtual machine Boolean network model. The logical equation group expression of the virtual machine Boolean network model is: Where n represents the number of virtual machines, t represents time, v1(t) represents the state variable of the first virtual machine at time t, and v n (t) represents the state variable of the nth virtual machine at time t, v n (t+1) represents the state variable of the nth virtual machine at time (t+1), u1(t) represents the control variable of the first virtual machine at time t, and u n (t) represents the control variable of the nth virtual machine at time t, y n A Boolean function representing the nth virtual machine; Step S203: According to the matrix semi-tensor product technology, the dynamic expression of the Boolean control network of the virtual machine is converted into an algebraic form. The specific formula is: v(t+1)=Lu(t)v(t), Where L represents the transfer matrix of the Boolean control network, u(t) represents the control variable at time t, and v(t) represents the state variable at time t.

5. A virtual machine startup control method based on a Boolean network model as claimed in claim 4, characterized in that: The method for determining the initial state and the target state in step S3 includes: determining the initial state and the target state according to actual needs, system status, business goals and performance indicators.

6. A virtual machine startup control method based on a Boolean network model as claimed in claim 5, characterized in that: The specific steps of step S3 include: Step S301: Determine the initial state and target state; Step S302: Using the Q-learning control algorithm, determine the optimal control performance index. The specific formula of the optimal control performance index Q function is: Q(u)=q T v(N;u), Among them, q T Represents a given vector, u represents the control sequence, v represents the state sequence, and N represents the number of time steps; Step S303: judging whether the startup and shutdown conditions of the virtual machine are met based on the virtual machine Boolean network model and the determined performance indicators, and defining the control logic and writing the control code based on the judgment result; Step S304: define a state transition equation to represent the evolution of the virtual machine state. The expression of the state transition equation is: u(t+1)=T t (u(t),w(t)), Among them, w(t) represents the decision corresponding to u(t) at time t, T t (·) indicates the corresponding relationship of quantity; Step S305: According to the defined state transition equation and performance index, an optimization method is used to solve the optimal control sequence.

7. A virtual machine startup control method based on a Boolean network model as claimed in claim 6, characterized in that: The specific steps of determining the state transfer equation in step S304 include: Step S3041: Collect system load information through monitoring tools or custom code; Step S3042: Determine the state transition equation conditions and judge whether the startup and shutdown conditions of the virtual machine are met; Step S3043: Update the status vm_status of the virtual machine according to the judgment result. If the start condition is triggered, vm_status is set to True; if the shutdown condition is triggered, vm_status is set to False. Step S3044: Repeat the above steps to continuously update the state of the virtual machine according to the changes in the system state and the adjustment of the threshold.

8. A virtual machine startup control method based on a Boolean network model as claimed in claim 7, characterized in that: The specific steps of solving the optimal control sequence in step S305 include: Step S3051: Determine the parameters and structure of the Boolean network model and define the objective function; Step S3052: Generate all possible states, and calculate the objective function value for each generated state; Step S3053: using a heuristic search method to gradually optimize the objective function value and update the state transition table; Step S3054: perform constraint processing, check and determine the optimal control sequence, and analyze the optimization results; Step S3055: Use data to verify the effectiveness of the Boolean network model heuristic search method, and update and improve the model and heuristic search method.

9. A virtual machine startup control method based on a Boolean network model as claimed in claim 8, characterized in that: The method for determining the optimal control sequence in step S3054 is: Set u * ={u * (0),...,u * (N-1)} is the optimal control, then: Among them, v * is with u * The corresponding system trajectory, D(·) represents the KL dispersion, and k represents the control sequence adjustment coefficient.

10. A virtual machine startup control method based on a Boolean network model according to claim 9, characterized in that: include: Monitoring module, Boolean network model building module, optimization target definition module, control sequence generation module, virtual machine startup simulation module, result analysis module, model update and improvement module, The monitoring module is used to monitor the status of the virtual machine; The Boolean network model building module is used to define each state node and the logical relationship between them, and to define input signals and system outputs; The optimization target definition module is responsible for minimizing startup time and maximizing resource utilization efficiency; The control sequence generation module uses dynamic programming to find the optimal control strategy and generates the optimal control sequence based on the Boolean network model and the optimization target; The virtual machine starts a simulation module for simulating virtual machine state changes and recording system output; The result analysis module is used to analyze the simulation results and provide visual results display and performance evaluation indicators; The model updating and improving module is used to adjust the Boolean network model structure and optimize the logical relationship.

Citation Information

Patent Citations

  • Virtual machine starting control method in cloud system

    CN102917046B

  • Self-adapting virtual machine start control method and device

    CN103970555A

  • Group virtual machine scheduling policy for cloud computing environment

    CN107748693A

  • System for boolean network configuration of a wireless network

    US20070298821A1