Method and system for dynamic load balancing of multiple mec based on sdnc controller

By using a dynamic load balancing method based on an SDN controller, and leveraging the characteristic information of drive test units and MEC servers, combined with k-means and DFPC algorithms, the problem of load imbalance among multiple MEC servers is solved, achieving a load balancing effect with high task success rate and short time.

CN116633937BActive Publication Date: 2025-12-19CHENGDU UNIV OF INFORMATION TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310448527.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-24
Publication Date
2025-12-19
Estimated Expiration
2043-04-24

AI Technical Summary

Technical Problem

In multi-MEC server scenarios, the vehicle computing task offloading method cannot be centrally managed, leading to uneven load among MEC servers, resource waste, and explosive growth in data scale.

Method used

A dynamic load balancing method based on SDN controllers is adopted. By constructing a network framework and utilizing the feature information of drive test units and MEC servers, combined with the k-means algorithm and DFPC algorithm, the task allocation ratio is dynamically adjusted to prioritize high-urgency tasks and achieve load balancing of multiple MEC servers.

Benefits of technology

In dynamic unloading scenarios, maintaining load balancing among multiple MEC servers continuously improves the success rate of unloading tasks, reduces task completion time, and minimizes resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116633937B_ABST
    Figure CN116633937B_ABST
Patent Text Reader

Abstract

The application provides a multi-MEC dynamic load balancing method based on an SDN controller, comprising the following steps: S1, constructing a network framework and building a coverage layer of the SDN controller; S2, when a vehicle is connected to a road test unit, transmitting an offloading task to a MEC server through the road test unit; S3, uploading characteristic information of the MEC server and the offloading task to the SDN controller; S4, performing offloading task distribution ratio calculation based on the uploaded characteristic information of the MEC server and the offloading task; S5, determining a decision result of the distribution ratio of each MEC server after the distribution ratio calculation is completed; S6, controlling each MEC server to perform offloading and calculation based on the decision result; and S7, dynamically adjusting the distribution ratio of each MEC server in the offloading and calculation process, so that the multi-MEC dynamic load balancing is achieved. The application solves the problem of unbalanced load among MEC servers.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of MEC dynamic load balancing, in particular to a multi-MEC dynamic load balancing method and system based on an SDN controller. BACKGROUND

[0002] With the rapid development of Internet of Vehicles (IoV) and MEC (Edge Computing), meanwhile, IEEE 802.11p-based VANETs (Vehicular Ad Hoc Networks) are applied in a large number of vehicular networks, and the task offloading mode of vehicles becomes more and more diverse. The computing task of a vehicle can be offloaded to a MEC server for V2I communication, offloaded to a neighboring vehicle for V2V communication, offloaded to a neighboring vehicle for relay, and finally offloaded to a MEC server for V2V2I communication. In all cases, the vehicle can also offload to any facility for V2X communication.

[0003] Through the task offloading mode, the computing pressure of the vehicle can be relieved to a certain extent, but the above communication modes all have the defect of being unable to be centrally managed. In the case of multiple MEC servers, the load rate between the MEC servers cannot be well balanced, and some idle resources will be wasted. In particular, the data scale borne by VANETs presents an explosive growth trend, which aggravates the problem of unbalanced load of MEC servers. SUMMARY

[0004] The present application provides a multi-MEC dynamic load balancing method and system based on an SDN controller to solve the problem of unbalanced load between MEC servers.

[0005] To achieve the above-mentioned purpose, the present application adopts the following technical solutions:

[0006] One aspect of the embodiments of the present application discloses a multi-MEC dynamic load balancing method based on an SDN controller, comprising:

[0007] S1. Constructing a network framework and building a coverage layer of the SDN controller, the vehicle and the road test unit communicating through a wireless mode;

[0008] S2. When the vehicle is not connected to the road test unit, selecting a normal cellular network for offloading;

[0009] When the vehicle is connected to the road test unit, transmitting the offloading task to the MEC server through the road test unit;

[0010] S3. Uploading the characteristic information of the MEC server and the characteristic information of the offloading task to the SDN controller;

[0011] S4. Based on the feature information of the MEC servers uploaded by all MEC servers and the feature information of the offloading tasks, the allocation ratio calculation of the offloading tasks is performed;

[0012] S5. After the allocation ratio calculation is completed, the decision result of the allocation ratio of each MEC server is determined;

[0013] S6. Based on the decision result, each MEC server is controlled to offload and calculate;

[0014] S7. In the offloading and calculating process, based on the remaining computing resources of each MEC server and the offloading tasks to be processed, the allocation ratio of each MEC server is dynamically adjusted to achieve multi-MEC dynamic load balancing.

[0015] In an embodiment of the present specification, in S1, the SDN controller is connected with the MEC server and the road test unit through a wire, and the road test unit is deployed at the core position of each street. Each road test unit broadcasts its IP address in a broadcast manner at a fixed time, so that the vehicle can selectively connect after detecting the broadcast.

[0016] In an embodiment of the present specification, in S2, when the vehicle listens to the broadcast of the road test unit, it immediately connects with the road test unit; when the vehicle listens to the broadcast of multiple road test units, the vehicle selects the closest road test unit for connection by calculating the timestamp difference of each road test unit twice broadcasting, and the smaller the difference value, the closer the distance between the vehicle and the road test unit.

[0017] In an embodiment of the present specification, in S4, the allocation ratio calculation is performed according to the load rate and computing capacity of each MEC server.

