Multi-controller load optimization method and system based on time sequence load prediction

By using a multi-controller load optimization method based on time-series load prediction, and leveraging the Amplifier model and the superior-inferiority distance method to optimize switch migration, the problem of unbalanced controller load in SD-IoT is solved. This achieves the best trade-off between load balancing and migration costs, and improves network management efficiency and stability.

CN121814766APending Publication Date: 2026-04-07HANGZHOU NORMAL UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-31
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

In existing technologies, the problem of unbalanced controller load in software-defined Internet of Things (SD-IoT) is difficult to solve effectively, and switch migration strategies involve unnecessary migration and high migration costs, which increases the complexity of network management.

Method used

A multi-controller load optimization method based on time-series load prediction is adopted. The Amplifier model is used to predict the historical load data of the controllers, identify overloaded controllers, and build an optimization model to screen the switches to be migrated. The target controller is selected by combining the superior and inferior solution distance method, thus optimizing the switch migration process.

Benefits of technology

Dynamic load balancing of the controller is achieved, reducing the interference of migration operations on network performance, improving load balancing efficiency and system stability, and reducing migration overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121814766A_ABST
    Figure CN121814766A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-controller load optimization method and system based on time sequence load prediction, and belongs to the technical field of communication networks. The method comprises the following steps: predicting a future load based on historical load data of each controller, and determining an overload controller according to the predicted load; obtaining a switch set managed by an overload controller, determining a load amount needing to be migrated based on a predicted load and a dynamic overload threshold value, constructing an optimization model which takes the condition that the total load of the switches is not lower than the load amount needing to be migrated as a constraint and takes the maximum load matching value as a target, and screening switches to be migrated; for each to-be-migrated switch, traversing an underload controller set, calculating a load balancing rate and migration cost after migration, comprehensively evaluating each candidate controller by adopting a superior and inferior solution distance method, and determining a target controller; and finally, each switch is migrated to a corresponding target controller to realize load balancing. According to the invention, through combination of time sequence prediction and multi-objective optimization, the accuracy of load identification, the pertinence of migration selection and the overall balance efficiency of the system are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication network technology, specifically to a multi-controller load optimization method and system based on time-series load prediction. Background Technology

[0002] The Internet of Things (IoT) is an intelligent network architecture that uses advanced information technology to connect physical devices to the internet, enabling efficient data collection, transmission, and processing. However, with the rapid expansion of network scale, the transmission and processing of massive amounts of data places higher demands on the IoT. The coupling between the control plane and data plane in traditional IoT architectures makes network management and fault diagnosis more difficult. Software Defined Networking (SDN), as a new network paradigm, separates the data plane from the control plane, enabling centralized management and control of the network. Integrating SDN with the IoT to form Software Defined IoT (SD-IoT) can reduce the complexity of network management and improve network flexibility.

[0003] In traditional SD-IoT architectures, a single controller typically manages the entire network. However, as network scale increases, inherent issues such as single points of failure, performance limitations, and poor scalability gradually become bottlenecks for the entire system. To address these problems, the SDN multi-controller architecture has emerged and become a major development trend. This architecture's control plane consists of multiple physically distributed but logically centralized controllers, offering good scalability. However, due to the diverse range of heterogeneous devices in the IoT, with varying transmission rates, the controller load distribution becomes uneven. Furthermore, the frequent addition and departure of IoT devices constantly alters network traffic patterns, forcing controllers to dynamically adjust their load distribution strategies.

[0004] To address controller load imbalance, switch migration-based controller load optimization strategies have become a primary solution. These strategies optimize load distribution by selecting suitable switches from subdomains managed by overloaded controllers and migrating them to subdomains managed by underloaded controllers. Kazemiesfeh et al., in their paper "Enhanced load balancing technique for SDN controllers: A multi-threshold approach with migration of switches," proposed a multi-threshold-based load balancing scheme. This scheme categorizes controllers into idle, normal, high-load, and overload levels using multiple thresholds. When a controller is at a high-load level or higher, the switch to be migrated is selected based on switch resource consumption and distance metrics. Then, by combining the target controller's load status and migration efficiency, the optimal migration target is determined, achieving efficient load balancing among controllers. However, existing solutions have limitations. They cannot effectively utilize historical load data for prediction, leading to unnecessary switch migrations. Furthermore, they typically select switches with the highest or lowest flow request rates for migration, failing to effectively address controller overload issues. Furthermore, existing methods often select target controllers based on the remaining processing capacity of the controllers, making it difficult to strike a balance between load balancing effectiveness and migration costs. This can lead to increased migration overhead and may even trigger new load imbalance problems. Summary of the Invention

