Dynamic switch migration method and system based on multi-objective optimization

Through a multi-objective optimization method, the coefficient of variation and multiple resource utilization indicators are used to measure the controller load, and the optimal target controller is selected for switch migration. This solves the problems of inaccurate load measurement and high migration cost in software-defined vehicle networks and achieves efficient load balancing.

CN119420779BActive Publication Date: 2025-10-14HANGZHOU NORMAL UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411544100.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2025-10-14
Estimated Expiration
2044-10-31

AI Technical Summary

Technical Problem

The existing switch migration strategy in software-defined Internet of Vehicles has problems such as low controller load measurement accuracy, low load balancing performance and high migration cost.

Method used

The coefficient of variation method is used to determine the weights of various resource utilization indicators of the controller. The controller load is measured by combining CPU, memory and bandwidth utilization. The control plane load balancing rate and migration cost of switch migration are calculated to select the optimal target controller to achieve load balancing.

Benefits of technology

It improves the accuracy of controller load measurement and zoning, optimizes the switch selection process, reduces migration costs, and improves load balancing performance and migration efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119420779B_ABST
    Figure CN119420779B_ABST
Patent Text Reader

Abstract

The application discloses a dynamic switch migration method and system based on multi-target optimization and belongs to the technical field of communication networks. The method partitions controllers according to the load of the controllers, calculates the flow table item set updated by each switch in a set time period, calculates the total processing overhead generated by the controller in processing the flow table item set, combines an under-load controller in the under-load controller set with a switch in the candidate switch set, includes one under-load controller and one switch in each combination, determines the control plane load balancing rate and migration cost of the switch in the combination migrated to the under-load controller according to the total processing overhead of the controller, determines the cost-effectiveness ratio of each combination according to the control plane load balancing rate and the migration cost, selects the combination with the minimum cost-effectiveness ratio as the migration target, and achieves load balancing and reduces migration cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of communication networks, and in particular to a dynamic switch migration method and system based on multi-objective optimization. Background Art

[0002] The Internet of Vehicles (IoV) aims to provide a wide range of network services, from mobile internet access to road safety, and has great potential in future intelligent transportation systems. However, due to the coupling of the data plane and control plane in traditional architectures, the IoV also faces a series of challenges, such as complex management and insufficient resource utilization. Software Defined Networking (SDN), as a new network architecture, achieves centralized control of the network by separating the data plane and the control plane, and provides programmability and flexibility. By integrating SDN with the Internet of Vehicles (IoV) to form a Software Defined Internet of Vehicles (SD-IoV), it can effectively enhance the controllability and flexibility of the network and optimize resource utilization and service quality in complex IoV environments.

[0003] In traditional SD-IoV architectures, only a single controller is typically deployed to manage the entire network. While this approach leverages the centralized control advantages of SDN, as the network scale grows, the single point of failure and performance bottlenecks faced by a single controller become increasingly prominent. Therefore, researchers have proposed a multi-controller architecture, in which the control plane consists of multiple logically centralized and physically decentralized controllers that jointly manage the network. However, due to the changing mobility and connection patterns of vehicles in road networks, different controllers may receive connections from different numbers and types of vehicles and handle network requests with different data processing tasks. In densely populated areas or scenarios where vehicle traffic suddenly increases, some controllers may become overloaded while others are lightly loaded. This can easily lead to load imbalance issues among multiple controllers.

[0004] To address the load imbalance problem in the control plane, researchers have proposed switch migration strategies. These strategies achieve switch-level load balancing by migrating switches from heavily loaded controllers to less loaded ones. In their paper "Multiple-level threshold load balancing in distributed SDN controllers," Mokhtar et al. proposed a switch migration scheme based on multi-level thresholds. This scheme divides controller load into multiple levels. When the load level of a controller differs from that of other controllers, switch migration is triggered. The thresholds are dynamically adjusted to achieve continuous load balancing across distributed controllers. Existing schemes have the following drawbacks: they typically only use flow request rates to measure controller load, which reduces measurement accuracy. Secondly, they typically select the switch with the highest flow request rate as a migration candidate. This approach fails to account for the controller overhead incurred by flow request message processing and flow table updates, which affects load balancing performance. Furthermore, existing methods tend to select the least loaded controller as the target controller, failing to fully consider migration costs, resulting in low switch migration efficiency. Summary of the Invention