[0018] In an embodiment of the present specification, in S5, after the allocation ratio calculation is completed, the offloading tasks are divided into high-urgency and low-urgency tasks according to the feature information of the offloading tasks, so that each MEC server preferentially processes high-urgency offloading tasks.

[0019] In an embodiment of the present specification, the offloading tasks are divided into high-urgency and low-urgency tasks by using the k-means algorithm.

[0020] In an embodiment of the present specification, in S7, the allocation ratio of each MEC server is dynamically adjusted with the minimum total time variance of all vehicle offloading tasks, the minimum average time of all vehicle offloading tasks, the maximum average success rate of all vehicle offloading tasks, the minimum success rate variance of all vehicle offloading tasks, and the minimum average load rate of all MEC servers as the target.

[0021] Another aspect of the embodiments of the present specification discloses a multi-MEC dynamic load balancing system based on an SDN controller, comprising:

[0022] A construction module is configured to construct a network framework and build a coverage layer of the SDN controller, and the vehicle and the road test unit communicate through a wireless manner;

[0023] A connection module is configured to select a normal cellular network for offloading when the vehicle is not connected to the road test unit;

[0024] When the vehicle is connected to the road test unit, the offloading task is transmitted to the MEC server through the road test unit;

[0025] A feature information uploading module is configured to upload feature information of the MEC server and feature information of the offloading task to the SDN controller;

[0026] A distribution ratio calculation module is configured to calculate a distribution ratio of the offloading task based on the feature information of the MEC server and the feature information of the offloading task uploaded by all the MEC servers;

[0027] A decision result determination module is configured to determine a decision result of the distribution ratio of each MEC server after the distribution ratio calculation is completed;

[0028] A processing module is configured to control each MEC server to offload and calculate based on the decision result;

[0029] A load dynamic adjustment module is configured to dynamically adjust the distribution ratio of each MEC server based on the remaining computing resources of each MEC server and the offloading tasks to be processed during the offloading and calculation process, so as to realize multi-MEC dynamic load balancing.

[0030] In an embodiment of the present specification, the multi-MEC dynamic load balancing system based on the SDN controller further comprises:

[0031] A processor is connected with the construction module, the connection module, the feature information uploading module, the distribution ratio calculation module, the decision result determination module, the processing module and the load dynamic adjustment module, respectively;

[0032] A memory is connected with the processor and stores a computer program capable of running on the processor; when the processor executes the computer program, the construction module, the connection module, the feature information uploading module, the distribution ratio calculation module, the decision result determination module, the processing module and the load dynamic adjustment module are controlled to work, so as to realize the multi-MEC dynamic load balancing method based on the SDN controller.

[0033] In summary, the present application has at least the following beneficial effects:

[0034] The application is based on the self-organizing Internet of Vehicles application managed by the SDN controller, and in the multi-MEC scene, considering the different offloading task demands, the differences of the computing resources among the multi-MEC servers and the dynamics of the online offloading, the SDN controller is used to dynamically feedback and adjust the information, and the load balance among the multi-MEC servers is continuously maintained in the dynamic offloading scene. BRIEF DESCRIPTION OF DRAWINGS

[0035] In order to more clearly illustrate the technical solutions of the embodiments of the application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative labor.

[0036] Figure 1 The step schematic diagram of the multi-MEC dynamic load balancing method based on the SDN controller involved in the application.

[0037] Figure 2 The module schematic diagram of the multi-MEC dynamic load balancing system based on the SDN controller involved in the application.

[0038] Figure 3 The schematic diagram of the network framework involved in the application.

[0039] Figure 4 The schematic diagram of the three separate functional modules integrated into a Raspberry Pi involved in the application.

[0040] Figure 5 The schematic diagram of the virtual tunnel involved in the application.

[0041] Figure 6 The schematic diagram of the offloading task data structure involved in the application.

[0042] Figure 7 The schematic diagram of the task offloading process involved in the application.

[0043] Figure 8 The schematic diagram of the offloading task success rate involved in the application.

[0044] Figure 9 The schematic diagram of the offloading task success rate variance involved in the application.

[0045] Figure 10 The schematic diagram of the offloading task total time distribution involved in the application.

[0046] Figure 11A diagram of the load and load variance among multiple MECs for the baseline scheme involved in the present application.

[0047] Figure 12 A diagram of the load and load variance among multiple MECs for the polling scheme involved in the present application.

[0048] Figure 13 A diagram of the load and load variance among multiple MECs for the greedy scheme involved in the present application.

[0049] Figure 14 A diagram of the load and load variance among multiple MECs for the DFPC scheme involved in the present application.

[0050] Figure 15 A diagram of the success rate variance of offloading tasks among different schemes involved in the present application. DETAILED DESCRIPTION

[0051] In the following, only certain exemplary embodiments are simply described. As those skilled in the art can recognize, the described embodiments can be modified in various different ways without departing from the spirit or scope of the embodiments of the present application. Therefore, the drawings and the description are considered to be exemplary in nature rather than limiting.

[0052] The following disclosure provides many different embodiments, or examples, for implementing different structures of the embodiments of the present application. For the purpose of simplifying the disclosure of the embodiments of the present application, the components and settings of specific examples are described in the following. Of course, they are merely examples, and the purpose is not to limit the embodiments of the present application. In addition, the embodiments of the present application can repeatedly refer to numerals and / or reference letters in different examples, and such repetition is for the purpose of simplification and clarity, which itself does not indicate the relationship between the various embodiments and / or settings discussed.

[0053] The embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0054] As Figure 1 shown, an aspect of the embodiments of the present specification discloses a multi-MEC dynamic load balancing method based on an SDN controller, comprising:

[0055] S1. Construct a network framework, and build a coverage layer of the SDN controller. The vehicle and the road test unit communicate through a wireless manner.

[0056] In some embodiments, in S1, the SDN controller is connected with the MEC server and the road test unit through a wire. The road test unit is deployed at the core position of each street, and each road test unit broadcasts its IP address in a broadcast manner at a regular time, so that the vehicle selectively connects after detecting the broadcast.

[0057] S2. When the vehicle is not connected to the road test unit, select the ordinary cellular network for offloading; when the vehicle is connected to the road test unit, transmit the offloading task to the MEC server through the road test unit.

[0058] In some embodiments, in S2, when the vehicle listens to the broadcast of the road test unit, it immediately connects to the road test unit; when the vehicle listens to the broadcast of multiple road test units, by calculating the timestamp difference of each road test unit twice broadcast, the smaller the difference, the closer the distance between the vehicle and the road test unit, the vehicle selects the closest road test unit to connect.

[0059] S3. Upload the feature information of the MEC server and the feature information of the offloading task to the SDN controller.

[0060] The MEC server will upload the feature information of the MEC server and the offloading task to the SDN controller at regular intervals. The feature information E k of the kth MEC server is represented as:

[0061] E k = [N k , C k ];

[0062] Where N k represents the CPU resources currently available on the kth MEC device, C k represents the number of instruction cycles required for the kth server to process all offloading tasks in the waiting queue.

[0063] The feature information of each offloading task is represented as a three-tuple:

[0064] (B in,i , τ max,i , X i );

[0065] Where B in,i is the number of bits input by the ith task, including the offloaded application, τ max,i is the maximum completion delay of the ith offloading task, and X i is the computational density (CPU instruction cycles / bits) of the ith offloading task.

[0066] S4. Based on the feature information of the MEC server and the feature information of the offloading task uploaded by all MEC servers, calculate the allocation ratio of the offloading task.

[0067] In some embodiments, in S4, the allocation ratio is calculated based on the load rate and computing capacity of each MEC server.

[0068] The allocation ratio calculation formula is as follows:

[0069] P i,temp = (C total -C i ) x σ1+ N i x σ2;

[0070] P i = P i,temp / P total ;

[0071] wherein C total is the total number of instruction cycles of all MECs to be processed, C i is the number of instruction cycles of the current i-th MEC to be processed, P i,temp is the temporary proportion value of the i-th MEC calculated, and the proportion value of all MECs is finally counted as P total , so that the task allocation ratio of the i-th MEC accounts for the total proportion P i ; N i represents the current available CPU resources of the i-th MEC device; σ1 and σ2 represent different weights, and the sum of the weights is 1.

[0072] S5. After the allocation ratio is calculated, the decision result of the allocation ratio of each MEC server is determined.

[0073] In some embodiments, in S5, after the allocation ratio is calculated, according to the characteristic information of the offloaded tasks, the offloaded tasks are divided into high-urgency and low-urgency tasks, so that each MEC server preferentially processes the offloaded tasks of high urgency (i.e., preferentially allocates the offloaded tasks of high urgency).

[0074] In some embodiments, the offloaded tasks are divided into high-urgency List high and low-urgency List low tasks by using the k-means algorithm.

[0075] The allocation formula for allocating the offloaded tasks is:

[0076] N i = P i x List high ;

[0077] Then, the tasks of low urgency are allocated, and the allocation formula is:

[0078] N i = P i x List low ;

[0079] wherein N i represents the current available CPU resources of the i-th MEC device.i This represents the task allocation ratio for the i-th MEC.

[0080] S6. Based on the decision results, control each MEC server to start matching the uninstallation destination of each uninstallation task for uninstallation and calculation.

[0081] S7. During the unloading and computation process, the allocation ratio of each MEC server is dynamically adjusted based on the remaining computing resources of each MEC server and the unloading tasks to be processed, so as to achieve dynamic load balancing of multiple MECs.

[0082] In some embodiments, in S7, the allocation ratio of each MEC server is dynamically adjusted with the objectives of minimizing the total time variance of unloading tasks for all vehicles, minimizing the average time of unloading tasks for all vehicles, maximizing the average success rate of unloading tasks for all vehicles, minimizing the variance of the success rate of unloading tasks for all vehicles, and minimizing the average load rate of all MEC servers.

[0083] The objective functions mentioned above are as follows:

[0084]

[0085]

[0086]

[0087]

[0088]

[0089] in, This is the function that minimizes the total time variance of the unloading task for all vehicles. Let be the unloading time for all tasks of the i-th vehicle. Let be the success rate of the unloading task for the i-th vehicle. Let be the global load variance of the MEC at time t. This is the function that minimizes the average unloading time for all vehicles. This function maximizes the average success rate of unloading tasks for all vehicles. Let be the function that minimizes the variance of the unloading success rate for all vehicles. This is the function that minimizes the average load rate of all MEC servers.

[0090] like Figure 2 As shown, another aspect of the embodiments of this specification discloses a multi-MEC dynamic load balancing system based on an SDN controller, including:

[0091] The constructing module is configured to construct a network framework and build a coverage layer of an SDN controller, and the vehicle and the road test unit communicate through a wireless manner.

[0092] The connecting module is configured to select a normal cellular network to perform offloading when the vehicle is not connected to the road test unit.

[0093] The offloading task is transmitted to the MEC server through the road test unit when the vehicle is connected to the road test unit.