[0005] To address the problems of ineffective identification of overloaded controllers, low load balancing performance, and high migration costs in existing software-defined Internet of Things (Software-Defined Internet of Things) switch migration strategies, this invention provides a multi-controller load optimization method based on time-series load prediction. This method uses historical load data to predict controller load, thereby effectively identifying overloaded controllers and optimizing the switch migration process.

[0006] This invention is achieved through the following technical solution: Firstly, this application also provides a multi-controller load optimization method based on time-series load prediction, comprising the following steps: Step 1: Predict the future load of each controller based on its historical load data, and determine the overload controller based on the predicted load. Step 2: Obtain the set of switches managed by the overload controller, and determine the amount of load to be migrated based on the controller's predicted load and dynamic overload threshold; construct an optimization model with the constraint that the total load of the selected switches is not less than the amount of load to be migrated, and with the goal of maximizing the matching value between the load of each switch and the amount of load to be migrated, and filter out the set of switches to be migrated. Step 3: For each switch to be migrated, traverse the set of underloaded controllers and calculate the system load balancing rate and migration cost after migrating the switch to each underloaded controller; based on the load balancing rate and migration cost, use the superior-inferior solution distance method to comprehensively evaluate each candidate controller and then determine the target controller. Step 4: Migrate each switch to be migrated to the corresponding target controller to achieve controller load balancing.

[0007] Preferably, the step 1 of predicting the future load of each controller based on its historical load data includes: The Amplifier model is used to perform time-series prediction on the historical load data of each controller. The historical load data includes a sequence of the number of Packet-In messages received and processed by the controller in multiple consecutive time periods.

[0008] Preferably, the Amplifier model predicts future loads, including: The spectrum is obtained by performing a discrete Fourier transform on the input multivariate load sequence; The spectrum is flipped to exchange high-energy components in the low-frequency region with low-energy components in the high-frequency region; Add the flipped spectrum to the original spectrum and then perform an inverse discrete Fourier transform to obtain an energy-enhanced time-domain sequence. The time-domain sequence is subjected to seasonal trend decomposition to extract trend components and seasonal components; The trend component and seasonal component are predicted using a feedforward neural network respectively, and the prediction results are added together to obtain the preliminary predicted load; The preliminary predicted load is subjected to spectral recovery and scaling correction to obtain the final predicted load.

[0009] Preferably, the determination of the dynamic overload threshold of the controller includes: The dynamic overload threshold of each controller is calculated based on the total number of Packet-In messages processed in the current time period, using the following formula:

[0010] in, Indicates controller The total number of Packet-In messages processed within a time period. is a coefficient.

[0011] Preferably, step 2 is performed as follows: Obtain the set of switches managed by each overload controller, and calculate the amount of load to be migrated based on the difference between the predicted load of the controller and the dynamic overload threshold; An optimization model is established with the selection of each switch as the decision variable, and the constraint is that the total load of the selected switches is not less than the required load to be migrated. The optimization model is solved with the objective function of maximizing the matching value between the load of each switch and the load to be migrated, and the set of switches to be migrated is obtained.

[0012] Preferably, the matching value of the load to be migrated is the migration value, expressed as follows:

[0013] in, For the load to be migrated, For controller The total number of Packet-In messages processed within a time period. It is a switch.

[0014] Preferably, the method for determining the target controller in step 3 is as follows: For each switch to be migrated, iterate through each candidate controller in the set of underloaded controllers and calculate the system load balancing rate and migration cost after migrating the switch to the candidate controller. A decision matrix is ​​constructed based on the load balancing rate and migration cost, and the relative proximity of each candidate controller is calculated using the superior-inferior solution distance method. The candidate controller with the highest relative similarity is selected as the target controller.

[0015] Preferably, the comprehensive evaluation of each candidate controller using the superior-inferior solution distance method includes the following steps: The decision matrix is ​​normalized to obtain a normalized matrix; Determine the ideal optimal solution and the ideal worst solution; Calculate the Euclidean distance from each candidate controller to the ideal optimal solution and the ideal worst solution; Calculate the relative proximity of each candidate controller and sort them in descending order.

[0016] Preferably, step 4, which involves migrating each switch to be migrated to its corresponding target controller, includes: Based on the migration instructions constructed from the switches to be migrated and the target controller, the leader controller issues the migration instructions, and the switch migration operation is completed through controller role switching based on the OpenFlow protocol, thereby achieving controller load balancing.

