Storage balancing method, system, medium and program product based on edge computing
By periodically detecting the memory usage and network communication quality of edge computing devices, combining the memory change rate to predict the memory release time point, selecting the optimal candidate devices and sorting them, the problem of unbalanced memory resources in the edge computing environment is solved, and memory load balancing and efficient data migration between edge computing devices is realized.
Patent Information
- Application Number
- CN202510081075.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-20
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2045-01-20
AI Technical Summary
In an edge computing environment, due to the large number of devices and wide distribution, the utilization of memory resources is large. Some devices may experience memory resources shortage, while other devices' memory resources are idle, affecting the performance and stability of the entire edge computing system.
By periodically detecting the memory usage and network communication quality of edge computing devices, predicting the memory release time point in combination with the memory change rate, and planning data migration strategies in advance. When the memory overload of the target edge computing device is found, the optimal candidate device is selected based on the network communication quality, and the candidate devices are sorted according to the memory release prediction time point, improving the network transmission efficiency of data migration.
By dispersing overload data in the temporary buffer zone of multiple candidate devices, and timely reading and redistribution before the memory release prediction time point arrives, it not only solves the problem of excessive memory pressure in a single device, but also reduces the risk of data loss caused by insufficient memory of candidate devices, and ultimately realizes memory load balancing between edge computing devices, improving the efficiency of memory load balancing.
Smart Images