[0094] The characteristic information uploading module is configured to upload the characteristic information of the MEC server and the characteristic information of the offloading task to the SDN controller.

[0095] The distribution ratio calculating module is configured to calculate the distribution ratio of the offloading task based on the characteristic information of the MEC server and the characteristic information of the offloading task uploaded by all the MEC servers.

[0096] The decision result determining module is configured to determine the decision result of the distribution ratio of each MEC server after the distribution ratio calculation is completed.

[0097] The processing module is configured to control each MEC server to perform offloading and calculation based on the decision result.

[0098] The load dynamic adjustment module is configured to dynamically adjust the distribution ratio of each MEC server based on the remaining calculation resources of each MEC server and the offloading tasks to be processed during the offloading and calculation process, so as to realize the dynamic load balancing of the multiple MECs.

[0099] In an embodiment of the present application, the multiple MEC dynamic load balancing system based on the SDN controller further comprises:

[0100] The processor is connected with the constructing module, the connecting module, the characteristic information uploading module, the distribution ratio calculating module, the decision result determining module, the processing module and the load dynamic adjustment module.

[0101] The memory is connected with the processor and stores a computer program capable of running on the processor, and when the processor executes the computer program, the constructing module, the connecting module, the characteristic information uploading module, the distribution ratio calculating module, the decision result determining module, the processing module and the load dynamic adjustment module are controlled to work, so as to realize the multiple MEC dynamic load balancing method based on the SDN controller.

[0102] The technical concept of the present application is as follows:

[0103] 1. Network framework

[0104] The network framework contains vehicles, Roadside Units (RSUs) and MEC servers (hereinafter referred to as MEC). On this basis, the overlay layer of the SDN controller is built. As shown in Figure 3

[0105] Figure 3 A MOLF (Multi-MEC Online Load balancing Framework) diagram of a street section is shown, which is called a network module. The network of the entire city is spliced by multiple such network modules. In a more complex scenario, if further management of multiple network modules is required, multiple network modules can be connected in real time through the SDN controller, and multi-level management can be realized through a higher-level SDN controller.

[0106] In each network module, an SDN controller and multiple MEC servers are included, which are all deployed in the core position of the street. The wireless communication facilities of the vehicle are composed of a large number of RSUs deployed around the street. RSU is an important infrastructure for V2I communication, providing roadside information services for VANET. The exchange of routing data between RSU, SDN controller and MEC is responsible by the SDN controller.

[0107] When the vehicle enters the signal range of the RSU, the vehicle and the RSU will automatically establish a connection. If there are multiple RSUs with overlapping signals, the vehicle will prefer to establish communication with the RSU with the best signal.

[0108] The experimental network deployment is carried out in a three-layer network step-by-step coverage mode, including the ad hoc network layer, the SDN data transmission layer and the SDN control layer. The ad hoc network layer is built based on the 802.11 protocol and is used for data transmission between vehicles and RSUs. After the RSU obtains the offloading data of the vehicle, it uses the SDN controller to transmit the data to the MEC. OVS (Open vSwitch) is the most widely used virtual switch at present, which can quickly realize the construction work. The data between the SDN controller, RSU and MEC is forwarded through OVS, that is, the SDN control layer is responsible for managing the data forwarding rules of the SDN data transmission layer, and the SDN controller selects the Ryu controller.

[0109] In order to actually deploy MOLF, the expandable and multifunctional low-cost Raspberry Pi hardware platform is selected as the hardware platform for building MOLF. The Raspberry Pi hardware platform is equipped with a 1.5GHz 4-core 64-bit ARM Cortex-A72 CPU and a dual-band 802.11ac wireless network.

[0110] ​The vehicle driving in the road is simulated by a wheeled car equipped with Raspberry Pi. The Raspberry Pi carried by the car is mainly responsible for ad hoc network communication, generating offloading tasks, and safety control such as vehicle driving and ranging obstacle avoidance.

[0111] The underlying construction of RSU, OVS and MEC is based on the highly integrated characteristics of Raspberry Pi. The three separate functional modules can be integrated into one Raspberry Pi, as shown in Figure 4 The Raspberry Pi with integrated functions has RSU, OVS and MEC functions. Although the three functions are all concentrated in one Raspberry Pi, the three functions are independent when working.

[0112] The communication between the vehicle and the RSU is based on the IEEE 802.11 protocol to build an Ad-hoc network. Since Raspberry Pi has a WIFI card module, it only needs to configure the interfaces file in the / etc / network / directory of Raspberry Pi, and then use the WIFI card to realize the establishment of an ad hoc network between multiple Raspberry Pis. Except that the IP address of each user is different, the channel and network name must be consistent, otherwise it will not be able to connect normally.

[0113] When building the SDN data transmission layer, the OVS data transmission also needs to mount a physical network card, and the only wireless network card of Raspberry Pi has been occupied when building the underlying ad hoc network. In order to use the same wireless network card without destroying the underlying ad hoc network, Vxlan tunnel technology is used to establish a virtual tunnel. The Vxlan tunnel makes the overlay layer of the SDN controller share a physical network card with the ad hoc network layer, but the data transmission of each layer does not interfere with each other. The establishment of the virtual tunnel is shown in Figure 5 .

[0114] In actual task offloading, offloading task data is encapsulated in JSON format for transmission, and the data frame format definition is shown in Figure 6 .