[0017] Secondly, this application also provides a multi-controller load optimization system based on time-series load prediction, comprising: The overload module is used to predict the future load of each controller based on its historical load data, and to determine the overload controller based on the predicted load. The migration switch module is used to obtain the set of switches managed by the overload controller, and determine the amount of load to be migrated based on the controller's predicted load and dynamic overload threshold; construct an optimization model with the constraint that the total load of the selected switches is not less than the amount of load to be migrated, and with the goal of maximizing the matching value between the load of each switch and the amount of load to be migrated, to select the set of switches to be migrated. The target controller module is used to traverse the set of underloaded controllers for each switch to be migrated, and calculate the system load balancing rate and migration cost after migrating the switch to each underloaded controller; based on the load balancing rate and migration cost, the superior-inferior solution distance method is used to comprehensively evaluate each candidate controller, and then determine the target controller; The load balancing module is used to migrate each switch to the corresponding target controller, thereby achieving controller load balancing.

[0018] Compared with the prior art, the present invention has the following beneficial technical effects: This application provides a multi-controller load optimization method based on time-series load prediction. It utilizes a time-series load prediction mechanism, combined with multi-objective optimization and migration cost control, to achieve dynamic load balancing of multiple controllers in a software-defined Internet of Things (SD-IoT). First, by introducing an Amplifier model to predict the historical load of controllers in a time-series manner, it can accurately identify controllers that may continue to be overloaded in the future, avoiding misjudgments and unnecessary migration operations caused by relying solely on instantaneous load data. Second, the switch selection process is modeled as a constrained optimization problem. Using the amount of load to be migrated as a benchmark, the goal is to maximize the matching value between the switch load and the load to be migrated, thereby accurately selecting switches to be migrated and effectively alleviating the load pressure on overloaded controllers. Finally, in the target controller selection stage, the system load balancing rate and migration cost after migration are comprehensively considered, and a multi-indicator decision-making method using the superior-inferior solution distance method is applied to achieve the optimal trade-off between load balancing effect and migration overhead. This scheme, through three steps—prediction-driven, optimization selection, and cost control—significantly improves the load balancing efficiency and stability of multi-controller systems and reduces the interference of migration operations on network performance.

[0019] This application also proposes a multi-controller load optimization system based on time-series load prediction, an electronic device, and a computer storage medium, which possess all the advantages of the aforementioned multi-controller load optimization method based on time-series load prediction. Attached Figure Description

[0020] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 This is a framework diagram of the switch migration system of the present invention; Figure 2 This is a flowchart of the switch migration method of the present invention; Figure 3 This is a schematic diagram of the switch migration execution process of the present invention; Figure 4 This is a diagram of the Amplifier model of the present invention. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.

[0023] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0024] A multi-controller load optimization method based on time-series load prediction includes the following steps: Step 1: Monitor the number of Packet-In messages received and processed by each controller within a unit time period to obtain the current load of each controller; Step 2: Calculate the dynamic overload threshold of the controller based on the current load of the controller, and classify the controllers whose current load is lower than the dynamic overload threshold into the underload controller set. For controllers whose current load exceeds the threshold, the Amplifier model is used to predict the time-series load. If the predicted load still exceeds the dynamic overload threshold, the controller is classified into the overload controller set; otherwise, it is classified into the underload controller set. This step calculates a dynamic overload threshold based on the controller's current load. Controllers that do not exceed the threshold are directly classified into the underload set. For controllers that exceed the threshold, the Amplifier model is used to perform time-series prediction on their historical load data to further determine whether their future load will remain high. If the predicted load continues to exceed the threshold, the controller is classified into the overload set; otherwise, it is classified into the underload set. This achieves accurate state classification based on real-time load and future trends, effectively avoiding misjudgments caused by instantaneous load fluctuations and providing a reliable basis for subsequent migration triggering.

[0025] Step 3: If the set of overload controllers is empty, then the system load balance is determined, and the process ends; If the overload controller set is not empty, then the load is determined to be unbalanced, the switch is migrated, and step 4 is executed. Step 4: For each controller in the overload controller set, obtain the set of switches it manages, and calculate the load to be migrated based on the controller's predicted load and the dynamic overload threshold; construct an optimization model with the constraint that the total load of the selected switches is not less than the load to be migrated, and with the goal of maximizing the matching value between the load of each switch and the load to be migrated, and filter out the set of switches to be migrated. This step, for each overload controller, first obtains the set of switches it manages and determines the total load to be migrated based on the difference between the controller's predicted load and the overload threshold. Based on this, an optimization model is established with switch selection as the variable, with the constraint that the total load of the selected switches is not less than the required migration amount. The objective function is to maximize the matching value between the load of each switch and the required migration load, thereby selecting the set of switches whose load contribution is closest to the migration requirements. This ensures that the overload controller load is effectively reduced while optimizing the selection efficiency of switch migration and avoiding resource waste and frequent operations during the migration process.