[0005] In response to the problems of low controller load measurement accuracy, low load balancing performance and high migration cost in the switch migration strategy in the software-defined Internet of Vehicles in the existing technology, the present invention provides a dynamic switch migration method and system based on multi-objective optimization, which uses multiple indicators to measure the controller load to improve the accuracy of load measurement and controller partitioning.

[0006] The present invention is achieved through the following technical solutions:

[0007] In a first aspect, the present application provides a dynamic switch migration method based on multi-objective optimization, comprising the following steps:

[0008] Step 1: Use the coefficient of variation method to determine the weight of each resource utilization index of the controller in the controller load evaluation, and determine the controller load according to each resource utilization index and the corresponding weight;

[0009] Step 2: Determine a corresponding partition factor according to the load of each controller, and divide all controllers into an underload controller set and an overload controller set according to the partition factor;

[0010] Step 3: Calculate the total processing overhead generated by the controller managing the switch based on the Packet-In messages processed by each switch in the candidate switch set F within the set time period and the updated flow table entry set.

[0011] The switches in the candidate switch set F are switches managed by the overload controller;

[0012] Step 4: Assemble the underload controller The underload controller in is combined with the switches in the candidate switch set F into two combinations, each of which includes an underload controller and a switch;

[0013] The control plane load balancing rate and migration cost of the switches in the combination migrating to the underloaded controller are determined based on the total processing overhead of the controller. The cost-effectiveness ratio of each combination is determined based on the control plane load balancing rate and migration cost. The combination with the smallest cost-effectiveness ratio is selected as the migration target.

[0014] Preferably, the resource utilization indicators include CPU utilization, memory utilization and bandwidth utilization.

[0015] Preferably, step 1 uses a coefficient of variation method to determine the weight of each resource utilization indicator in load assessment, including:

[0016] Build an evaluation matrix based on resource utilization indicators and determine the average value A of each resource utilization indicator j and standard deviation S j , according to the average value A j and standard deviation S j Calculate the coefficient of variation V of the corresponding resource utilization index j Finally, according to the coefficient of variation V j , calculate the weight μ of each resource utilization indicator j .

[0017] Preferably, determining the partition factor of the controller includes:

[0018] The average load of all controllers is determined according to the load of each controller, the partition factor of each controller is determined according to the average load, and the controllers are divided according to the partition factor to obtain an underload controller set, a balanced controller set and an overload controller set.

[0019] Preferably, the computing controller manages the total processing overhead generated by the switch include:

[0020] Determines the controller's overhead for processing the first Packet-In message arriving at the switch.

[0021] Determine the additional overhead incurred by the controller to update the switch flow table entry

[0022] According to expenses and flow table update overhead Determine the total controller processing overhead

[0023] Preferably, the method for determining the control plane load balancing rate includes:

[0024] Determine the overhead of processing Packet-In messages by the original controller and the target controller corresponding to the switch in each combination and

[0025] Based on processing overhead and Determine the switch from the original switch C i Migrate to target controller C j After that, the original controller C i and target controller C j Processing overhead incurred when processing Packet-In messages and

[0026] The overhead of processing Packet-In messages based on the original controller and the target controller after migration and Calculate when switch S k From the original controller C i Migrate to target controller C j The control plane load balancing rate after

[0027] Preferably, the migration cost includes load change cost and message exchange costs

[0028]

[0029] in, and Represents the switch to the controller C i and controller C j The logical distance, avg mig Indicates the average size of the migration data packet, Count mig Indicates the number of data packets transmitted during the migration process.

[0030] Preferably, the cost-effectiveness ratio is calculated as follows:

[0031]

[0032] In a second aspect, the present application provides a dynamic switch migration system based on multi-objective optimization, including:

[0033] A load measurement module is used to determine the weight of each resource utilization index of the controller in the controller load evaluation by using the coefficient of variation method, and determine the controller load according to each resource utilization index and the corresponding weight;

[0034] A partitioning module is used to determine a corresponding partitioning factor according to the load of each controller, and divide all controllers into an underload controller set and an overload controller set according to the partitioning factor;

[0035] The overhead module is used to calculate the total processing overhead generated by the controller managing the switch based on the Packet-In messages and updated flow table entries processed by each switch in the candidate switch set F within a set time period.

[0036] The switches in the candidate switch set F are switches managed by the overload controller;