[0115] The three-tuple information of the offloading task is encapsulated in the head_body field under the HEAD field, and the offloading task to be processed is encapsulated in the body_body field. All id field values in each offloading task remain consistent, so that the MEC can verify whether the HEAD field and the BODY field belong to the same task. Since the SDN controller is responsible for the allocation of offloading tasks, and the MEC is responsible for the processing of tasks, therefore, when uploading the context information to the SDN controller, only the HEAD field information of the offloading task will be sent to the SDN controller, and the heavy BODY field information will be retained in the MEC, thereby saving unnecessary information transmission.

[0116] When performing offloading, the vehicle randomly generates offloading tasks with different urgency and offloads, and the offloading tasks are transmitted by the RSU to the nearby MEC. Under the management of the SDN controller, all offloading tasks offloaded to the MEC, the MEC will report the HEAD field information of each offloading task to the SDN controller at a time, and the SDN controller will calculate the offloading task allocation within a certain time according to the collected offloading tasks using the DFPC algorithm (see below). After the SDN controller decision calculation is completed, the MEC will make corresponding actions according to the decision result of the SDN controller. The offloading process of a single offloading task is as shown in Figure 7 .

[0117] 2. Feature information of MEC

[0118] The feature information of the MEC needs to be reported to the SDN controller at a time, and the SDN controller is responsible for collecting the feature information of all MECs for global load balancing processing. In order to reduce the uncertain influence brought by multi-threading, all MECs only have a single thread to independently process the offloading tasks of the vehicle.

[0119] For the feature information of each MEC, some parameters are used for representation. f is the single CPU core frequency of the MEC, K n is the total number of cores possessed by the current MEC, and the total computing capacity of the MEC is represented as f*K n .

[0120] η is the percentage of ideal CPU resources, indicating the current total average workload rate of the MEC. Therefore, the current available CPU resources N k of the kth MEC are represented as:

[0121] N k = K n f(100-η);

[0122] The instruction cycles required for the kth server to process all n offloading tasks in the waiting queue are:

[0123]

[0124] where B in,j and X j represent the input bit number and the computing density in the triple of the jth task, respectively.

[0125] Therefore, the feature vector of the kth MEC can be represented as:

[0126] E k = [N k , C k ];

[0127] For MECs with different computing capacities, Ek All can accurately represent the load state of the kth MEC and the remaining computing resources, and are used by the SDN controller for dynamic load balancing adjustment.

[0128] Each vehicle has a separate task offloading success rate. Whether the nth offloaded task of a vehicle is successfully offloaded is represented by , and is 1 if the offloading is successful and 0 if the offloading is unsuccessful. The decision criterion is given by the following formula:

[0129]

[0130] wherein represents the timestamp recorded when the nth offloaded task is offloaded, represents the timestamp recorded when the nth offloaded task is processed. When , it means that the nth offloaded task is successfully offloaded, and is 1, otherwise it is 0. In summary, the success number of all offloaded tasks is counted, and the offloaded task success rate of the current mth vehicle is obtained as:

[0131]

[0132] wherein is whether the ith offloaded task is successfully offloaded,

[0133] is the offloaded task success rate of the mth vehicle. After waiting for all the offloaded tasks of all vehicles to be processed, the success rate of all the offloaded tasks of all vehicles is counted, and finally the average value of the offloaded success rates of all (m) vehicles is obtained as:

[0134]

[0135] wherein is the offloaded task success rate of the ith vehicle.

[0136] The model for evaluating the success rate difference of m vehicles is:

[0137]

[0138] 3. Total offloading time

[0139] Each small vehicle will be set with a certain total number of offloaded tasks, and after all the offloaded tasks are offloaded, the total time for processing all the offloaded tasks will be recorded. The total offloading time of the offloaded tasks of the mth vehicle is represented by

[0140] ​​​The total offloading time is the sum of all offloading task processing time, and the processing time of a single offloading task is not recorded and evaluated.

[0141] In order to embody the fairness of the vehicle, the processing time of each vehicle offloading task should be evenly distributed, and the offloading task of other vehicles should be waiting while the offloading task of a vehicle is always executed. Therefore, in order to embody the fairness of the algorithm, the average offloading total time and the variance of the offloading total time of all vehicles under the entire network module are used for evaluation, as follows:

[0142] The average offloading total time variance is:

[0143]

[0144] Wherein, T represents the total offloading time of m vehicles.

[0145] The offloading total time variance is:

[0146]

[0147] 4. Load balancing

[0148] Since the vehicles are not evenly distributed in various places of the road, the load balancing of the MEC is particularly important. The load rate of the MEC is η, and the global load rate at time t is represented by the following formula:

[0149]

[0150] Wherein η t,j represents the computing load rate of the jth MEC at time t, represents the average computing load rate of all (k) MECs at time t.

[0151] At the same time, according to the running time T of the MEC processing all offloading tasks of the vehicle, the average running load model is solved as follows:

[0152]

[0153] 5. Task allocation algorithm (DFPC algorithm)

[0154] The calculation method of the offloading task allocation of the present application can be defined as the DFPC algorithm, which can be specifically referred to the following table.

[0155]

[0156]

[0157] Firstly, the allocation ratio calculation part aims to calculate the task allocation ratio of each MEC, which is dynamically calculated through the feedback data of MEC. The feedback data is the content in the characteristic information of MEC. In addition, the feedback information can also add other influence variables such as the distance between MECs in addition to the two variables in the formula representing the characteristic information of MEC. The feedback data needs to be given a certain weight σ for use. The main consideration factor is that the greater the influence on load balancing, the greater the weight should be given. The size C of the computing resources between MECs has little difference, so a relatively small weight should be given. The allocation ratio R and C are given a weight factor of 0.8 and 0.2 respectively.