[0026] Step 5: For each switch in the set of switches to be migrated, traverse the set of underloaded controllers and calculate the system load balancing rate and migration cost after migrating the switch to each underloaded controller; based on the load balancing rate and migration cost, use the superior-inferior solution distance method to comprehensively evaluate each candidate controller and select the best one as the target controller. This step iterates through the set of underloaded controllers for each switch to be migrated, calculating the load balancing rate and migration cost of the system after migration. The load balancing rate reflects the uniformity of load distribution among controllers after migration, while the migration cost characterizes the transmission overhead caused by the logical distance between the switch and the controller and the amount of data. An evaluation matrix is ​​constructed based on these two metrics, and the proximity of each candidate controller to the ideal optimal solution is quantified using the superior-inferior solution distance method, thus selecting the controller with the highest overall performance as the target controller. This approach effectively controls the additional overhead caused by migration while improving the overall load balancing level of the system, achieving synergistic optimization of load optimization and migration efficiency.

[0027] Step 6: Generate migration instructions based on the set of switches to be migrated and the corresponding set of target controllers, and complete the switch migration operation based on the OpenFlow protocol.

[0028] This controller load optimization method uses an energy-enhancing Amplifier model to predict controller load and then partitions controllers based on the load prediction results. It then calculates the load that overloaded controllers need to migrate and the value of the switches managed by those overloaded controllers to select appropriate switches for migration. Finally, it selects the target controller by comprehensively considering migration costs and load balancing effects, thereby achieving load balancing while reducing migration costs.

[0029] Example 1 See Figure 1 A multi-controller load optimization system based on time-series load prediction. The system has three main components: a leader controller, general controllers, and a data plane. 1a) Leader Controller: The leader controller consists of three parts: a load prediction module, a message processing component, and a data storage component. The load balancing module contains three sub-modules: a load prediction module, a switch selection module, and a target controller selection module. The message processing component is responsible for issuing migration instructions to relevant ordinary controllers, while the data storage component is mainly responsible for storing and updating network status information and providing data support for the load balancing module. 1b) General Controller: The general controller has two main functions: performing switch migration and handling network requests from data plane switches; 1c) Data Plane: The data plane consists of various network devices and is responsible for high-speed forwarding of data packets. When a new flow arrives and there is a lack of matching rules locally, the data plane sends a flow request message (Packet-In) to the control plane through a southbound interface (such as OpenFlow). After the control plane calculates the forwarding policy and issues the flow table, the data plane can efficiently forward subsequent similar data packets according to the flow table rules, thereby achieving centralized control and flexible management of the network.

[0030] See Figure 2-4 In this embodiment, a multi-controller load optimization method based on time-series load prediction is applied to the multi-controller load optimization system. The implementation steps are as follows: Step 1: Monitor the controller load and obtain the number of Packet-In messages processed by each controller;

[0031] in, Indicates switch In time period The number of Packet-In messages sent internally to its main controller. This indicates the total number of switches. Indicates controller Is it a switch? The main controller. If the switch By controller Management, then If it is 1; otherwise, it is 0. Step 2: Calculate the dynamic overload threshold for each controller based on the number of messages received. Controllers with current loads below the threshold are directly assigned to the underload set. For controllers exceeding the threshold, time-series load prediction is performed using the Amplifier model: This model transforms the multivariate load sequence to the frequency domain, enhances low-energy components through spectrum inversion, and then predicts trend and periodic components through seasonal trend decomposition and neural networks, finally synthesizing the corrected load prediction value. If the predicted load still exceeds the threshold, it is assigned to the overload set; otherwise, it is assigned to the underload set, thereby achieving accurate state classification based on future load trends and avoiding misjudgment of instantaneous load.

[0032] S2.1, according to the controller The total number of Packet-In messages processed within a time period determines its overload threshold. The calculation method is as follows:

[0033] in, Indicates controller The total number of Packet-In messages processed within a given time period; S2.2, When the controller If the number of Packet-In messages processed falls below the overload threshold, the controller... When under low load, add to the underload controller set. ; If the load exceeds the overload threshold, proceed to steps S2.2-S2.7, using the Amplifier model to perform time-series prediction of the controller load to determine whether it remains in an overload state.

[0034] See Figure 4 The Amplifier model is a lightweight prediction model. Its structural design avoids the use of deep, complex neural networks to reduce computational overhead and the number of model parameters, enabling it to meet real-time requirements in real-world network environments while maintaining prediction accuracy.

[0035] S2.3 For controllers whose load exceeds the threshold, the Amplifier model is used for time series forecasting. This model uses multivariate time series... As input data, the energy of the multivariate time series is determined based on the amplitude of the switch; Wherein, the amplitude is the number of Packet-In messages sent by the switch. The energy of the multivariate time series is calculated based on the square of the amplitude, and the expression for the energy is as follows:

[0036] in, For the original data The spectrum obtained after Discrete Fourier Transform, the original data This is a sequence of the number of Packet-In messages sent by all switches managed by the controller over multiple consecutive time periods. Indicates frequency point, This indicates the number of input data features, which is also the number of switches in the network topology. Indicates the size of the sliding window; S2.4 Perform spectrum flipping on the spectrum of the multivariate time series in the frequency domain, exchanging the high-energy components in the spectrum from the low-frequency region with the low-energy components in the high-frequency region. That is, transfer the high-energy components in the multivariate time series from the low-frequency region to the high-frequency region, and at the same time move the low-energy components from the high-frequency region to the low-frequency region, so as to enhance the model's attention to low-energy data and obtain the flipped spectrum.

[0037] in, Indicates the flipped spectrum; S2.5. After adding the spectrum and the flipped spectrum of the multivariate time series, perform an inverse discrete Fourier transform to obtain the energy-enhanced time-domain sequence. The expression is as follows:

[0038]

[0039] S2.6, For time-domain sequences Perform seasonal trend decomposition to obtain trend components and seasonal components.

[0040] After the energy amplification module, the low-energy components of the original time series are effectively enhanced, revealing subtle fluctuations that are easily overlooked in the original series. At this point, the series not only retains the original trend and seasonal information but also includes enhanced high-frequency details, providing a richer and more balanced input signal for subsequent seasonal trend decomposition. Therefore, the subsequent seasonal trend decomposition module can accurately extract the trend and seasonal components from the time series, thereby improving the model's predictive ability for long-term changes and periodic patterns. The computational details of this module are as follows:

[0041]

[0042]

[0043]

[0044] Here, STD represents seasonal trend decomposition. and These represent the trend component and the seasonal component, respectively.

[0045] S2.7. Two feedforward neural networks are used to predict the trend component and the seasonal component. The prediction results are expressed as follows: and The two prediction results are added together to obtain the final prediction. ; After the seasonal trend decomposition in S2.6, the trend and seasonal components of the time-domain series have been accurately extracted, and the enhanced high-frequency, low-energy signal has been effectively preserved. However, after energy amplification, the amplitude of the high-frequency components has been artificially amplified. To ensure that the predicted output is consistent with the actual load scale, amplitude correction is required for the time-domain series that has undergone spectrum flipping and energy amplification. This involves removing the flipped spectrum and adjusting the amplitude of the amplified time-domain series back to its original scale.

[0046] First, the time-domain sequence The sequence is mapped to the corresponding predicted length using a linear transformation.

[0047] in, It is a complex weight matrix. It is a complex bias vector. This indicates other spectra that need to be removed.

[0048] Secondly, the predicted length sequence is transformed from the time domain to the frequency domain to remove extra spectrum. Then, a domain transformation is performed to obtain the final prediction result. :

[0049]

[0050]

[0051] S2.8, Based on the prediction results Calculate the predicted load for the overload controller:

[0052] S2.9, If the controller If the predicted load also exceeds the overload threshold, then add it to the overload controller set. Otherwise, add it to the underload controller set. .

[0053] Step 3: Based on the overload and underload controller sets obtained in Step 2, determine the load balance status by checking whether the overload controller set is empty: if it is empty, the system is balanced and no migration is performed; if it is not empty, it is determined to be unbalanced and the subsequent switch migration process is automatically triggered.

[0054] According to the overload controller set and underload controller set Determine the overall load balance status of the control plane.

[0055] Balance determination condition: If the set of overload controllers An empty value indicates that the load on all controllers is below the threshold, the control plane is in a balanced state, and no migration operation is required.

[0056] Migration trigger condition: If the set of overloaded controllers... If the value is not empty, it is determined to be an unbalanced load, and the switch migration operation is automatically triggered. Step 4 is executed, and the switch selection algorithm is called to perform the switch migration operation. Step 4: Obtain the set of switches managed by each overload controller and calculate the load that needs to be migrated. Construct a switch selection optimization model, with the constraint that the total load of the selected switches is not less than the required migration load, and with the goal of maximizing the matching value between the switch load and the load to be migrated, to select the set of switches to be migrated.

[0057] S4.1 Obtain the overload controller The set of switches under management and calculate the controller Load to be relocated The expression is as follows:

[0058] in, Indicates controller The amount of load that needs to be migrated Indicates that the controller is in Predicted load at any given time Indicates the overload threshold; S4.2 Establish switch migration decision variables and set migration load constraints; To characterize the switch migration decision, for each switch controlled by the overload controller Managed switches define migration decision variables When the decision variable is transferred =1 indicates that the switch has been selected for migration; otherwise, the migration decision variable is... =0; use Indicates switch Selection options:

[0059] During the switch migration process, it is necessary to ensure that the total load of the switches being migrated is greater than the load that the controller needs to be migrated out.

