Dynamic switch migration method and system based on multi-objective optimization
By adopting a multi-objective optimization dynamic switch migration method in software-defined vehicle networking, using the variation coefficient method and total processing overhead calculation, the target controller is selected to achieve load balancing and reduce migration costs, and the inaccurate load measurement in the existing technology is solved. , low load balancing performance and high migration cost.
Patent Information
- Application Number
- CN202411544100.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-10-31
AI Technical Summary
The existing software-defined switch migration strategies in the Internet of Vehicles have problems such as low controller load measurement accuracy, low load balancing performance and high migration costs.
Using a dynamic switch migration method based on multi-objective optimization, the weight of each resource utilization index of the controller is determined through the coefficient of variation method, the total processing overhead of the controller is calculated, and the target controller is selected by minimizing the cost-effectiveness index to achieve load Equilibrium and reduce migration costs.
Improve the accuracy of controller load measurement and partitioning, optimize the candidate switch selection process, enhance the load balancing performance, and reduce migration costs, solving the load imbalance and high migration costs problems in the existing technology.
Smart Images

Figure CN119420779A_ABST
Abstract
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 the control plane in the traditional architecture, the IoV also faces a series of challenges such as complex management and insufficient resource utilization. Software Defined Networking (SDN), as a new type of network architecture, achieves centralized control of the network by separating the data plane and the control plane, and provides programming capabilities and flexibility. By integrating SDN with the Internet of Vehicles (IoV) to form a software-defined Internet of Vehicles (SD-IoV), the controllability and flexibility of the network can be effectively enhanced, and resource utilization and service quality can be optimized in a complex IoV environment.
[0003] In the traditional SD-IoV architecture, only a single controller is usually deployed to manage the entire network. Although this approach takes advantage of the centralized control of SDN, as the scale of the network grows, the single point of failure and performance bottleneck problems faced by a single controller become more and more prominent. Therefore, researchers have proposed a multi-controller architecture in which the control plane consists of multiple logically centralized and physically decentralized controllers to jointly manage the network. However, due to the changes in the mobility and connection patterns of vehicles in the road network, different controllers may receive connections from different numbers and types of vehicles and process network requests with different data processing tasks. In scenarios where there is a sudden increase in vehicle traffic or in densely populated areas, some controllers may be overloaded while others are lightly loaded. This can easily lead to load imbalance problems between multiple controllers.
[0004] In order to solve the load imbalance problem of the control plane, researchers have proposed a switch migration strategy, which achieves load balancing based on the switch granularity by migrating switches from overloaded controllers to lightly loaded controllers. Mokhtar et al. proposed a switch migration scheme based on multi-level thresholds in their paper "Multiple-level threshold load balancing in distributed SDN controllers". The scheme divides the controller load into multiple levels. When the load level of a controller is different from that of other controllers, switch migration will be triggered. The threshold is dynamically adjusted to achieve continuous load balancing among distributed controllers. The shortcomings of existing schemes are that only the flow request rate is usually used to measure the controller load, which reduces the accuracy of the measurement. Secondly, the switch with the highest flow request rate is usually selected as the migration candidate switch. This method does not take into account the controller overhead caused by flow request message processing and flow table update, which affects the load balancing performance. In addition, existing methods tend to select controllers with lower load as target controllers, and do not fully consider the migration cost, resulting in low switch migration efficiency. Summary of the invention
[0005] In view of 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 prior art, 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 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;
[0013] The control plane load balancing rate and migration cost of the switches in the combination migrating to the underloaded controller are determined according to the total processing overhead of the controller. The cost-effectiveness ratio of each combination is determined according to the control plane load balancing rate and the migration cost. The combination with the smallest cost-effectiveness ratio is selected as the migration target.
[0014] Preferably, the resource utilization index includes 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 evaluation, including:
[0016] Construct 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 total processing overhead generated by the computing controller processing the flow entry set is include:
[0020] Determine the controller's overhead for processing the Packet-In message that arrives at the switch for the first time
[0021] Determine the additional overhead incurred by the controller to update the switch flow table entry
[0022] According to the 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 the original controller and the target controller corresponding to the switch in each combination to process the Packet-In message respectively 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 the target controller C j Processing overhead incurred when processing Packet-In messages and
[0026]
[0027] 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
[0028] Preferably, the migration cost includes load change cost and message exchange costs
[0029]
[0030] in, and Represents switch to 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 packets transmitted during the migration process.
[0031] Preferably, the cost-effectiveness ratio is calculated as follows:
[0032]
[0033] In a second aspect, the present application provides a dynamic switch migration system based on multi-objective optimization, including:
[0034] 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 a coefficient of variation method, and determine the controller load according to each resource utilization index and the corresponding weight;
[0035] A partitioning module is used to determine a corresponding partitioning factor according to the load of each controller, and divide all controllers into an underloaded controller set and an overloaded controller set according to the partitioning factor;
[0036] The overhead module is used to 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 a set time period and the updated flow table entry set.
[0037] The switches in the candidate switch set F are switches managed by the overload controller;
[0038] 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;
[0039] The control plane load balancing rate and migration cost of the switches in the combination migrating to the underloaded controller are determined according to the total processing overhead of the controller. The cost-effectiveness ratio of each combination is determined according to the control plane load balancing rate and the migration cost. The combination with the smallest cost-effectiveness ratio is selected as the migration target.
[0040] In a third aspect, the present application provides an electronic device including 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.
[0041] Compared with the prior art, the present invention has the following beneficial technical effects:
[0042] The dynamic switch migration method based on multi-objective optimization provided by this application uses multiple resource utilization indicators and combines the coefficient of variation method to measure the controller load to improve the accuracy of load measurement and controller partitioning; then the additional controller processing overhead generated when the switch updates the flow table entry, and the controller overhead generated by processing the flow request message, optimizes the candidate switch selection process to select the appropriate switch for migration. Finally, the target controller is selected by minimizing the cost-effectiveness ratio indicator to achieve load balancing and reduce migration costs; the problem of low controller load measurement accuracy, low load balancing performance and high migration cost in the switch migration strategy in the existing software-defined Internet of Vehicles is solved.
[0043] The present 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
[0044] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0045] Figure 1 This is a framework diagram of the switch migration system of the present invention;
[0046] Figure 2 This is a flow chart of the switch migration method of the present invention;
[0047] Figure 3 It is a schematic diagram of the switch migration execution process of the present invention. DETAILED DESCRIPTION
[0048] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.
[0049] 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 which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0050] A dynamic switch migration method based on multi-objective optimization, the implementation steps of which are as follows:
[0051] 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.
[0052] The following method is used to determine the controller load:
[0053] S1.1. Determine the resource utilization index of each controller, which includes CPU utilization, memory utilization and bandwidth utilization;
[0054] The CPU utilization is determined as follows:
[0055]
[0056] Memory utilization is determined as follows:
[0057]
[0058] Bandwidth utilization is determined as follows:
[0059]
[0060] Among them, t work and t idle Respectively represent the CPU working time and idle time; and Respectively represent controller C i The number of packets sent and received, the average size of packets, and the controller bandwidth; m used and m total Respectively represent the used memory space and total memory capacity;
[0061] S1.2, use the coefficient of variation method to determine the weight of each resource utilization indicator in the load evaluation. First, construct the evaluation matrix to form an m×n evaluation matrix with the collected data;
[0062] X=[x ij ] n×m
[0063] Among them, x ij is the value of resource utilization index j in the i-th sample;
[0064] Then, determine the average value A of each resource utilization indicator j and standard deviation S j ;
[0065]
[0066] 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 ;
[0067]
[0068] 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 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 load measurement. The specific calculation formula is as follows:
[0069]
[0070] 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
[0071]
[0072] Step 2: determine the 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.
[0073] The controllers are divided in the following way:
[0074] S2.1. Determine the average load of all controllers based on the load of each controller mean as follows:
[0075]
[0076] S2.2. Determine the partition factor of each controller based on the average load.
[0077] Each controller C i The partition factor τ i ,as follows:
[0078]
[0079] S2.3. Divide the controllers according to the partitioning factor to obtain an underload controller set, a balanced controller set and an overload controller set.
[0080] If the controller partition factor τ i is less than 1, then the controller C i Classified as underloaded, added to 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 controller C i The load is too high, add the overload controller set middle;
[0081] Step 3: Check whether the current control plane is balanced according to the overload controller. If there is an overload controller in the control plane, the switch migration operation is triggered.
[0082] Determine whether the control plane load is balanced and determine the overloaded 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 need to implement switch migration operations. Otherwise, the switch migration operation is triggered and the subsequent candidate switch selection algorithm is called;
[0083] 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.
[0084] The total processing overhead of the controller is determined using the following method:
[0085] S4.1. Obtain the information from the overload controller C i A collection of all managed switches
[0086] S4.2. Pair collection Each switch S in k , get the set of flow table entries updated by the switch in time period t
[0087] S4.3. For each switch S k , calculates the controller's processing overhead for the Packet-In message that arrives at the switch for the first time
[0088]
[0089] 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;
[0090] S4.4. Traversing 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 .
[0091] flows s =R s ×avg packet-in ×avg update
[0092] 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:
[0093]
[0094] 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:
[0095]
[0096] Among them, |FRS K | indicates that switch S is in time period t k Total number of updated flow table entries;
[0097] S4.5. Processing overhead and Add them together to get the total controller processing overhead generated by the switch
[0098]
[0099] S4.6. Complete traversal of all switches and calculate total processing overhead Finally, add the total processing overhead of all switches to the set A candidate switch set F is formed in , and the candidate switch set F is used as the input of the subsequent target controller selection algorithm.
[0100] Step 5: Assemble the underload controllers The underload controller in is used as the target controller, and the underload controller set is traversed. and the candidate switch set F, and obtain the combination of the target controller and each switch;
[0101] Determine the control plane load balancing rate and migration cost of the switches in the combination to migrate to the target controller, determine the cost-effectiveness ratio of each combination according to the control plane load balancing rate and the migration cost, and select the combination with the smallest cost-effectiveness ratio as the migration target.
[0102] The total processing overhead of the controller is determined using the following method:
[0103] 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 The controller that is the target for the switch migration.
[0104] S5.2, determining the overhead of the original controller and the target controller corresponding to the switches in each combination for processing the Packet-In message respectively;
[0105] The original controller is the switch currently corresponding to the switch, that is, the calculation switch S k The corresponding original controller C i and the target controller C j Processing overhead incurred when processing Packet-In messages and
[0106] Processing overhead of the original controller:
[0107] Processing overhead of the target controller:
[0108] in, and Respectively represent the controller and the number of Packet-In messages processed;
[0109] 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 the target controller C j Processing overhead incurred when processing Packet-In messages and
[0110] Processing overhead of the original controller after migration:
[0111] Processing overhead of the target controller after migration:
[0112] 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
[0113]
[0114] 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 ;
[0115] S5.5, determine the migration cost of the switch;
[0116] Computing switch S k From the original controller C i Migrate to target controller C j Migration costs incurred The migration cost consists of two parts: load change cost and message exchange costs The calculation process is as follows:
[0117]
[0118] in, and Represents switch to 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;
[0119] S5.6, determining the cost-effectiveness ratio of each combination based on the migration cost and the control plane load balancing ratio;
[0120] According to the migration cost Load balancing rate Further calculation combination <C j ,S k >Cost-effectiveness ratio The size is as follows:
[0121]
[0122] S5.7. Select the combination with the lowest cost-effectiveness ratio as the migration target.
[0123] 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;
[0124] Step 6: Perform switch migration to migrate the switches in the triplet from the original controller to the target controller.
[0125] According to the switch migration set MS obtained at last, the leader controller sends migration instructions to the lower-level common controllers participating in the migration, migrates the switches in the combination to the target controller, and completes the corresponding switch migration operation;
[0126] The dynamic switch migration method based on multi-objective optimization has the following advantages:
[0127] First, unlike the existing solution that only uses the flow request rate to measure the controller load, the present invention selects CPU, bandwidth and memory utilization as load measurement indicators. In addition, the present invention adopts the coefficient of variation method to determine the load weights of various indicators to improve the accuracy of controller load measurement and division.
[0128] Second, unlike the existing scheme that only selects the switch with the highest flow request rate as the candidate switch, the present invention not only considers the controller overhead generated by processing the flow request message, but also considers the overhead when updating the flow table entry, thereby optimizing the candidate switch selection process and enhancing the load balancing performance.
[0129] Third, unlike the existing solutions that directly select 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 of migration, thereby further avoiding overloading of the target controller and improving migration efficiency.
[0130] Correspondingly, see Figure 1 , the present application also proposes a dynamic switch migration system based on multi-objective optimization, including:
[0131] 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.
[0132] The partitioning module is used to determine the corresponding partitioning factor according to the load of each controller, and divide all controllers into an underloaded controller set and an overloaded controller set according to the partitioning factor.
[0133] The balancing module is used to detect whether the current control plane is balanced according to the overload controller. When there is an overload controller in the control plane, the switch migration operation is triggered.
[0134] 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.
[0135] 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, and obtain the combination of the target controller and each switch;
[0136] Determine the control plane load balancing rate and migration cost of the switches in the combination to migrate to the target controller, determine the cost-effectiveness ratio of each combination based on the control plane load balancing rate and the 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.
[0137] 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;
[0138] Leader controller: The leader controller is mainly composed of two parts, namely, a load balancing module and a message distribution 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;
[0139] The message distribution component distributes the migration decision results to each common controller involved in the migration according to the migration set;
[0140] Ordinary controller: Ordinary controller has two main functions, namely, performing switch migration and processing various network requests from data plane switches;
[0141] Data storage component: The data storage component is responsible for storing and maintaining network information from lower-level controllers;
[0142] Data plane: The data plane is the bottom layer of the SDN architecture. The task of the data plane is to receive network data packets, forward them to the correct output port according to the routing table and forwarding rules, and convert and process the data packets as needed. When the incoming data packet does not match the flow table entry, the switch will encapsulate the Packet-In message and send it to the general controller for routing decision, and after receiving the Packet-Out or Flow-Mod data packet from the controller, it will process the pending data packet.
[0143] 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. In addition, the switch has no right to determine the role of the controller and can only be informed of its role. The controller can request to convert its own 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 process of the present invention is as follows:
[0144] 1a) When the switch migration decision is completed, the leader controller will send a migration command to the target controller to notify it to send a role conversion request to complete the switch migration operation;
[0145] 1b) After receiving the migration command from the leader controller, the target controller will send a ROLE-REQUEST message to the switch, requesting to switch from the slave controller to the master controller role;
[0146] 1c) When the switch receives the ROLE-REQUEST message, it will switch the role of the target controller from the Slave controller to the Master controller according to the OpenFlow protocol. At this time, the original Master controller will automatically become a Slave controller, ensuring that there is always only one Master controller for a single switch;
[0147] 1f) After the role switch is completed, the switch will send a ROLE-REPLY message to the target controller to notify that the role switch is successful. After that, the flow request message of the switch will be sent to the target controller for processing.
[0148] It should be noted that in the several embodiments provided in the present 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 only 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 module described as a separate component may or may not be physically separated. The component displayed as a module may be a physical unit or multiple physical units, that is, it may be located in one place, or it 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.
[0149] In addition, each module in each embodiment of the present invention may be integrated into a processing unit, each module may exist physically separately, or two or more modules may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional unit.
[0150] An electronic device provided by an embodiment of the present application includes a memory and a processor. The memory stores a computer program. 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.
[0151] Another electronic device provided in the embodiment of the present application may also include: an input port connected to the processor, used to transmit multimodal data collected by an external acquisition device to the processor; and a display unit connected to the processor, used to display the processing results of the processor to the outside world; a communication module connected to the processor, used to realize communication between the electronic device and the outside world. The display unit can be a display panel, a laser scanning display, etc.; the communication mode adopted 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).
[0152] 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.
[0153] For the description of the relevant parts of the dynamic switch migration method system based on multi-objective optimization, electronic device and computer-readable storage medium provided in the embodiments of the present application, please refer to the detailed description of the corresponding parts in the dynamic switch migration method based on multi-objective optimization provided in the embodiments of the present application, which will not be repeated here. In addition, the parts of the above technical solutions provided in the embodiments of the present application that are consistent with the implementation principles of the corresponding technical solutions in the prior art are not described in detail to avoid excessive elaboration.
[0154] The above contents are 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; 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; Step 4: Assemble the underload 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 according to the total processing overhead of the controller. The cost-effectiveness ratio of each combination is determined according to the control plane load balancing rate and the migration cost. The combination with the smallest cost-effectiveness ratio is selected as the migration target.
2. A dynamic switch migration method based on multi-objective optimization according to claim 1, characterized in that: The resource utilization indicators include CPU utilization, memory utilization and bandwidth utilization.
3. The method for dynamic switch migration based on multi-objective optimization according to claim 1, characterized in that: Step 1 uses the coefficient of variation method to determine the weight of each resource utilization indicator in load assessment, including: Construct 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 .
4. 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.
5. The method for dynamic switch migration based on multi-objective optimization according to claim 1, characterized in that: The total processing overhead generated by the computing controller processing the flow entry set include: Determine the controller's overhead for processing the Packet-In message that arrives at the switch for the first time Determine the additional overhead incurred by the controller to update the switch flow table entry According to the expenses And flow table update overhead Determine the total controller processing overhead 6. 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 the original controller and the target controller corresponding to the switch in each combination to process the Packet-In message respectively 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 the target controller C j Processing overhead incurred when processing Packet-In messages and 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 7. A dynamic switch migration method based on multi-objective optimization according to claim 6, characterized in that: The migration cost includes the load change cost and message exchange costs in, and Represents switch to 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 packets transmitted during the migration process.
8. The method for dynamic switch migration based on multi-objective optimization according to claim 7, characterized in that: The cost-effectiveness ratio is calculated as follows:
9. A dynamic switch migration system based on multi-objective optimization, 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 a 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 underloaded controller set and an overloaded 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 processed by each switch in the candidate switch set F within a 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; 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 according to the total processing overhead of the controller. The cost-effectiveness ratio of each combination is determined according to the control plane load balancing rate and the migration cost. The combination with the smallest cost-effectiveness ratio is selected as the migration target.
10. 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 as claimed in any one of claims 1 to 8 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
Switch migration method and system based on cost perception
CN115150342A
Bidirectional switch migration method and system based on controller load prediction
CN118018485A