[0037] Migration module for grouping underloaded controllers The underload controller in is combined with the switches in the candidate switch set F into two combinations, each of which includes an underload controller and a switch;

[0038] The control plane load balancing rate and migration cost of the switches in the combination migrating to the underloaded controller are determined based on the total processing overhead of the controller. The cost-effectiveness ratio of each combination is determined based on the control plane load balancing rate and migration cost. The combination with the smallest cost-effectiveness ratio is selected as the migration target.

[0039] In a third aspect, the present application provides an electronic device comprising a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the steps of a dynamic switch migration method based on multi-objective optimization are implemented.

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

[0041] This application proposes a dynamic switch migration method based on multi-objective optimization. This method uses multiple resource utilization metrics combined with a coefficient of variation method to measure controller load, improving the accuracy of load measurement and controller partitioning. It then considers the additional controller processing overhead incurred when a switch updates flow table entries, as well as the controller overhead incurred by processing flow request messages, optimizing the candidate switch selection process to select the appropriate switch for migration. Finally, the target controller is selected by minimizing the cost-effectiveness ratio to achieve load balancing and reduce migration costs. This method addresses the low controller load measurement accuracy, poor load balancing performance, and high migration costs inherent in existing software-defined Internet of Vehicles (IoV) switch migration strategies.

[0042] This application also proposes a dynamic switch migration system based on multi-objective optimization, an electronic device and a computer storage medium, which have all the advantages of the above-mentioned dynamic switch migration method based on multi-objective optimization. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only illustrate certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.

[0044] Figure 1 This is a framework diagram of the switch migration system of the present invention;

[0045] Figure 2 This is a flow chart of the switch migration method of the present invention;

[0046] Figure 3 Schematic diagram of the switch migration execution process of the present invention. DETAILED DESCRIPTION

[0047] To make the objectives, technical solutions, and advantages of the embodiments of the present application more clear, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Generally, the components of the embodiments of the present application described and shown in the drawings herein can be arranged and designed in various different configurations.

[0048] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for protection, but merely represents selected embodiments of the present application. All other embodiments obtained by persons of ordinary skill in the art based on the embodiments in the present application without creative work are within the scope of protection of the present application.

[0049] A dynamic switch migration method based on multi-objective optimization, the implementation steps of which are as follows:

[0050] Step 1: Use the coefficient of variation method to determine the weight of each resource utilization index of the controller in the controller load evaluation, and determine the controller load according to each resource utilization index and the corresponding weight.

[0051] The following method is used to determine the controller load:

[0052] S1.1. Determine resource utilization indicators for each controller, including CPU utilization, memory utilization, and bandwidth utilization;

[0053] The CPU utilization is determined as follows:

[0054]

[0055] Memory utilization is determined as follows:

[0056]

[0057] Bandwidth utilization is determined as follows:

[0058]

[0059] Among them, t work and t idle Respectively represent the CPU working time and idle time; and Represents controller C i Number of packets sent and received, average packet size, and controller bandwidth; m used and m total Respectively represent the used memory space and total memory capacity;

[0060] S1.2. Use the coefficient of variation method to determine the weight of each resource utilization indicator in the load assessment. First, construct the evaluation matrix to form an m×n evaluation matrix with the collected data;

[0061] X=[x ij ] n×m

[0062] Among them, x ij is the value of resource utilization index j in the i-th sample;

[0063] Then, determine the average value A of each resource utilization indicator j and standard deviation S j ;

[0064]

[0065] Secondly, according to the average value A j and standard deviation S j Calculate the coefficient of variation V of the corresponding resource utilization index j ;

[0066]

[0067] Finally, according to the coefficient of variation V j , calculate the weight μ of each resource utilization indicator j,These weights reflect the relative importance of each resource utilization indicator in the load measurement. A higher coefficient of variation corresponds to a higher weight, indicating that the data is more volatile and has a greater impact on the load measurement. The specific calculation formula is as follows:

[0068]

[0069] S1.3, according to all resource utilization indicators O CPU (C i ), O BW (C i ), O MEM (C i ) and the corresponding weights μ1, μ2, μ3 to determine the load of each controller

[0070]

[0071] Step 2: Determine a corresponding partition factor according to the load of each controller, and divide all controllers into an underload controller set and an overload controller set according to the partition factor.

[0072] The controllers are divided in the following way:

[0073] S2.1. Determine the average load of all controllers based on the load of each controller mean as follows:

[0074]

[0075] S2.2. Determine the partition factor of each controller based on the average load.

[0076] Each controller C i The partition factor τ i ,as follows:

[0077]

[0078] S2.3. Divide the controllers according to the partition factor to obtain an underload controller set, a balanced controller set, and an overload controller set.

[0079] If the controller partition factor τ i is less than 1, then the controller C i Classified as a low load state, added to the underload controller set If it is equal to 1, it means that the controller C i In load balancing state; if greater than 1, it means that the controller C i The load is too high, join the overload controller set middle;

[0080] Step 3: Check whether the current control plane is balanced based on the overload controller. If there is an overload controller in the control plane, the switch migration operation is triggered.

[0081] Determine whether the control plane load is balanced and determine the overload controller set If the set is empty, it means that there is no overloaded controller in the current control plane and the controller load balancing does not require switch migration. Otherwise, the switch migration operation is triggered and the subsequent candidate switch selection algorithm is called;

[0082] Step 4: Calculate the total processing overhead generated by the controller managing the switch based on the Packet-In messages processed by each switch in the candidate switch set F within the set time period and the updated flow table entry set.

[0083] The total processing overhead of the controller is determined using the following method:

[0084] S4.1, obtain the overload controller C i A collection of all managed switches

[0085] S4.2. Pair collection Each switch S in k , get the set of flow table entries updated by the switch in time period t

[0086] S4.3. For each switch S k , calculate the controller's processing overhead for the Packet-In message that arrives at the switch for the first time

[0087]

[0088] Among them, m packet-in Indicates the number of Packet-In messages that arrive at the switch for the first time in time period t, avg packet-in Indicates the average size of Packet-In messages;

[0089] S4.4. Traverse the flow entry set Determine the additional processing overhead incurred by the controller for updating each flow entry in the flow entry set flows s .

[0090] flows s =R s ×avg packet-in ×avg update

[0091] Among them, avg update represents the average time required to update a flow table entry, R s Indicates the average packet matching rate of flow table entry s. The calculation process is as follows:

[0092]

[0093] Among them, durations represents the survival time of flow table entry s, Count packet Indicates the number of packets that a flow table entry matches during its lifetime. Therefore, the additional processing overhead It can be obtained by the following equation:

[0094]

[0095] Among them, |FRS K | represents the switch S in time period t k Total number of updated flow table entries;

[0096] S4.5. Processing overhead and Add them together to get the total controller processing overhead generated by the switch

[0097]

[0098] S4.6. Complete traversal of all switches and calculate total processing overhead Finally, add all the total processing overhead to the set of switches The candidate switch set F is formed in , and the candidate switch set F serves as the input of the subsequent target controller selection algorithm.

[0099] Step 5: Assemble the underload controller The underload controller in is used as the target controller, and the underload controller set is traversed. and the candidate switch set F, to obtain the combination of the target controller and each switch;

[0100] Determine the control plane load balancing rate and migration cost of the switches in the combination to the target controller, determine the cost-effectiveness ratio of each combination based on the control plane load balancing rate and migration cost, and select the combination with the smallest cost-effectiveness ratio as the migration target.

[0101] The total processing overhead of the controller is determined using the following method:

[0102] S5.1, according to the underload controller set and candidate switch set F, traverse all underloaded controllers C j With switch S k of <Cj ,S k >Combination, the underload controller C in the combination j Serves as the target controller for switch migration.

[0103] S5.2. Determine the overhead of the original controller and the target controller corresponding to the switches in each combination for processing the Packet-In message;

[0104] The original controller is the switch currently corresponding to the switch, that is, the calculation switch S k Corresponding original controller C i and target controller C j Processing overhead incurred when processing Packet-In messages and

[0105] Processing overhead of the original controller:

[0106] Processing overhead of the target controller:

[0107] in, and Respectively, they represent the number of Packet-In messages processed by the controller and

[0108] S5.3. Based on processing overhead and Determine the switch from the original switch C i Migrate to target controller C j After that, the original controller C i and target controller C j Processing overhead incurred when processing Packet-In messages and

[0109] Processing overhead of the original controller after migration:

[0110] Processing overhead of the target controller after migration:

[0111] S5.4. Overhead of processing Packet-In messages based on the original controller and the target controller after migration and Calculate when switch S k From the original controller C i Migrate to target controller C j The control plane load balancing rate after