[0158] Secondly, the task clustering part, which iterates all the offloading tasks sent by MECs in a timely manner, uses the k-means clustering algorithm to cluster offloading tasks into two categories, and finds the high emergency class of tasks in the two categories to allocate offloading first, and then allocates offloading tasks with relatively low emergency. The first allocated offloading task can be processed first. The low-emergency offloading task is allocated later, because the high and low determination of emergency is based on the maximum completion delay τ max of the offloading task. The offloading task with low emergency has a relatively large completion delay and can tolerate a certain waiting time, so as to improve the completion rate of offloading tasks. The specific parameters are shown in the following table.

[0159]

[0160] 6. Comparison scheme

[0161] The three comparison schemes of benchmark scheme, polling scheme and greedy scheme are introduced as shown in the following table.

[0162]

[0163] 7. Offloading task success rate comparison

[0164] For a batch of offloading tasks, the most basic thing is to ensure that the offloading success rate of the entire offloading task is high. Figure 8 The average success rate of vehicle offloading under different task quantities is shown.

[0165] From Figure 8 it can be seen that as the task quantity increases, the success rate of all schemes decreases, because the amount of tasks to be processed has exceeded the load of the processor, and a large number of offloading tasks cannot be processed in a short time, so the success rate will decrease.

[0166] Since the baseline scheme does not use the SDN controller for management, the offloading tasks of vehicles will only exist in one MEC for processing. Therefore, the success rate is the lowest. If there is a road jam, all offloading tasks of vehicles will be offloaded to one server, which will cause more serious task waiting timeout.

[0167] Compared with the baseline scheme, the offloading success rates of the other three schemes using SDN technology for load balancing management can remain at a high level. Among them, the scheme using the DFPC algorithm always maintains the highest success rate compared with other comparison schemes. However, evaluating the average offloading success rate of all vehicles is only one aspect, and the difference in the success rate of each vehicle must also be considered. Figure 9 The difference in the offloading task success rate of vehicle users between different schemes is shown. The success rate difference between vehicle users in the baseline scheme is the largest, indicating that the offloading tasks between vehicles are not fairly processed by the MEC, i.e., there is a vehicle whose most offloading tasks are waiting for serious timeout because the MEC is busy processing the offloading tasks of other vehicles, ultimately leading to a huge difference in the offloading task success rate between vehicles. If the three vehicles are connected to three different MECs, respectively, the ideal situation of a variance of 0.05 when the number of tasks is 600 will occur. Figure 9

[0168] 8. Offloading task processing total time comparison

[0169] Since the offloading success rate of the offloading task is related to the maximum delay of the offloading task, when the offloading task delay is infinite, all algorithms can complete the offloading task within the specified time. Therefore, in addition to the offloading success rate, the total time of offloading task completion is also an important aspect to focus on.

[0170] From the Figure 10 It can be seen that the DFPC algorithm can always process all offloading tasks at the fastest speed compared with the other three algorithms under the same task amount, and the total offloading task completion time can also remain at a low level. By observing the experimental results of the three comparison schemes, it can be found that when the offloading task amount is small, the total time difference between the schemes is not large at the beginning because the MEC computing resources are sufficient and the offloading task processing can be completed quickly. However, when the offloading task amount gradually increases, the available resources of the MEC quickly reach saturation, and then the offloading task waiting processing time continuously increases with the increase of the task amount, ultimately leading to a super-long offloading task processing total time.

[0171] 9. Load balancing comparison

[0172] ​When measuring the performance of load balancing, it is often measured according to the load difference between different servers. In an online offloading environment, vehicle offloading tasks are constantly generated and offloaded over time, and the MEC is in a dynamic load process. In the case of constantly changing task quantity, task complexity and task urgency, the computing performance of different MECs and the task waiting time need to be considered.

[0173] In order to strengthen the representation, the experimental graph of load balancing only selects the experimental data graph of the representative maximum task quantity of 900.

[0174] From Figure 11 It can be seen that the benchmark scheme lacks unified management of the SDN controller, and during the entire offloading task processing, the MEC has serious load imbalance. According to Figure 12 It can be seen that the SDN controller of the round robin scheme does not treat different MECs differently according to their computing resources. At the beginning, although the offloading tasks can be quickly assigned to the MECs through the round robin method, in the last stage, as shown in Figure 12 , the server with small computing power (MEC01) has a very long processing time due to excessive load, which greatly reduces the balance of the entire system. As shown in Figure 13 , although the offloading tasks are sorted by urgency, high-urgency offloading tasks can be preferentially offloaded. However, as shown in Figure 13 , MEC03 and MEC04, the task urgency and task complexity of the task processing are positively correlated, and if high-urgency offloading tasks are preferentially processed, the MEC will soon reach an idle state. With the continuous offloading of vehicle tasks, MEC03 and MEC04 will be in a full load state, and the phenomenon of continuous oscillation will occur. MEC01 and MEC02 in Figure 13 , which process two MECs with low task urgency, will always be in a full load state.

[0175] Since offloading tasks are constantly generated, the amount of computation required to process each offloading task is different, which requires the SDN controller to dynamically adjust the task allocation according to the state of each MEC. For the three comparison schemes, the SDN controller cannot well handle the case where the offloading task quantity, task complexity and task urgency are constantly changing, and there will be fluctuations due to different offloading tasks.