[0060] in, The load to be migrated; S4.3 Define the value of switch migration and construct the migration optimization objective function; To achieve load balancing while minimizing the number of switches to be migrated, the migration value of a switch is defined as the degree to which its load is similar to the load to be migrated. Indicates the migration of the switch The contribution of the switch load to the controller load and the load to be migrated. The closer they are, the greater their value, migration value. The expression is as follows:

[0061] Based on migration value Construct the objective function for switch selection; Based on migration value, the closer the switch load is to the load that needs to be migrated, the higher its value. The objective function is as follows:

[0062] in, Indicates switch Therefore, the goal of the switch selection algorithm is to maximize the value of the switches to be migrated while alleviating load imbalance. S4.4 Select the optimal switch to be migrated according to the objective function and add it to the set F as the input of the subsequent target controller selection algorithm.

[0063] Step 5: For each switch to be migrated, iterate through the set of underloaded controllers and calculate the load balancing rate and migration cost after migration. Construct a decision matrix based on the load balancing rate and migration cost, and use the superior-inferior solution distance method to evaluate the overall performance of each candidate controller, selecting the controller with the highest relative proximity as the target controller. If direct migration is not possible, load balancing is achieved through switch location swapping, ultimately forming the set of switches to be migrated.

[0064] S5.1 Initialize the target controller set TS for each switch to be migrated. and its source controller Traverse the set of underload controllers Determine the target controller The switch to be migrated Migration to target controller Then, determine the source controller. and target controller The load is determined based on the load of each controller after migration, and the load balancing rate of the control plane and the switches are also considered. From source controller Migration to target controller Migration costs incurred: The loads on the source controller and the target controller are as follows:

[0065]

[0066] The load balancing rate of the control plane is expressed as follows:

[0067] in, This represents the average load across all controllers.

[0068] The switches to be migrated are determined by comprehensively considering the average packet-in data volume of the switch and its logical distance from the controller. The migration cost is expressed as follows:

[0069] in, Represents the switch within a time period The average size of the number of Packet-Ins sent. and They represent switches respectively. and controller as well as The logical distance between them is represented by the round-trip delay; S5.2. Construct a decision matrix based on the load balancing rate and the migration cost of the switch to be migrated. Normalize the values ​​in the decision matrix to obtain a normalized matrix. Normalization aims to eliminate differences between different indicators. Weight the normalized matrix. After normalization and weighting, determine the maximum load balancing rate and the minimum migration cost as the ideal optimal solution. Conversely, the worst-case scenario is the ideal solution. .

[0070] Decision matrix The expression is as follows:

[0071] in Indicates the number of underload controllers. Indicates the number of evaluation indicators: Normalized decision matrix The expression is as follows: ,in, ; Calculate the weighted normalized matrix This matrix quantifies the importance of different indicators to decision-making:

[0072] in, Indicates the first The weights of each indicator satisfy... ; Ideal optimal solution worst-case scenario The expression is as follows:

[0073]

[0074] in, This represents maximizing load balancing efficiency and minimizing migration costs. Conversely; ,if For benefit indicators, take the maximum value; for cost indicators, take the minimum value. if If it is a benefit indicator, take its minimum value; if it is a cost indicator, take its maximum value.

[0075] S5.3 Calculate the candidate target controller and the ideal optimal solution. The relative proximity; First, determine the Euclidean distance from each candidate target controller to the ideal optimal solution and the ideal worst solution:

[0076]

[0077] Then, based on the Euclidean distance between the ideal optimal solution and the ideal worst solution, the relative proximity of each candidate target controller to the ideal optimal solution is calculated. :

[0078] S5.4. Sort the candidate target controllers according to their relative proximity, and select the target controller that is closest to the ideal optimal solution. This allows for the selection of the target controller for each migration switch that achieves the optimal trade-off between load balancing performance and migration overhead. Add to collection TS; If no target controller is found, the set of underloaded controllers is traversed to find a suitable switch to swap positions with the switch to be migrated. Load balancing is achieved through bidirectional migration, and the set TS is updated. Step 6: Construct a migration instruction set based on the set of switches to be migrated and the set of target controllers. The leader controller issues migration instructions, and the switch migration operation is completed through controller role switching based on the OpenFlow protocol to achieve load balancing.

[0079] A switch migration set MS is constructed based on the set of switches to be migrated F and the set of target controllers TS. The leader controller sends migration instructions to the lower-level controllers participating in the migration to complete the corresponding switch migration operation.

[0080] See Figure 3 In this embodiment, switch migration is implemented based on the OpenFlow protocol. In the OpenFlow protocol, each switch can connect to multiple controllers, but only one is the Master controller, while the others are Slave or Equal controllers. Furthermore, the switch cannot change the role of the controller. The controller requests a change of its own controller role by sending a ROLE-REQUEST message to the connected switch, thereby obtaining different operating permissions on the switch.