[0112]

[0113] Among them, OH′ mean It is switch S k From the original controller C i Migrate to target controller C j Average control plane overhead after ;

[0114] S5.5. Determine the migration cost of the switch;

[0115] Computing switch S k From the original controller C i Migrate to target controller C j Migration costs incurred Migration costs include two parts: load change cost and message exchange costs The calculation process is as follows:

[0116]

[0117] in, and Represents the switch to the controller C i and controller C j The logical distance, avg mig Indicates the average size of the migration data packet, Count mig Indicates the number of data packets transmitted during the migration process;

[0118] S5.6. Determine the cost-effectiveness of each combination based on the migration cost and the control plane load balancing ratio;

[0119] According to the migration cost and load balancing rate Further calculation combination <C j ,S k Cost-effectiveness ratio The size is as follows:

[0120]

[0121] S5.7. Select the combination with the lowest cost-effectiveness ratio as the migration target.

[0122] Select the target controller C with the minimum cost-effectiveness ratio among all combinations j and switch S k , and the original controller C i Construct migration triples together and add them to the migration set MS;

[0123] Step 6: Perform switch migration to migrate the switches in the triplet from the original controller to the target controller.

[0124] Based on the final switch migration set MS, the leader controller sends migration instructions to the lower-level common controllers participating in the migration, migrating the switches in the combination to the target controller, completing the corresponding switch migration operation;

[0125] This dynamic switch migration method based on multi-objective optimization has the following advantages:

[0126] First, unlike existing solutions that only use flow request rate to measure controller load, this invention selects CPU, bandwidth, and memory utilization as load measurement indicators. Furthermore, this invention uses the coefficient of variation method to determine the load weights of various indicators to improve the accuracy of controller load measurement and classification.

[0127] Second, unlike existing solutions that only select the switch with the highest flow request rate as a candidate switch, the present invention not only considers the controller overhead generated by processing flow request messages, but also considers the overhead when updating flow table entries, thereby optimizing the candidate switch selection process and enhancing load balancing performance.

[0128] Third, unlike the existing solution that directly selects the controller with lower load as the target controller, the present invention selects the target controller by minimizing the cost-effectiveness ratio, and further considers the load balancing rate of the control plane after migration, as well as the cost incurred by migration, further avoiding overload of the target controller and improving migration efficiency.

[0129] For corresponding reference, see Figure 1 ,This application also proposes a dynamic switch migration system based on multi-objective optimization, including:

[0130] The load measurement module is used to determine the weight of each resource utilization index of the controller in the controller load evaluation by using the coefficient of variation method, and determine the controller load according to each resource utilization index and the corresponding weight.

[0131] The partitioning module is used to determine a corresponding partitioning factor according to the load of each controller, and divide all controllers into an underload controller set and an overload controller set according to the partitioning factor.

[0132] The balancing module is used to detect whether the current control plane is balanced based on the overload controller. When an overload controller exists in the control plane, the switch migration operation is triggered.

[0133] The cost module calculates the total processing cost generated by the controller managing the switch based on the Packet-In messages processed by each switch in the candidate switch set F within a set time period and the updated flow table entry set.

[0134] Migration module for grouping underloaded controllers The underload controller in is used as the target controller, and the underload controller set is traversed. and the candidate switch set F, to obtain the combination of the target controller and each switch;

[0135] Determine the control plane load balancing rate and migration cost of the switches in the combination to the target controller, determine the cost-effectiveness ratio of each combination based on the control plane load balancing rate and migration cost, select the combination with the smallest cost-effectiveness ratio, and migrate the switches in the combination to the target controller in the combination.

[0136] Correspondingly, the present application also proposes a dynamic switch migration device based on multi-objective optimization, including a leader controller, a data storage component, a common controller and a data plane;

[0137] Leader controller: The leader controller mainly consists of two parts: a load balancing module and a message dispatching component. The load balancing module stores the program of the dynamic switch migration method for multi-objective optimization. When the load balancing module is running, the migration method is executed.

[0138] The message distribution component distributes the migration decision results to each common controller involved in the migration based on the migration set;

[0139] Normal controller: The normal controller has two main functions: performing switch migration and processing various network requests from data plane switches;

[0140] Data storage component: The data storage component is responsible for storing and maintaining network information from lower-level controllers;