[0176] In most of the offloading task processing process, the SDN controller can dynamically control the task allocation according to the feedback state of the MEC, so that all MECs can maintain good load balancing effect. From Figure 14It can be observed that, although MEC01 has lower computing capability compared with the other three MECs, the DFPC algorithm considers the difference of MEC01 and allocates the offloading tasks in proportion to the remaining computing capability of MECs to offset the difference among multiple MECs, so as to achieve the effect of overall balance. At the same time, it can be seen that the average load variance value of the DFPC algorithm is also at the minimum value compared with the three comparison schemes. Figure 15

[0177] In summary, 1, in order to improve the offloading success rate of the offloading task, the offloading task allocation of the MEC needs to be centrally managed. After adding the SDN controller for upper management, the offloading success rate of the vehicle can be significantly improved compared with the scheme without the management of the SDN controller.

[0178] 2, only adding the SDN controller for management, ignoring the characteristics of the offloading task and the difference of the computing resources of the MECs can cause the super-long waiting time of the offloading task, so that the performance of the whole network module rapidly decreases. Therefore, the selection of the k-means clustering algorithm can not only quickly classify according to the characteristics of the offloading task, but also batch process a large amount of data, complete the reasonable allocation of the task, and greatly shorten the decision time.

[0179] 3, after ensuring the high offloading success rate and the short offloading completion time of the offloading task, the influence of the dynamic change of the offloading task in the online offloading needs to be solved. Therefore, by using the context information reported by the MEC, the SDN controller can perform dynamic feedback processing, and solve the influence of the load fluctuation of the MEC caused by the change of the characteristics of the offloading task.

[0180] The DFPC algorithm of the present application simultaneously meets the above three conditions. Compared with other schemes that do not simultaneously meet these conditions, the DFPC algorithm makes the offloading success rate of the vehicle offloading task, the success rate variance, the total task completion time, and the load variance among MECs all at the minimum value, and solves the problem of load imbalance among multiple MECs caused by the explosion of mobile data in VANET.

[0181] The above-described embodiments are used to illustrate the present application and are not used to limit the present application, so the change of the example value or the replacement of the equivalent element should still belong to the scope of the present application.

[0182] From the above detailed description, it can be understood by those skilled in the art that the present application can indeed achieve the aforementioned purpose, and has met the requirements of the Patent Law.

[0183] ​While the preferred embodiments of the application have been described, additional variations and modifications can be made to these embodiments by those skilled in the art once they have the benefit of the foregoing description. It is intended that the appended claims shall cover all such modifications and changes as fall within the true spirit and scope of the application. The above description is therefore not to be taken in a limiting sense. It is to be understood that features of the embodiments of the application can be combined, substituted, or modified, where appropriate, with features of other embodiments, without departing from the scope of the present application.

[0184] It should be noted that the description of the flow is merely illustrative and explanatory and does not limit the scope of the present specification. Various modifications and changes can be made to the flow by those skilled in the art under the guidance of the present specification. However, these modifications and changes are still within the scope of the present specification.

[0185] The above description has described the basic concepts, and it is obvious to those skilled in the art after reading this application that the above disclosure of the application is only as an example and does not constitute a limitation on the present application. Although it is not explicitly stated here, those skilled in the art can make various modifications, improvements and modifications to the present application. Such modifications, improvements and modifications are suggested in the present application, so such modifications, improvements and modifications are still within the spirit and scope of the exemplary embodiments of the present application.

[0186] At the same time, specific words are used in the present application to describe the embodiments of the present application. For example, "one embodiment", "an embodiment", and / or "some embodiments" means a certain feature, structure or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that the "an embodiment" or "one embodiment" or "an alternative embodiment" mentioned in different places in the specification does not necessarily refer to the same embodiment. In addition, certain features, structures or characteristics in one or more embodiments of the present application can be properly combined.

[0187] In addition, those skilled in the art can understand that aspects of the present application can be described and described by several patentable categories or cases, including any new and useful processes, machines, products or combinations of matter, or any new and useful improvements to them. Therefore, various aspects of the present application can be implemented entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. The above hardware or software can be referred to as "unit", "module" or "system". In addition, aspects of the present application can take the form of a computer program product embodied in one or more computer readable media, wherein computer readable program code is contained therein.

[0188] Computer program code for carrying out operations of various aspects of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, conventional procedural programming languages, such as the C programming language, Visual Basic, Fortran 2103, Perl, COBOL 2102, PHP, ABAP, dynamic programming languages, such as Python, Ruby and Groovy, or another programming language. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any form of network, such as a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet) or within a cloud computing environment or as a service, such as software as a service (SaaS).

[0189] Furthermore, the order of presentation of the processing elements and sequences, numerical alphabets used, or other names used in this application are not intended to be limiting to the order of the processes and methods of this application, unless specifically stated in the claims. While several inventive embodiments have been discussed above, it should be appreciated that, unless otherwise stated, these embodiments are merely examples of the application and are not meant to be limiting in any way. Additional modifications will readily occur to those skilled in the art. For example, while the implementation of the various components described above can be embodied in hardware devices, it can also be implemented as a pure software solution, for example, installed on existing servers or mobile devices.

[0190] Similarly, it is to be noticed that the term "comprising", used in the description, is not intended to exclude other elements or steps. Rather, it is used to indicate that the elements and / or steps that follow are included. It will be further noted that the description uses the term "preferably" to indicate particularly advantageous features, embodiments or situations. However, it will be appreciated that features, embodiments and situations recited as "preferred" can be substituted with other features, embodiments and situations that are equally advantageous.

Claims