Figure CN119512767B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of electrical digital data processing, and in particular, relates to a memory balancing method, system, medium and program product based on edge computing. Background Art
[0002] With the rapid development of edge computing technology, a large number of computing devices are deployed at the edge of the network. These edge devices undertake tasks such as data collection, analysis and processing. However, due to the large number of devices and their wide distribution in the edge computing environment, the memory resource utilization of each device varies greatly. Some devices may have tight memory resources, while the memory resources of other devices are idle. This unbalanced memory resource allocation affects the performance and stability of the entire edge computing system.
[0003] In related technologies, a centralized resource scheduling server can be established in the edge computing network to monitor the memory usage of each edge device in real time. When it is detected that the memory load of a device is too high, part of its memory data is migrated to a device with a lower load, thereby achieving dynamic allocation and balancing of memory resources.
[0004] However, when the number of devices in the edge network surges, the central server needs to process a large number of resource monitoring and scheduling requests at the same time. When the network bandwidth is limited or the network conditions are unstable, the server will be overloaded and the efficiency of memory balancing will be reduced. Summary of the invention
[0005] The present application provides a memory balancing method, system, medium and program product based on edge computing, which are used to improve the efficiency of memory load balancing.
[0006] In a first aspect, the present application provides a memory balancing method based on edge computing, which detects the memory usage, memory change rate and network communication quality between multiple edge computing devices according to a preset period;
[0007] Calculate the predicted time point of memory release for each edge computing device based on the memory change rate;
[0008] The memory space of each edge computing device is divided into a computing storage area and a temporary cache area. The temporary cache area is used to temporarily store overload data migrated from other edge computing devices except the current edge computing device. The computing storage area is used for data computing and storage of the current edge computing device.
[0009] When any target edge computing device is detected, at least two candidate devices with the best communication quality with the target edge computing device are selected according to the network communication quality, and the target edge computing device is an edge computing device whose memory usage exceeds a preset threshold;
[0010] Sort the candidate devices from early to late according to the corresponding memory release prediction time points to obtain a candidate device queue;
[0011] According to the predicted time point of memory release of each candidate device in the candidate device queue, the overload data of the target edge computing device is migrated to the temporary cache area of each candidate device in the candidate device queue;
[0012] Before the memory release prediction time point of any candidate device in the candidate device queue arrives, control the target edge computing device to read the corresponding overload data from the temporary cache area of the candidate device;
[0013] The read overload data is migrated to computing storage areas in multiple edge computing devices whose memory usage is lower than a preset threshold.
[0014] By adopting the above technical solution, by periodically detecting the memory usage and network communication quality of the edge computing device, and combining the memory change rate to predict the memory release time point, the data migration strategy can be planned in advance. When it is found that the memory of the target edge computing device is overloaded, the optimal candidate device is selected based on the network communication quality, and the candidate devices are sorted according to the memory release prediction time point, which can improve the network transmission efficiency of data migration. By dispersing the overloaded data in the temporary cache area of multiple candidate devices, and reading and redistributing it in time before the memory release prediction time point arrives, it not only solves the problem of excessive memory pressure on a single device, but also reduces the risk of data loss caused by insufficient memory of the candidate device. Finally, the overloaded data is migrated to the computing storage area with sufficient memory, which realizes the memory load balancing between edge computing devices and improves the efficiency of memory load balancing.
[0015] In combination with some embodiments of the first aspect, in some embodiments, the predicted time point of memory release of each edge computing device is calculated according to the memory change rate, specifically including:
[0016] Calculate the memory change trend of each edge computing device within multiple consecutive preset cycles;
[0017] Divide the memory release cycle according to the memory change trend, and mark the peak time point and trough time point of the memory capacity in each memory release cycle;
[0018] Based on the time interval between the peak time point and the trough time point, combined with the current memory usage, the next memory release prediction time point is calculated.
[0019] By adopting the above technical solution, by analyzing the memory change trend of edge computing devices within multiple consecutive preset cycles, the periodic pattern of memory usage can be accurately identified. By dividing the memory changes into multiple release cycles and marking the peak and trough time points in each cycle, the system can grasp the dynamic change characteristics of memory usage. Based on the time interval between the peak and trough time points, the next memory release prediction time point is calculated in combination with the current memory usage, so that the system can more accurately predict the available time of memory resources, improve the accuracy of memory release time prediction, reduce resource waste caused by prediction errors, and thus improve the memory resource scheduling efficiency of the entire system.
[0020] In combination with some embodiments of the first aspect, in some embodiments, overload data of the target edge computing device is migrated to a temporary cache area of each candidate device in the candidate device queue, specifically including:
[0021] Obtain the remaining time of each candidate device in the candidate device queue to the corresponding memory release prediction time point and the remaining capacity of the temporary buffer area;
[0022] Calculate the time weight of each candidate device according to the remaining time;
[0023] The data carrying coefficient of each candidate device is calculated based on the time weight and the remaining capacity. The data carrying coefficient is positively correlated with the time weight and the remaining capacity.
[0024] Divide the overload data of the target edge computing device into blocks according to a preset data block size to obtain multiple data blocks;
[0025] Based on the data carrying coefficient of each candidate device, multiple data blocks are allocated to each candidate device in a weighted round-robin manner;
[0026] For each data block allocated to the candidate device, the data blocks whose access frequency difference is less than a preset value are merged into a data group;
[0027] Establish multiple parallel data transmission channels, and set different transmission priorities in each data transmission channel, where the transmission priority is positively correlated with the access frequency of the corresponding data group to be transmitted;
[0028] Each data group is transmitted in parallel to a temporary buffer of a corresponding candidate device through a data transmission channel, and each data group is stored in the temporary buffer in descending order of access frequency.
[0029] By adopting the above technical solution, the reasonable distribution of overloaded data is achieved by calculating the time weight and data carrying coefficient of the candidate device. The overloaded data is divided into blocks according to the preset size and weighted polling distribution is performed based on the data carrying coefficient, which improves the balance of data distribution. Data blocks with similar access frequencies are merged to reduce the degree of fragmentation of data transmission. By establishing multiple parallel data transmission channels and setting transmission priorities according to data access frequency, the system realizes efficient parallel transmission of data. Data is stored in the temporary cache area in order of access frequency, which optimizes data access efficiency, not only improves the efficiency of data migration, but also reduces network bandwidth consumption, while ensuring the rapid response capability of high-frequency access data.
[0030] In combination with some embodiments of the first aspect, in some embodiments, after migrating the read overload data to a computing storage area in which memory usage is lower than a preset threshold in a plurality of edge computing devices, the method further includes:
[0031] Obtain memory load data of each edge computing device within a plurality of consecutive preset cycles;
[0032] Determine a load fluctuation period based on the memory load data, and divide the load fluctuation period into a plurality of continuous time windows;
[0033] Predict the memory load transfer trend of each edge computing device within the time window;
[0034] Calculate the probability of each edge computing device becoming the target edge computing device at the end of the current time window based on the memory load transfer trend;
[0035] When the probability distance from the preset critical probability interval is less than the preset probability threshold, the overload data is reversely distributed so that the migration direction of the overload data is opposite to the current memory load transfer direction.
[0036] By adopting the above technical solution, the historical load data of edge computing devices is analyzed, the load fluctuation cycle is identified and the time window is divided. The memory load transfer trend is predicted within the time window, and the probability of each device becoming the target edge computing device is calculated, so that the system can detect potential memory pressure problems in advance. When the predicted probability is close to the critical value, the reverse data distribution strategy is implemented to make the migration direction of the overloaded data opposite to the current memory load transfer direction, balancing the memory load of each device in the system, preventing the occurrence of chain memory pressure problems in the local device group, and improving the load balancing ability and operation stability of the entire edge computing system.
[0037] In conjunction with some embodiments of the first aspect, in some embodiments, predicting the memory load transfer trend of each edge computing device within a time window specifically includes:
[0038] Calculate the memory usage change rate and memory release rate of each edge computing device in the current time window;
[0039] Calculate the net growth rate of memory load based on the memory usage change rate and memory release rate;
[0040] The memory load transfer direction is determined according to the positive or negative value of the memory load net growth rate, and the memory load transfer speed is determined based on the absolute value of the memory load net growth rate;
[0041] The memory load transfer direction and memory load transfer speed are used as characterization parameters to obtain the memory load transfer trend.
[0042] By adopting the above technical solution, by calculating the memory usage change rate and memory release rate of the edge computing device in the current time window, the dynamic changes of the device's memory resources can be accurately grasped. The memory usage change rate and the memory release rate are combined to calculate the net growth rate of the memory load, which can comprehensively reflect the actual consumption rate of the device's memory resources. The direction of memory load transfer is judged based on the positive and negative nature of the net growth rate of the memory load, and the transfer speed is determined according to its absolute value, so that the system can accurately grasp the flow of memory load between edge computing devices. The memory load transfer trend obtained by using the memory load transfer direction and transfer speed as characterization parameters can truly reflect the dynamic characteristics of the memory load distribution of the edge computing device group, improve the system's prediction accuracy of the memory load distribution changes of the edge computing device group, enable the system to more actively allocate memory resources, reduce the blindness of memory resource allocation, and improve the overall operation efficiency of the edge computing system.
[0043] In combination with some embodiments of the first aspect, in some embodiments, when the probability distance from the preset critical probability interval is less than the preset probability threshold, the overload data is reversely distributed, specifically including:
[0044] Obtain the remaining capacity of the computing storage area and the current business processing load of each edge computing device;
[0045] Calculate the data receiving capability index of each edge computing device based on the remaining capacity of the computing storage area and the current business processing load;
[0046] The edge computing devices are grouped based on the data receiving capability index to obtain multiple target receiving groups;
[0047] Calculate the data receiving quota of each target receiving group. The data receiving quota is positively correlated with the average value of the data receiving capability index of each edge computing device in the target receiving group.
[0048] A reverse distribution scheme for overload data is determined according to the data receiving quota, so that the migration direction of the overload data is opposite to the current memory load transfer direction.
[0049] By adopting the above technical solution, the data receiving capacity index is calculated by obtaining the remaining capacity of the computing storage area and the current business processing load information of the edge computing device. This index fully reflects the actual ability of the device to receive and process data. The devices are grouped based on the data receiving capacity index and the data receiving quota of each target receiving group is calculated, so that the system can reasonably allocate the data volume according to the actual processing capacity of the device. The overload data reverse distribution scheme formulated on this basis can suppress the centralization trend of memory load in the edge computing device group by making the data migration direction opposite to the current memory load transfer direction, thereby improving the stability of the system under high load conditions.
[0050] In combination with some embodiments of the first aspect, in some embodiments, calculating the data receiving capability index of each edge computing device according to the remaining capacity of the computing storage area and the current business processing load specifically includes:
[0051] Convert the remaining capacity of the calculated storage area into a standardized capacity score;
[0052] Calculate the business busyness according to the current business processing load, and convert the business busyness into a standardized load score;
[0053] Setting different weights for normalized capacity scores and normalized load scores;
[0054] The data receiving capability index is obtained by subtracting the product of the standardized load score and the corresponding weight from the product of the standardized capacity score and the corresponding weight.
[0055] By adopting the above technical solution, by converting the remaining capacity of the computing storage area and the current business processing load into standardized scores respectively, and setting different weights for calculation, the obtained data receiving capacity index can more objectively reflect the actual data processing capacity of the edge computing device. Standardization eliminates the differences between parameters of different dimensions, making the indicators of the two dimensions of capacity and load comparable. Through weight setting, the system can adjust the degree of influence of capacity factors and load factors on data receiving capacity according to actual application scenarios, and enhance the flexibility of data receiving capacity evaluation. The data receiving capacity index comprehensively considers the storage space and processing load of the device, which not only reflects the hardware resource status of the device, but also reflects the real-time processing pressure of the device, so that the system can more accurately evaluate the data processing potential of edge computing devices and improve the accuracy and rationality of system resource allocation.
[0056] In a second aspect, an embodiment of the present application provides a memory balancing system based on edge computing, which includes: one or more processors and a memory; the memory is coupled to one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and one or more processors call computer instructions to enable the system to execute the method described in the first aspect and any possible implementation method of the first aspect.
[0057] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, comprising instructions, which, when executed on a system, causes the system to execute the method described in the first aspect and any possible implementation of the first aspect.
[0058] In a fourth aspect, an embodiment of the present application provides a computer program product, characterized in that when the computer program product runs on a system, the system executes the method described in any possible implementation manner in the first aspect.
[0059] One or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages:
[0060] 1. The present application provides a memory balancing method based on edge computing. By periodically detecting the memory usage and network communication quality of edge computing devices and predicting the memory release time point in combination with the memory change rate, the data migration strategy can be planned in advance. When it is found that the memory of the target edge computing device is overloaded, the optimal candidate device is selected based on the network communication quality, and the candidate devices are sorted according to the predicted memory release time point, which can improve the network transmission efficiency of data migration. By dispersing and storing the overloaded data in the temporary cache area of multiple candidate devices, and reading and redistributing it in time before the predicted memory release time point arrives, it not only solves the problem of excessive memory pressure on a single device, but also reduces the risk of data loss caused by insufficient memory of the candidate device. Finally, the overloaded data is migrated to the computing storage area with sufficient memory, which realizes memory load balancing between edge computing devices and improves the efficiency of memory load balancing.
[0061] 2. The present application provides a memory balancing method based on edge computing, which analyzes the historical load data of edge computing devices, identifies load fluctuation cycles and divides time windows. The memory load transfer trend is predicted within the time window, and the probability of each device becoming a target edge computing device is calculated, so that the system can detect potential memory pressure problems in advance. When the predicted probability is close to the critical value, by implementing a reverse data distribution strategy, the migration direction of the overloaded data is opposite to the current memory load transfer direction, balancing the memory load of each device in the system, preventing chain memory pressure problems in local device groups, and improving the load balancing capability and operation stability of the entire edge computing system.
[0062] 3. The present application provides a memory balancing method based on edge computing. By obtaining the remaining capacity of the computing storage area of the edge computing device and the current business processing load information, the data receiving capacity index is calculated, which fully reflects the actual ability of the device to receive and process data. Devices are grouped based on the data receiving capacity index and the data receiving quota of each target receiving group is calculated, so that the system can reasonably allocate the amount of data according to the actual processing capacity of the device. The overload data reverse distribution scheme formulated on this basis can suppress the centralization trend of memory load in the edge computing device group by making the data migration direction opposite to the current memory load transfer direction, thereby improving the stability of the system under high load conditions. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] Figure 1 It is a flow chart of a memory balancing method based on edge computing in an embodiment of the present application.
[0064] Figure 2 This is another flow chart of a memory balancing method based on edge computing in an embodiment of the present application.
[0065] Figure 3 It is a schematic diagram of the physical device structure of a storage balancing system based on edge computing provided in an embodiment of the present application. DETAILED DESCRIPTION
[0066] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to be used as limitations to the present application. As used in the specification and appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include plural expressions, unless there is a clear indication to the contrary in the context. It should also be understood that the term "and / or" used in the present application refers to any or all possible combinations comprising one or more listed items.
[0067] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
[0068] The following uses an embodiment and combines Figure 1 , a memory balancing method based on edge computing in an embodiment of the present application is described:
[0069] See also Figure 1, which is a flow chart of a memory balancing method based on edge computing in an embodiment of the present application.
[0070] S101, detecting the memory usage, memory change rate, and network communication quality between multiple edge computing devices according to a preset period;
[0071] In this step, the system periodically monitors the memory usage of edge computing devices at certain time intervals, including the current memory usage and the rate of change of memory usage. At the same time, the system also detects the network communication quality between multiple edge computing devices so that the best candidate device can be selected for data migration based on the communication quality. This step provides a decision-making basis for subsequent memory balancing operations.
[0072] The system can collect memory usage data in real time through monitoring agents deployed on each edge computing device and calculate the average rate of change within a certain time range. The quality of network communication can be evaluated by periodically sending detection packets and counting indicators such as round-trip delay and packet loss rate. The system aggregates the collected data to form a global view of the resource usage of the entire edge computing network.
[0073] When there are a large number of edge devices, collecting and processing monitoring data may occupy more network bandwidth and computing resources. To this end, the system can adopt a layered monitoring architecture to aggregate the original data locally before reporting it to the central node. At the same time, by setting a reasonable data sampling frequency and data compression algorithm, resource overhead can be reduced while ensuring the timeliness and accuracy of monitoring data.
[0074] S102, calculating the predicted time point of memory release of each edge computing device according to the memory change rate;
[0075] The system calculates the predicted time point for memory release of each edge computing device based on the memory change rate, including:
[0076] Calculate the memory change trend of each edge computing device within multiple consecutive preset cycles;
[0077] Divide the memory release cycle according to the memory change trend, and mark the peak time point and trough time point of the memory capacity in each memory release cycle;
[0078] Based on the time interval between the peak time point and the trough time point, combined with the current memory usage, the next memory release prediction time point is calculated.
[0079] Based on the memory change rate data collected in step S101, the system predicts the memory usage change trend of each edge computing device in the future and calculates the expected memory release time point. The memory release prediction time point indicates the estimated time when the memory usage of the current device drops below a certain threshold and can receive migration data from other devices. Through this step, the system can plan data migration plans in advance and optimize resource scheduling efficiency.
[0080] The system analyzes the memory changes of each device over multiple consecutive cycles to determine whether the trend is continuous growth, continuous decline, or fluctuation. For cases that show periodic fluctuations, the peaks and troughs of memory usage can be further identified, and the duration from the peak to the trough can be calculated. Combined with the current memory usage, the system can calculate the estimated time point for the next release of sufficient memory space.
[0081] The actual memory change trend may be affected by many uncertain factors, such as sudden task requests causing rapid growth in memory usage. To deal with this situation, the system can consider introducing a confidence interval when predicting, that is, the probability that the memory release time point falls within a certain confidence interval. When the confidence level does not meet the requirements, the priority and strategy of data migration can be adjusted accordingly. In addition, the system can also record the historical load change patterns of each edge node, use machine learning algorithms to predict trends, and improve the accuracy of predictions.
[0082] S103, dividing the memory space of each edge computing device into a computing storage area and a temporary cache area;
[0083] The system divides the memory space of each edge computing device into a computing storage area and a temporary cache area. The temporary cache area is used to temporarily store overload data migrated from edge computing devices other than the current edge computing device, and the computing storage area is used for data calculation and storage of the current edge computing device.
[0084] The system logically divides the memory space of each edge computing device. One part is used as a computing storage area to execute the computing tasks assigned by the current device and store persistent data; the other part is used as a temporary cache area to receive and store overload data migrated from other devices. By dividing the independent temporary cache area, the impact of the migrated data on the computing tasks of the current device itself is avoided, and unified management and recycling are also facilitated.
[0085] The memory space can be divided in a dynamic allocation manner, and the ratio of the computing storage area and the temporary cache area can be flexibly adjusted according to the memory usage of the current device and the needs of the migration data cache. For example, when the device itself has fewer tasks, the space of the temporary cache area can be increased accordingly; when a large amount of migration data arrives, part of the computing storage area can be temporarily occupied to store the data. In addition, for devices with non-volatile memory (such as NVDIMM), part of the space can be specifically divided into a temporary cache area, which can provide a larger cache space and quickly restore data after the device is restarted.
[0086] In a heterogeneous edge computing environment, the memory performance and access latency of different devices may vary greatly. In order to give full play to the memory capacity of each device, the system can consider the memory performance level of the device when dividing the temporary cache area, and allocate a larger cache space on devices with higher memory performance. In addition, for some latency-sensitive migration data, the system can further divide a small high-speed cache area to store this part of the data to ensure fast access.
[0087] S104. When any target edge computing device is detected, at least two candidate devices having the best communication quality with the target edge computing device are selected according to the network communication quality;
[0088] When the system detects the existence of any target edge computing device, it selects at least two candidate devices with the best communication quality with the target edge computing device according to the network communication quality. The target edge computing device is an edge computing device whose memory usage exceeds a preset threshold.
[0089] When the system finds that the memory usage of an edge computing device (i.e., the target device) exceeds the preset threshold, it means that the device is overloaded and some data needs to be migrated to other devices to relieve memory pressure. Based on the network communication quality information collected in step S101, the system selects at least two devices with the best communication quality with the target device as the destination for migrating data, which are called candidate devices. By selecting the device with the best communication quality for data migration, the delay and packet loss rate of data transmission can be reduced, and the migration efficiency can be improved.
[0090] The system comprehensively considers multiple indicators such as network latency, bandwidth, and packet loss rate to evaluate the communication quality between edge devices. For example, the score of each indicator can be calculated, and then the weighted sum can be used to obtain the comprehensive communication quality score. In order to avoid the influence of abnormal values of individual indicators on the results, reasonable upper and lower thresholds can be set to truncate values that exceed the range. When selecting candidate devices, the device with the highest comprehensive communication quality score is given priority. In order to improve the reliability of data migration, the system selects at least two candidate devices. When the preferred candidate device cannot receive or store the migrated data, it can switch to the alternative candidate device.
[0091] S105, sorting the candidate devices from early to late according to the corresponding memory release prediction time points to obtain a candidate device queue;
[0092] After selecting candidate devices that meet the communication quality requirements, the system further sorts them according to the estimated memory release time of each candidate device (i.e., the calculation result of step S102) to form a candidate device queue. The candidate devices at the front of the queue have a relatively early estimated memory release time and can receive and store migration data faster; while the candidate devices at the back have a later memory release time, but can continue to receive data as a backup when the memory of the candidate devices at the front is filled. Through this sorting mechanism, data migration can more efficiently utilize the memory resources of different candidate devices.
[0093] The system sorts the predicted memory release time points of candidate devices from early to late, and can use basic sorting algorithms such as bubble sort, selection sort, etc. Considering the real-time requirements of edge scenarios, non-comparison sorting algorithms with lower computational complexity can also be used, such as bucket sort, counting sort, etc. When sorting, if the memory release time points of multiple candidate devices are the same, their memory space sizes can be further compared, and devices with larger space can be given priority. The generated candidate device queue can be stored in memory or persisted to disk for quick recovery after the system restarts.
[0094] The memory release time prediction of candidate devices may have certain errors. If data migration is arranged completely according to the order of predicted time points, data may be migrated to devices that are predicted earlier but actually released later, while devices that are predicted later but actually released memory earlier may be idle. To avoid this situation, when generating candidate device queues, the system can evaluate the priority of devices based on the predicted time point and prediction confidence. For devices with higher prediction confidence, the priority is relatively increased; for devices with lower confidence, even if the prediction time is earlier, their ranking position can be appropriately lowered. This can reduce the impact of prediction errors to a certain extent.
[0095] S106, according to the memory release prediction time point of each candidate device in the candidate device queue, migrate the overload data of the target edge computing device to the temporary cache area of each candidate device in the candidate device queue;
[0096] The system migrates the overload data of the target edge computing device to the temporary cache area of each candidate device in the candidate device queue, including:
[0097] Obtain the remaining time of each candidate device in the candidate device queue to the corresponding memory release prediction time point and the remaining capacity of the temporary buffer area;
[0098] Calculate the time weight of each candidate device according to the remaining time;
[0099] The data carrying coefficient of each candidate device is calculated based on the time weight and the remaining capacity. The data carrying coefficient is positively correlated with the time weight and the remaining capacity.
[0100] Divide the overload data of the target edge computing device into blocks according to a preset data block size to obtain multiple data blocks;
[0101] Based on the data carrying coefficient of each candidate device, multiple data blocks are allocated to each candidate device in a weighted round-robin manner;
[0102] For each data block allocated to the candidate device, the data blocks whose access frequency difference is less than a preset value are merged into a data group;
[0103] Establish multiple parallel data transmission channels, and set different transmission priorities in each data transmission channel, where the transmission priority is positively correlated with the access frequency of the corresponding data group to be transmitted;
[0104] Each data group is transmitted in parallel to a temporary buffer of a corresponding candidate device through a data transmission channel, and each data group is stored in the temporary buffer in descending order of access frequency.
[0105] According to the candidate device queue generated in step S105, the system migrates the overload data of the target edge computing device to the temporary cache area of the candidate device in batches. During the specific migration, the system first migrates the data to the candidate devices at the front of the queue based on the predicted time point of memory release of the candidate device. These devices can release the memory to receive data earlier. When the memory of the front candidate device is filled, it will be migrated to the candidate device behind. In this way, the memory resources of different candidate devices can be fully utilized, data backlog can be reduced, and the overall service quality of the edge computing system can be improved.
[0106] During data migration, the system first obtains the memory usage of each candidate device and determines the size of its currently available temporary cache. Based on the available cache size and the memory release time point, the system can further estimate the amount of data that each candidate device can receive before the next memory release time point. When migrating overloaded data, the system divides the large data set into multiple small data blocks based on the preset data block size, and then distributes the data blocks to the temporary cache of each candidate device in turn according to the receiving capacity of the candidate device. For the divided data blocks, content-based addressing can be used to identify them so that they can be quickly located during subsequent access. At the same time, in order to improve the efficiency of data migration, the system can also select appropriate data transmission paths and protocols based on the network topology and load conditions.
[0107] In actual edge computing scenarios, the access frequencies of different data blocks may vary greatly. In order to optimize data access performance, the system can consider migrating data blocks with similar access frequencies to the temporary cache area of the same candidate device during data migration to form access locality and reduce data access across devices. In addition, for data blocks with very high access frequencies, a multi-copy strategy can be adopted to copy them to multiple candidate devices, which increases data redundancy while reducing the access pressure of a single device. For data blocks with low access frequencies, data compression and redundancy removal can be considered to save storage space and transmission bandwidth.
[0108] S107: before the predicted memory release time point of any candidate device in the candidate device queue arrives, control the target edge computing device to read the corresponding overload data from the temporary cache area of the candidate device;
[0109] When the target edge computing device needs to access the overloaded data that has been migrated to the candidate device, the system selects an appropriate time to read the data from the temporary cache of the candidate device based on the predicted memory release time recorded in the candidate device queue. Ideally, data reading occurs before the predicted memory release time of the candidate device, at which time the memory of the candidate device has not been released and the data is still valid. In this way, the target device can continue to use the migrated overloaded data without affecting business continuity due to data migration.
[0110] The system maintains a timer for each candidate device, and the trigger time of the timer is set to the predicted memory release time point of the corresponding candidate device. When the timer is about to time out, the system sends a notification to the target device, prompting it to read the overload data on the candidate device as soon as possible. After receiving the notification, the target device can selectively read part or all of the overload data according to the actual data access requirements. In order to improve the efficiency of data reading, the system can organize and package the data to be read in the temporary cache area of the candidate device in advance to reduce the overhead of data search and transmission. At the same time, considering the uncertainty of network transmission, the system can also set a receiving buffer locally on the target device to temporarily store the data read from the candidate device and process it after the data is fully received.
[0111] S108. Migrate the read overload data to a computing storage area in a plurality of edge computing devices whose memory usage is lower than a preset threshold.
[0112] When the target edge computing device reads the overloaded data from the temporary cache of the candidate device, in order to completely relieve the memory pressure of the target device, the system will further migrate the read data to the computing storage area with lower memory usage in other edge computing devices. Unlike temporarily storing data in the cache of the candidate device, the data migration here is a long-term and persistent storage. By distributing the overloaded data to multiple edge devices, load balancing between devices can be achieved, giving full play to the advantages of the distributed system.
[0113] The system monitors the memory usage of each edge computing device in real time, identifies devices with memory usage below a preset threshold (such as 20%), and uses them as migration targets for overloaded data. When migrating data, the system comprehensively considers factors such as the target device's memory capacity, current load, and communication quality with the data source, and selects the optimal migration strategy. For example, you can choose a device with large memory capacity, low load, and good communication quality as the first choice; or migrate related data blocks to the same device based on the access frequency and correlation of the data blocks to improve the locality of access. During the migration process, the system uses incremental synchronization to avoid repeated transmission of existing data blocks. At the same time, in order to ensure data consistency, reconciliation and verification can be performed between the source and target devices after the migration is completed.
[0114] In the above embodiment, by periodically detecting the memory usage and network communication quality of the edge computing device and predicting the memory release time point in combination with the memory change rate, the data migration strategy can be planned in advance. When it is found that the memory of the target edge computing device is overloaded, the optimal candidate device is selected based on the network communication quality, and the candidate devices are sorted according to the predicted memory release time point, which can improve the network transmission efficiency of data migration. By distributing the overloaded data in the temporary cache area of multiple candidate devices, and reading and redistributing it in time before the predicted memory release time point arrives, it not only solves the problem of excessive memory pressure on a single device, but also reduces the risk of data loss caused by insufficient memory of the candidate device. Finally, the overloaded data is migrated to the computing storage area with sufficient memory, which realizes the memory load balancing between edge computing devices and improves the efficiency of memory load balancing.
[0115] In the above embodiment, the system achieves basic memory load balancing by real-time monitoring and dynamic adjustment of the memory usage of the edge computing device. However, in actual application scenarios, the memory load of the edge computing device may show a certain regular fluctuation trend. If only passive adjustment is performed when the memory is overloaded, it may not be able to effectively prevent chain memory pressure problems. Therefore, it is necessary to further optimize the system's memory balancing mechanism so that it has the ability to actively predict and preventively adjust. Figure 2 , another memory balancing method based on edge computing in an embodiment of the present application is described:
[0116] See also Figure 2 , is another flow chart of a memory balancing method based on edge computing in an embodiment of the present application.
[0117] S201, obtaining memory load data of each edge computing device within a plurality of consecutive preset cycles;
[0118] In this step, the system continuously monitors the memory usage of each edge computing device over a period of time to obtain time series data reflecting the changes in memory load. These data include indicators such as memory usage, memory occupancy, memory allocation and release frequency in each preset cycle. By analyzing data from multiple consecutive cycles, the system can discover the fluctuation patterns and trends of memory load, providing a basis for subsequent prediction and adjustment.
[0119] The system can deploy a monitoring agent on each edge computing device, regularly collect memory usage, and report the collected data to the central node. In order to reduce the overhead of data transmission, the monitoring agent can pre-process the raw data locally, such as compression, filtering, aggregation, etc. After the central node receives the memory load data of each device, it stores it in a time series database and indexes it according to the device ID and timestamp to facilitate subsequent query and analysis. Considering that the memory load of edge devices may show periodic patterns, such as daily peak and valley changes, the system can cover at least one complete cycle when selecting data to improve the accuracy of analysis.
[0120] S202, determining a load fluctuation period based on the memory load data, and dividing the load fluctuation period into a plurality of continuous time windows;
[0121] After obtaining the memory load time series data of each edge computing device, the system determines the fluctuation period of the memory load by analyzing the periodic characteristics of the data. The fluctuation period reflects the regularity of memory load changes, which can be daily, weekly, or monthly. After determining the fluctuation period, the system divides it into several continuous time windows, each of which covers a part of the fluctuation period. By dividing the time windows, the memory load change trend over a long period of time can be decomposed into several short-term change segments, which facilitates more detailed analysis and prediction in the future.
[0122] The system can use a variety of time series analysis methods to determine the fluctuation period of memory load, such as Fourier transform, autocorrelation analysis, etc. These methods can help identify the periodic components in the time series data and obtain the dominant period length. In practical applications, considering that the fluctuation of memory load may be affected by multiple factors and presents complex characteristics of multiple periods superimposed, the system can choose multi-scale analysis methods, such as wavelet transform, to extract periodic signals on different time scales at the same time. After determining the fluctuation period, the system divides the fluctuation period into continuous time slices according to the length of the time window. The length of the time window can be set according to actual needs. It should be long enough to cover the complete load change process, but short enough to ensure the timeliness of the prediction.
[0123] S203, predicting the memory load transfer trend of each edge computing device within the time window;
[0124] The system predicts the memory load transfer trend of each edge computing device within the time window, including:
[0125] Calculate the memory usage change rate and memory release rate of each edge computing device in the current time window;
[0126] Calculate the net growth rate of memory load based on the memory usage change rate and memory release rate;
[0127] The memory load transfer direction is determined according to the positive or negative value of the memory load net growth rate, and the memory load transfer speed is determined based on the absolute value of the memory load net growth rate;
[0128] The memory load transfer direction and memory load transfer speed are used as characterization parameters to obtain the memory load transfer trend.
[0129] For each divided time window, the system analyzes the memory usage of each edge computing device and predicts the memory load transfer trend between devices during the window period. The memory load transfer trend reflects the direction and speed of memory pressure transmission between devices. By analyzing the rate of change of memory usage and the memory release rate, the system can determine whether the memory pressure of each device is gradually accumulating or gradually easing, and how fast the pressure changes. On this basis, the system can predict how the memory load between devices will be transferred, providing a decision basis for subsequent active adjustments.
[0130] In each time window, the system first calculates the memory usage change rate and memory release rate of each edge computing device. The memory usage change rate reflects the rate of increase or decrease of memory usage, which can be calculated by comparing the memory usage at the current moment and the previous moment. The memory release rate reflects the recovery speed of memory space, which can be calculated by counting the number of memory release requests and the amount of memory released over a period of time. After obtaining these two indicators, the system can calculate the net growth rate of memory load, that is, the difference between the memory usage change rate and the memory release rate. The positive or negative value of the net growth rate can be used to determine the direction of memory load transfer, and its absolute value can characterize the speed of transfer. The system uses the memory load transfer direction and speed of each device as characterization parameters, and comprehensively considers the performance of each device to obtain the memory load transfer trend of the entire edge computing environment.
[0131] S204, calculating the probability of each edge computing device becoming a target edge computing device at the end of the current time window according to the memory load transfer trend;
[0132] After predicting the memory load transfer trend of each edge computing device, the system further calculates the probability of each device becoming a target edge computing device (i.e., a device whose memory load requires data migration) at the end of the current time window. By analyzing the changes in the device's memory load within the time window, especially when the memory usage is close to the device's own memory limit, the system can estimate the probability that the device will experience memory pressure and need to release data at the end of the window period. The calculated probability results can help the system identify high-risk devices in advance, so that preventive measures can be taken before problems occur.
[0133] The system can use a variety of probability calculation models to estimate the probability of a device becoming a target edge computing device, such as logistic regression, naive Bayes, etc. These models conduct risk assessment and probability scoring of devices by comprehensively considering multiple feature dimensions that affect memory load. Input features can include the device's memory usage baseline level, the fluctuation range of memory usage, the growth rate of memory load, the amount of free memory, etc. In addition, if there is available prior knowledge, such as the device's hardware configuration, the type of business it is responsible for, etc., it can also be used as a reference for evaluation. Through statistical analysis of historical data, the system can obtain the correlation between each feature and the device becoming a target edge computing device, and train and optimize the probability calculation model accordingly. In the application stage, the model uses the memory load data in the current time window as input to estimate the risk probability of each device at the end of the window period.
[0134] S205: When the probability distance from the preset critical probability interval is less than the preset probability threshold, reversely distribute the overload data.
[0135] When the probability distance from the preset critical probability interval is less than the preset probability threshold, the system performs reverse distribution on the overload data, including:
[0136] Obtain the remaining capacity of the computing storage area and the current business processing load of each edge computing device;
[0137] The data receiving capability index of each edge computing device is calculated based on the remaining capacity of the computing storage area and the current business processing load, including:
[0138] Convert the remaining capacity of the calculated storage area into a standardized capacity score;
[0139] Calculate the business busyness according to the current business processing load, and convert the business busyness into a standardized load score;
[0140] Setting different weights for normalized capacity scores and normalized load scores;
[0141] The data receiving capability index is obtained by subtracting the product of the standardized load score and the corresponding weight from the product of the standardized capacity score and the corresponding weight;
[0142] The edge computing devices are grouped based on the data receiving capability index to obtain multiple target receiving groups;
[0143] Calculate the data receiving quota of each target receiving group. The data receiving quota is positively correlated with the average value of the data receiving capability index of each edge computing device in the target receiving group.
[0144] A reverse distribution scheme for overload data is determined according to the data receiving quota, so that the migration direction of the overload data is opposite to the current memory load transfer direction.
[0145] Based on the probability results calculated in the previous step, the system determines whether it is necessary to actively adjust the memory load of the edge computing device. When the probability of a device becoming a target edge computing device is close to the preset critical probability interval (such as 70%-80%), that is, when the probability is less than a preset threshold from the boundary of the critical interval, the system considers that the device has a high risk of memory pressure at the end of the current time window and needs to take preventive measures in advance. At this time, the system will migrate some of the overloaded data on the device to other devices with lower loads through reverse distribution, alleviate the memory pressure of the device, and avoid performance degradation or service interruption caused by excessive pressure.
[0146] When triggering reverse data distribution, the system first evaluates the data receiving capabilities of each device in the current edge computing environment in order to reasonably select the destination for data migration. The system comprehensively considers factors such as the remaining capacity of the device's computing storage area and the current business processing load, and scores each device through a weighted scoring method to obtain an index that represents the data receiving capability. On the one hand, this index takes into account the device's free memory capacity, and on the other hand, it also takes into account the device's real-time business busyness, so as to avoid data migration affecting the normal business of the device. Then, the system groups the devices according to the data receiving capability index and divides them into several target receiving groups with similar data receiving capabilities.
[0147] In the above embodiment, the historical load data of the edge computing device is analyzed, the load fluctuation period is identified and the time window is divided. The memory load transfer trend is predicted within the time window, and the probability of each device becoming the target edge computing device is calculated, so that the system can detect potential memory pressure problems in advance. When the predicted probability is close to the critical value, by implementing a reverse data distribution strategy, the migration direction of the overloaded data is opposite to the current memory load transfer direction, balancing the memory load of each device in the system, preventing chain memory pressure problems from occurring in local device groups, and improving the load balancing capability and operational stability of the entire edge computing system.
[0148] The following describes the system in the embodiment of the present invention from the perspective of hardware processing. Figure 3 , which is a schematic diagram of the physical device structure of a storage balancing system based on edge computing provided in an embodiment of the present application.
[0149] It should be noted that Figure 3 The structure of the system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0150] like Figure 3 As shown, the system includes a central processing unit (CPU) 301, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 302 or the program loaded from the storage part 308 to the random access memory (RAM) 303, such as executing the method in the above embodiment. In RAM 303, various programs and data required for system operation are also stored. CPU 301, ROM 302 and RAM 303 are connected to each other through a bus 304. Input / output (I / O) interface 305 is also connected to bus 304.
[0151] The following components are connected to the I / O interface 305: an input section 306 including a camera, an infrared sensor, etc.; an output section 307 including a liquid crystal display (LCD) and a speaker, etc.; a storage section 308 including a hard disk, etc.; and a communication section 309 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 309 performs communication processing via a network such as the Internet. A drive 310 is also connected to the I / O interface 305 as needed. A removable medium 311, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 310 as needed so that a computer program read therefrom is installed into the storage section 308 as needed.
[0152] In particular, according to an embodiment of the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present invention includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication part 309, and / or installed from a removable medium 311. When the computer program is executed by the central processing unit (CPU) 301, various functions defined in the present invention are performed.
[0153] It should be noted that the computer-readable medium shown in the embodiment of the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable computer program. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
[0154] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present invention. Among them, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0155] As another aspect, the present invention further provides a computer-readable storage medium, which may be included in the system described in the above embodiment; or may exist independently without being assembled into the system. The above storage medium carries one or more computer programs, and when the above one or more computer programs are executed by a processor of a system, the system implements the method provided in the above embodiment.
[0156] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
[0157] As used in the above embodiments, the term "when..." may be interpreted as "if..." or "after..." or "in response to determining..." or "in response to detecting...", depending on the context. Similarly, the phrases "upon determining..." or "if (the stated condition or event) is detected" may be interpreted as "if determining..." or "in response to determining..." or "upon detecting (the stated condition or event)" or "in response to detecting (the stated condition or event)", depending on the context.
[0158] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk), etc.
[0159] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.
Claims
1. A storage balancing method based on edge computing, characterized in that: include: Detecting memory usage and memory change rate of multiple edge computing devices and network communication quality between the multiple edge computing devices according to a preset period; Calculate the predicted time point of memory release of each edge computing device according to the memory change rate; Divide the memory space of each edge computing device into a computing storage area and a temporary cache area, wherein the temporary cache area is used to temporarily store overload data migrated from other edge computing devices except the current edge computing device, and the computing storage area is used for data computing and storage of the current edge computing device; When any target edge computing device is detected, at least two candidate devices having the best communication quality with the target edge computing device are selected according to the network communication quality, and the target edge computing device is an edge computing device whose memory usage exceeds a preset threshold; Sort the candidate devices from early to late according to the corresponding memory release prediction time points to obtain a candidate device queue; Migrating the overload data of the target edge computing device to the temporary cache area of each candidate device in the candidate device queue respectively according to the memory release prediction time point of each candidate device in the candidate device queue; Before the memory release prediction time point of any candidate device in the candidate device queue arrives, control the target edge computing device to read the corresponding overload data from the temporary cache area of the candidate device; The read overload data is migrated to a computing storage area in the plurality of edge computing devices whose memory usage is lower than the preset threshold.
2. The method according to claim 1, characterized in that: The calculating the predicted time point of memory release of each edge computing device according to the memory change rate specifically includes: Calculating the memory change trend of each edge computing device within a plurality of consecutive preset periods; Divide the memory release cycle according to the memory change trend, and mark the peak time point and the trough time point of the memory capacity in each memory release cycle; Based on the time interval between the peak time point and the trough time point and in combination with the memory usage at the current moment, the next memory release prediction time point is calculated.
3. The method according to claim 1, characterized in that Migrating the overload data of the target edge computing device to the temporary buffer area of each candidate device in the candidate device queue specifically includes: Obtain the remaining time from the corresponding memory release prediction time point and the remaining capacity of the temporary buffer area of each candidate device in the candidate device queue; Calculate the time weight of each of the candidate devices according to the remaining time; Calculating a data carrying coefficient of each of the candidate devices based on the time weight and the remaining capacity, wherein the data carrying coefficient is positively correlated with both the time weight and the remaining capacity; Divide the overload data of the target edge computing device into blocks according to a preset data block size to obtain multiple data blocks; Based on the data carrying coefficient of each candidate device, allocating the multiple data blocks to each candidate device in a weighted round-robin manner; For each data block allocated to the candidate device, the data blocks having access frequency differences less than a preset value are merged into a data group; Establishing a plurality of parallel data transmission channels, and setting a different transmission priority in each of the data transmission channels, wherein the transmission priority is positively correlated with the access frequency of the corresponding data group to be transmitted; Each of the data groups is transmitted in parallel to a temporary buffer of a corresponding candidate device through the data transmission channel, and each of the data groups is stored in the temporary buffer in a descending order of the access frequency.
4. The method according to claim 1, characterized in that: After migrating the read overload data to a computing storage area in the plurality of edge computing devices whose memory usage is lower than the preset threshold, the method further includes: Obtaining memory load data of each edge computing device within a plurality of consecutive preset cycles; Determine a load fluctuation period based on the memory load data, and divide the load fluctuation period into a plurality of continuous time windows; Predicting a memory load transfer trend of each of the edge computing devices within the time window; Calculate the probability of each edge computing device becoming the target edge computing device at the end of the current time window according to the memory load transfer trend; When the probability distance from the preset critical probability interval is smaller than the preset probability threshold, the overload data is reversely distributed so that the migration direction of the overload data is opposite to the current memory load transfer direction.
5. The method according to claim 4, characterized in that The predicting the memory load transfer trend of each edge computing device within the time window specifically includes: Calculate the memory usage change rate and memory release rate of each edge computing device in the current time window; Calculating a memory load net growth rate based on the memory usage change rate and the memory release rate; Determining a memory load transfer direction according to the positive or negative value of the memory load net growth rate, and determining a memory load transfer speed based on an absolute value of the memory load net growth rate; The memory load transfer direction and the memory load transfer speed are used as characterization parameters to obtain a memory load transfer trend.
6. The method according to claim 4, characterized in that When the probability distance is less than a preset critical probability interval, the overload data is reversely distributed, specifically including: Obtaining the remaining capacity of the computing storage area and the current business processing load of each of the edge computing devices; Calculate the data receiving capability index of each edge computing device according to the remaining capacity of the computing storage area and the current business processing load; Grouping the edge computing devices based on the data receiving capability index to obtain a plurality of target receiving groups; Calculating a data receiving quota for each of the target receiving groups, where the data receiving quota is positively correlated with an average value of a data receiving capability index of each of the edge computing devices in the target receiving group; A reverse distribution scheme for the overload data is determined according to the data receiving quota, so that a migration direction of the overload data is opposite to a current memory load transfer direction.
7. The method according to claim 6, characterized in that The calculating the data receiving capability index of each edge computing device according to the remaining capacity of the computing storage area and the current business processing load specifically includes: Converting the remaining capacity of the calculated storage area into a standardized capacity score; Calculating the service busyness according to the current service processing load, and converting the service busyness into a standardized load score; Setting different weights for the normalized capacity score and the normalized load score; The data receiving capability index is obtained by subtracting the product of the standardized load score and the corresponding weight from the product of the standardized capacity score and the corresponding weight.
8. A storage balancing system based on edge computing, characterized in that: The system comprises: One or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the system to execute the method as described in any one of claims 1-7.
9. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on a system, the system is caused to execute the method according to any one of claims 1 to 7.
10. A computer program product, characterized in that When the computer program product is run on a system, the system is caused to execute the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Electric power Internet of Things container migration method for edge network load balancing
CN111694636A
Distributed data storage system and storage method
CN115203177A