[0081] Based on the OpenFlow protocol, the main execution flow of the switch migration process in this invention is as follows: 1a) After completing the switch migration decision, the leader controller sends a migration instruction to the target controller, notifying it to send a role conversion request and complete the switch migration operation; 1b) After receiving the migration instruction from the leader controller, the target controller sends a ROLE-REQUEST message to the switch to be migrated, requesting to change its role from Slave controller to Master controller; 1c) When a switch receives a ROLE-REQUEST message, it will switch the target controller from Slave to Master role according to the OpenFlow protocol. At this time, the original Master controller will automatically become a Slave controller, ensuring that only one Master controller is connected for each switch.

[0082] 1d) After the role transition is completed, the switch will send a ROLE-REPLY message to the target controller to notify that the role transition is successful. After that, the flow request messages of the switch will be processed by the target controller.

[0083] Historical load data is used to predict controller load, effectively identifying overloaded controllers. When selecting switches to be migrated, the selection process is modeled as a knapsack problem, effectively reducing the load on overloaded controllers. Finally, migration costs and post-migration controller load distribution are considered when selecting target controllers, optimizing the switch migration process.

[0084] Example 2 This application also provides a multi-controller load optimization system based on time-series load prediction, including: The overload module is used to predict the future load of each controller based on its historical load data, and to determine the overload controller based on the predicted load. The migration switch module is used to obtain the set of switches managed by the overload controller, and determine the amount of load to be migrated based on the controller's predicted load and dynamic overload threshold; construct an optimization model with the constraint that the total load of the selected switches is not less than the amount of load to be migrated, and with the goal of maximizing the matching value between the load of each switch and the amount of load to be migrated, to select the set of switches to be migrated. The target controller module is used to traverse the set of underloaded controllers for each switch to be migrated, and calculate the system load balancing rate and migration cost after migrating the switch to each underloaded controller; based on the load balancing rate and migration cost, the superior-inferior solution distance method is used to comprehensively evaluate each candidate controller, and then determine the target controller; The load balancing module is used to migrate each switch to the corresponding target controller, thereby achieving controller load balancing.

[0085] It should be noted that, in the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules may be combined or integrated into another device, or some features may be ignored or not executed. The modules described as separate components may or may not be physically separated. The components shown as modules may be one or more physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the modules can be selected to achieve the purpose of the solution in this embodiment according to actual needs.

[0086] Furthermore, in the various embodiments of the present invention, the modules can be integrated into one processing unit, or each module can exist physically separately, or two or more modules can be integrated into one unit. The integrated unit described above can be implemented in hardware or as a software functional unit.

[0087] An electronic device provided in this application includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the steps of the multi-controller load optimization method based on time-series load prediction as described in any of the above embodiments.

[0088] Another electronic device provided in this application embodiment may further include: an input port connected to a processor for transmitting multimodal data collected by an external acquisition device to the processor; a display unit connected to the processor for displaying the processor's processing results to the outside world; and a communication module connected to the processor for enabling communication between the electronic device and the outside world. The display unit may be a display panel, a laser scanning display, etc.; the communication method adopted by the communication module includes, but is not limited to, Mobile High Definition Link (HML), Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), and wireless connection (including Wi-Fi, Bluetooth, Bluetooth Low Energy, and IEEE 802.11s-based communication technology).

[0089] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the steps of the multi-controller load optimization method based on time-series load prediction as described in any of the above embodiments.

[0090] For descriptions of relevant parts in the multi-controller load optimization system, electronic device, and computer-readable storage medium based on time-series load prediction provided in the embodiments of this application, please refer to the detailed descriptions of the corresponding parts in the multi-controller load optimization method based on time-series load prediction provided in the embodiments of this application, which will not be repeated here. Furthermore, parts of the technical solutions provided in the embodiments of this application that are consistent with the implementation principles of corresponding technical solutions in the prior art have not been described in detail to avoid excessive elaboration.

[0091] The above content is only for illustrating the technical concept of the present invention and should not be construed as limiting the scope of protection of the present invention. Any modifications made to the technical solution based on the technical concept proposed in this invention shall fall within the scope of protection of the claims of this invention.

Claims

1. A multi-controller load optimization method based on time-series load prediction, characterized in that, Includes the following steps: Step 1: Predict the future load of each controller based on its historical load data, and determine the overload controller based on the predicted load. Step 2: Obtain the set of switches managed by the overload controller, and determine the amount of load to be migrated based on the controller's predicted load and dynamic overload threshold; construct an optimization model with the constraint that the total load of the selected switches is not less than the amount of load to be migrated, and with the goal of maximizing the matching value between the load of each switch and the amount of load to be migrated, and filter out the set of switches to be migrated. Step 3: For each switch to be migrated, traverse the set of underloaded controllers and calculate the system load balancing rate and migration cost after migrating the switch to each underloaded controller; based on the load balancing rate and migration cost, use the superior-inferior solution distance method to comprehensively evaluate each candidate controller and then determine the target controller. Step 4: Migrate each switch to be migrated to the corresponding target controller to achieve controller load balancing.