1. A method for SDN controller based multi-MEC dynamic load balancing, characterized in that, Comprising: S1. Construct a network framework, and build a coverage layer of the SDN controller, the vehicle and the road test unit communicate through wireless mode; S2. When the vehicle is not connected to the road test unit, select the ordinary cellular network for offloading; When the vehicle is connected to the road test unit, transmit the offloading task to the MEC server through the road test unit; S3. Upload the feature information of the MEC server and the feature information of the offloading task to the SDN controller; S4. Based on the feature information of all MEC servers uploaded by the MEC server and the feature information of the offloading task, calculate the allocation ratio of the offloading task; S5. After the allocation ratio calculation is completed, determine the decision result of the allocation ratio of each MEC server; S6. Based on the decision result, control each MEC server to offload and calculate; S7. In the process of offloading and calculation, based on the remaining computing resources of each MEC server and the offloading tasks to be processed, dynamically adjust the allocation ratio of each MEC server to achieve multi-MEC dynamic load balancing; In S1, the SDN controller is connected with the MEC server and the road test unit through wire, the road test unit is deployed in the core position of each street, each road test unit broadcasts its IP address in a broadcast mode to facilitate the vehicle to selectively connect after detecting the broadcast; In S2, when the vehicle listens to the broadcast of the road test unit, it immediately connects with the road test unit; when the vehicle listens to the broadcast of multiple road test units, the vehicle selects the closest road test unit to connect by calculating the timestamp difference of each road test unit twice broadcasting, the smaller the difference, the closer the distance between the vehicle and the road test unit; In S4, the allocation ratio is calculated according to the load rate and computing capacity of each MEC server; In S5, after the allocation ratio is calculated, the offloading tasks are divided into high-urgency List high and low-urgency List low according to the characteristic information of the offloading tasks, so that each MEC server preferentially processes the offloading tasks with high urgency. The offloading tasks are divided into high emergency and low emergency tasks by k-means algorithm; In S7, the allocation ratio of each MEC server is dynamically adjusted to minimize the total time variance of all vehicle offloading tasks, minimize the average time of all vehicle offloading tasks, maximize the average success rate of all vehicle offloading tasks, minimize the success rate variance of all vehicle offloading tasks, and minimize the average load rate of all MEC servers; The MEC server will upload the MEC server and the characteristic information of the offloading task to the SDN controller in a timely manner, and the characteristic information E of the kth MEC server is k is represented as: ; wherein N k represents the current available CPU resource on the kth MEC device, C k represents the instruction cycles required for the kth server to process all offloaded tasks in the waiting queue; The feature information of each offloading task is represented as a triple: ; Wherein, B in,i The number of bits input for the i-th task, including the offloaded application; τ max,i The maximum completion delay of the i-th offloaded task; X i The computational density of the i-th offloaded task: CPU instruction cycles / bits The allocation ratio calculation formula is as follows: ; ; Wherein, C total is the total number of instruction cycles of all MEC tasks to be processed, C i is the number of instruction cycles of the current i-th MEC task to be processed, P i,temp is the temporary proportion value of the i-th MEC calculated, and the final proportion value of all MECs is P total , that is, the task allocation ratio of the i-th MEC to the total ratio is P i ; N i represents the current available CPU resources on the i-th MEC device; and represent different weights, and the sum of the weights is 1; Assigning tasks with high urgency, the assignment formula is: ; Assigning tasks with low urgency, with the formula: ; The objective function is as follows: ; ; ; ; ; wherein, is a function of minimum variance of total offloading task time for all vehicles, is the offloading time of all tasks for the i-th vehicle, is the success rate of offloading tasks for the i-th vehicle, is the variance rate of global load of MEC at time t, is a function of minimum average time of offloading tasks for all vehicles, is a function of maximum average success rate of offloading tasks for all vehicles, is a function of minimum variance of success rate of offloading tasks for all vehicles, is a function of minimum average load rate of all MEC servers.

2. A system for SDN controller based multi-MEC dynamic load balancing, characterized in that, Comprising: The construction module is used to construct a network framework, and build a coverage layer of the SDN controller, the vehicle and the road test unit communicate through wireless mode; The connection module is used to select the ordinary cellular network for offloading when the vehicle is not connected to the road test unit; When the vehicle is connected to the road test unit, transmit the offloading task to the MEC server through the road test unit; The feature information uploading module is used to upload the feature information of the MEC server and the feature information of the offloading task to the SDN controller; The allocation ratio calculation module is used to calculate the allocation ratio of the offloading task based on the feature information of all MEC servers uploaded by the MEC server and the feature information of the offloading task; A decision result determination module is configured to determine a decision result of the distribution ratio of each MEC server after the distribution ratio is calculated; A processing module is configured to control each MEC server to perform offloading and calculation based on the decision result; A load dynamic adjustment module is configured to dynamically adjust the distribution ratio of each MEC server based on the remaining computing resources of each MEC server and the offloading tasks to be processed during the offloading and calculation, so as to achieve multi-MEC dynamic load balancing; A processor is connected with the construction module, the connection module, the feature information uploading module, the distribution ratio calculation module, the decision result determination module, the processing module and the load dynamic adjustment module respectively; A memory is connected with the processor and stores a computer program capable of running on the processor; when the processor executes the computer program, the construction module, the connection module, the feature information uploading module, the distribution ratio calculation module, the decision result determination module, the processing module and the load dynamic adjustment module are controlled to work, so as to realize the multi-MEC dynamic load balancing method based on the SDN controller.

Citation Information

Patent Citations

  • Edge node load balancing method for minimizing network time delay

    CN112738272A

  • Vehicle edge network task allocation unloading method based on vehicle clustering

    CN115065683A