[0141] Data Plane: The data plane is the lowest layer of the SDN architecture. It receives network packets, forwards them to the correct output port based on the routing table and forwarding rules, and performs conversion and processing on the packets as needed. When an incoming packet doesn't match a flow table entry, the switch encapsulates a Packet-In message and sends it to the controller for routing decisions. Upon receiving a Packet-Out or Flow-Mod packet from the controller, the switch processes the incoming packet.

[0142] See also Figure 3The switch migration of the present invention is implemented based on the OpenFlow protocol. In the OpenFlow protocol, each switch can be connected to a master controller and multiple slave or equal controllers. Furthermore, the switch does not have the right to determine the controller's role; it can only be informed of its role. The controller can request a change in its controller role by sending a ROLE-REQUEST message to the connected switch, thereby obtaining different operating permissions for the switch. Based on the OpenFlow protocol, the main process of the switch migration execution of the present invention is as follows:

[0143] 1a) When the switch migration decision is completed, the leader controller will send a migration command to the target controller, instructing it to send a role reversal request to complete the switch migration operation;

[0144] 1b) After receiving the migration command from the leader controller, the target controller sends a ROLE-REQUEST message to the switch, requesting to switch from the slave controller to the master controller role;

[0145] 1c) When a switch receives a ROLE-REQUEST message, it switches the target controller's role from slave to master according to the OpenFlow protocol. At this point, the original master controller automatically becomes a slave controller, ensuring that there is only one master controller for a single switch.

[0146] 1f) After the role switch is completed, the switch will send a ROLE-REPLY message to the target controller to notify the successful role switch. After that, the switch's flow request message will be sent to the target controller for processing.

[0147] It should be noted that in the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of each module is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules can be combined or integrated into another device, or some features can be ignored or not executed. The modules described as separate components may or may not be physically separated. The components displayed as modules may be one physical unit or multiple physical units, that is, they may be located in one place, or they may be distributed in multiple different places. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment.

[0148] In addition, the modules in the various embodiments of the present invention may be integrated into a single processing unit, each module may exist physically separately, or two or more modules may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0149] An electronic device provided in an embodiment of the present application includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the dynamic switch migration method based on multi-objective optimization described in any of the above embodiments are implemented.

[0150] Another electronic device provided in an embodiment of the present application may further include: an input port connected to the processor for transmitting multimodal data collected by an external acquisition device to the processor; a display unit connected to the processor for displaying the processing results of the processor 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 used by the communication module includes but is not limited to mobile high-definition link technology (HML), universal serial bus (USB), high-definition multimedia interface (HDMI), wireless connection (including wireless fidelity technology (WiFi), Bluetooth communication technology, low-power Bluetooth communication technology, and communication technology based on IEEE802.11s).

[0151] An embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of the dynamic switch migration method based on multi-objective optimization as described in any of the above embodiments are implemented.

[0152] For descriptions of the relevant portions of the multi-objective optimization-based dynamic switch migration method system, electronic device, and computer-readable storage medium provided in the embodiments of this application, please refer to the detailed description of the corresponding portions of the multi-objective optimization-based dynamic switch migration method provided in the embodiments of this application, and will not be repeated here. In addition, portions of the above-mentioned technical solutions provided in the embodiments of this application that are consistent with the implementation principles of corresponding technical solutions in the prior art are not described in detail to avoid excessive elaboration.

[0153] The above content is only for explaining the technical idea of ​​the present invention and cannot be used to limit the protection scope of the present invention. Any changes made on the basis of the technical solution in accordance with the technical idea proposed by the present invention shall fall within the protection scope of the claims of the present invention.

Claims