2. The multi-controller load optimization method based on time-series load prediction according to claim 1, characterized in that, Step 1, which involves predicting the future load of each controller based on its historical load data, includes: The Amplifier model is used to perform time-series prediction on the historical load data of each controller. The historical load data includes a sequence of the number of Packet-In messages received and processed by the controller in multiple consecutive time periods.

3. The multi-controller load optimization method based on time-series load prediction according to claim 2, characterized in that, The Amplifier model predicts future load, including: The spectrum is obtained by performing a discrete Fourier transform on the input multivariate load sequence; The spectrum is flipped to exchange high-energy components in the low-frequency region with low-energy components in the high-frequency region; Add the flipped spectrum to the original spectrum and then perform an inverse discrete Fourier transform to obtain an energy-enhanced time-domain sequence. The time-domain sequence is subjected to seasonal trend decomposition to extract trend components and seasonal components; The trend component and seasonal component are predicted using a feedforward neural network respectively, and the prediction results are added together to obtain the preliminary predicted load; The preliminary predicted load is subjected to spectral recovery and scaling correction to obtain the final predicted load.

4. The multi-controller load optimization method based on time-series load prediction according to claim 1, characterized in that, The determination of the dynamic overload threshold of the controller includes: The dynamic overload threshold of each controller is calculated based on the total number of Packet-In messages processed in the current time period, using the following formula: in, Indicates controller The total number of Packet-In messages processed within a time period. is a coefficient.

5. The multi-controller load optimization method based on time-series load prediction according to claim 1, characterized in that, The specific process of step 2 is as follows: Obtain the set of switches managed by each overload controller, and calculate the amount of load to be migrated based on the difference between the predicted load of the controller and the dynamic overload threshold; An optimization model is established with the selection of each switch as the decision variable, and the constraint is that the total load of the selected switches is not less than the required load to be migrated. The optimization model is solved with the objective function of maximizing the matching value between the load of each switch and the load to be migrated, and the set of switches to be migrated is obtained.

6. The multi-controller load optimization method based on time-series load prediction according to claim 5, characterized in that, The matching value of the load to be migrated is the migration value, expressed as follows: in, For the load to be migrated, For controller The total number of Packet-In messages processed within a time period. It is a switch.

7. The multi-controller load optimization method based on time-series load prediction according to claim 1, characterized in that, The method for determining the target controller in step 3 is as follows: For each switch to be migrated, iterate through each candidate controller in the set of underloaded controllers and calculate the system load balancing rate and migration cost after migrating the switch to the candidate controller. A decision matrix is ​​constructed based on the load balancing rate and migration cost, and the relative proximity of each candidate controller is calculated using the superior-inferior solution distance method. The candidate controller with the highest relative similarity is selected as the target controller.

8. A multi-controller load optimization method based on time-series load prediction according to claim 7, characterized in that, The method of using the superior-inferiority distance method to comprehensively evaluate each candidate controller includes the following steps: The decision matrix is ​​normalized to obtain a normalized matrix; Determine the ideal optimal solution and the ideal worst solution; Calculate the Euclidean distance from each candidate controller to the ideal optimal solution and the ideal worst solution; Calculate the relative proximity of each candidate controller and sort them in descending order.

9. A multi-controller load optimization method based on time-series load prediction according to claim 1, characterized in that, Step 4, which involves migrating each switch to be migrated to its corresponding target controller, includes: Based on the migration instructions constructed from the switches to be migrated and the target controller, the leader controller issues the migration instructions, and the switch migration operation is completed through controller role switching based on the OpenFlow protocol, thereby achieving controller load balancing.

10. A multi-controller load optimization system based on time-series load prediction, characterized in that, include: The overload module is used to predict the future load of each controller based on its historical load data, and to determine the overload controller based on the predicted load. The migration switch module is used to obtain the set of switches managed by the overload controller, and determine the amount of load to be migrated based on the controller's predicted load and dynamic overload threshold; construct an optimization model with the constraint that the total load of the selected switches is not less than the amount of load to be migrated, and with the goal of maximizing the matching value between the load of each switch and the amount of load to be migrated, to select the set of switches to be migrated. The target controller module is used to traverse the set of underloaded controllers for each switch to be migrated, and calculate the system load balancing rate and migration cost after migrating the switch to each underloaded controller; based on the load balancing rate and migration cost, the superior-inferior solution distance method is used to comprehensively evaluate each candidate controller, and then determine the target controller; The load balancing module is used to migrate each switch to the corresponding target controller, thereby achieving controller load balancing.