1. A dynamic switch migration method based on multi-objective optimization, characterized in that: The following steps are involved: Step 1: Use the coefficient of variation method to determine the weight of each resource utilization index of the controller in the controller load evaluation, and determine the controller load according to each resource utilization index and the corresponding weight; The resource utilization index includes CPU utilization. CPU (C i ), memory utilization O BW (C i ) and bandwidth utilization O MEM (C i ); The coefficient of variation method is used to determine the weight of each resource utilization indicator in the load assessment, including: Construct an n×m evaluation matrix based on resource utilization indicators and determine the average value A of each resource utilization indicator j and standard deviation S j ; The evaluation matrix is ​​as follows: X = [x ij ] n×m ; The average value A j as follows: The standard deviation S j as follows: According to the average value A j and standard deviation S j Calculate the coefficient of variation V of the corresponding resource utilization index j ; According to the coefficient of variation V j , calculate the weight μ of each resource utilization indicator j ; According to all resource utilization indicators O CPU (C i ), O BW (C i ), O MEM (C i ) and the corresponding weights μ1, μ2, μ3 to determine the load of each controller Among them, C i is the controller, x ij is the value of resource utilization index j in the i-th sample; Step 2: Determine a corresponding partition factor according to the load of each controller, and divide all controllers into an underload controller set and an overload controller set according to the partition factor; Step 3: Calculate the total processing overhead generated by the controller managing the switch based on the Packet-In messages processed by each switch in the candidate switch set F within the set time period and the updated flow table entry set. The switches in the candidate switch set F are switches managed by the overload controller; The computing controller manages the total processing overhead generated by the switch include: Determines the controller's overhead for processing the first Packet-In message arriving at the switch. Determine the additional overhead incurred by the controller to update the switch flow table entry According to expenses and flow table update overhead Determine the total controller processing overhead Step 4: Assemble the underload controller The underload controller in is used as the target controller, and the underload controller set is traversed. and the candidate switch set F, to obtain the combination of the target controller and each switch; Step 5: Determine the control plane load balancing rate and migration cost of migrating the switches in the combination to the underloaded controller based on the total processing overhead of the controller. Determine the cost-effectiveness ratio of each combination based on the control plane load balancing rate and migration cost, and select the combination with the smallest cost-effectiveness ratio as the migration target.

2. The method for dynamic switch migration based on multi-objective optimization according to claim 1, characterized in that: Determine the partitioning factor for the controller, including: The average load of all controllers is determined according to the load of each controller, the partition factor of each controller is determined according to the average load, and the controllers are divided according to the partition factor to obtain an underload controller set, a balanced controller set and an overload controller set.

3. The method for dynamic switch migration based on multi-objective optimization according to claim 1, characterized in that: The method for determining the control plane load balancing rate includes: Determine the overhead of processing Packet-In messages by the original controller and the target controller corresponding to the switch in each combination and Based on processing overhead and Determine the switch from the original switch C i Migrate to target controller C j After that, the original controller C i and target controller C j Processing overhead incurred when processing Packet-In messages and The overhead of processing Packet-In messages based on the original controller and the target controller after migration and Calculate when switch S k From the original controller C i Migrate to target controller C j The control plane load balancing rate after 4. The method for dynamic switch migration based on multi-objective optimization according to claim 3, characterized in that: The migration cost includes the load change cost and message exchange costs in, and Represents the switch to the controller C i and controller C j The logical distance, avg mig Indicates the average size of the migration data packet, Count mig Indicates the number of data packets transmitted during the migration process.

5. The method for dynamic switch migration based on multi-objective optimization according to claim 4, characterized in that: The cost-effectiveness ratio is calculated as follows:

6. A system for executing the dynamic switch migration method based on multi-objective optimization according to any one of claims 1 to 5, characterized in that: include: A load measurement module is used to determine the weight of each resource utilization index of the controller in the controller load evaluation by using the coefficient of variation method, and determine the controller load according to each resource utilization index and the corresponding weight; A partitioning module is used to determine a corresponding partitioning factor according to the load of each controller, and divide all controllers into an underload controller set and an overload controller set according to the partitioning factor; The overhead module is used to calculate the total processing overhead generated by the controller managing the switch based on the Packet-In messages and updated flow table entries processed by each switch in the candidate switch set F within a set time period. The switches in the candidate switch set F are switches managed by the overload controller; Migration module for grouping underloaded controllers The underload controller in is combined with the switches in the candidate switch set F into two combinations, each of which includes an underload controller and a switch; The control plane load balancing rate and migration cost of the switches in the combination migrating to the underloaded controller are determined based on the total processing overhead of the controller. The cost-effectiveness ratio of each combination is determined based on the control plane load balancing rate and migration cost, and the combination with the smallest cost-effectiveness ratio is selected as the migration target.

7. An electronic device, characterized in that: The method comprises a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the steps of the dynamic switch migration method based on multi-objective optimization according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Multi-controller dynamic deployment method of software defined spatial information network

    CN107276662A

  • Controller load balancing system and method based on efficient switch migration

    CN111711576A