Bandwidth prediction method and apparatus, electronic device, and storage medium
Patent Information
- Application Number
- CN202310834872.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-07
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2043-07-07
AI Technical Summary
如何预测政务云带宽使用情况以避免带宽不足导致的访问慢和丢包率问题,现有技术无法有效解决政务云带宽数据缺失的问题。
By acquiring the current time-instance dataset with missing bandwidth information, a data repair model is used to repair the data and obtain a complete bandwidth dataset. This complete dataset is then input into a bandwidth prediction model to predict the bandwidth dataset for the next time step. Deep belief neural networks (DBN) and an improved particle swarm optimization algorithm are used to optimize the model parameters, thereby improving the accuracy of data repair and prediction.
It enables rapid and accurate prediction of bandwidth usage in the government cloud, assisting operations and maintenance personnel in making advance adjustments to avoid peak congestion, improve user experience and equipment stability, and reduce failure rates.
Smart Images

Figure CN116708188B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, and in particular to a bandwidth prediction method, apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] As a massive private cloud, the government cloud hosts a large number of provincial systems, websites, data, and information, and is frequently accessed by the public, enterprises, and government agencies. For example, given the large population base of a certain province, the stable operation of the government cloud is particularly crucial. The stable operation of the government cloud depends on the normal functioning of the underlying equipment and network. Data exchange between these devices, customer access to the government cloud, and information transmission over the network all rely on a reliable bandwidth supply. Bandwidth usage is a key indicator of equipment performance, network transmission stability, and user experience. If the bandwidth usage of the government cloud can be predicted at any given moment, dynamic adjustments to the line bandwidth can be made in advance, avoiding problems such as slow access and high packet loss rates due to insufficient bandwidth. This improves customer experience and further enhances the service level of telecommunications companies.
[0003] Predicting the usage of government cloud bandwidth is an urgent problem to be solved.
[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0005] This disclosure provides a bandwidth prediction method, apparatus, electronic device, and storage medium that can predict the bandwidth usage of government cloud services, thereby enabling dynamic adjustment of line bandwidth in advance to avoid problems such as slow access and high packet loss rate to government cloud services due to insufficient bandwidth.
[0006] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part from practice of this disclosure.
[0007] According to one aspect of this disclosure, a bandwidth prediction method is provided, the method comprising: obtaining a first bandwidth dataset at a current moment that lacks first bandwidth information; inputting the first bandwidth dataset into a repair model to repair the first bandwidth information to obtain a second bandwidth dataset; and inputting the second bandwidth dataset into a bandwidth prediction model to predict the bandwidth dataset at the next moment.
[0008] According to another aspect of this disclosure, a bandwidth prediction apparatus is provided, the apparatus comprising an acquisition module, a repair module, and a prediction module. The acquisition module is used to acquire a first bandwidth dataset at the current moment that lacks first bandwidth information; the repair module is used to input the first bandwidth dataset into a repair model to repair the first bandwidth information, obtaining a second bandwidth dataset; the prediction module is used to input the second bandwidth dataset into a bandwidth prediction model to predict the bandwidth dataset for the next moment.
[0009] According to another aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any of the bandwidth prediction methods described above by executing the executable instructions.
[0010] According to another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements any of the bandwidth prediction methods described above.
[0011] According to another aspect of this disclosure, a computer program product is provided, the computer program product comprising a computer program or computer instructions, the computer program or computer instructions being loaded and executed by a processor to enable a computer to implement any of the bandwidth prediction methods described above.
[0012] The bandwidth prediction method, apparatus, electronic device, and medium provided in the embodiments of this disclosure acquire a first bandwidth dataset at the current moment that lacks first bandwidth information. This first bandwidth dataset is then input into a repair model to repair the first bandwidth information, resulting in a second bandwidth dataset. Finally, the second bandwidth dataset is input into a bandwidth prediction model to predict the bandwidth dataset for the next moment. This disclosure inputs the first bandwidth dataset at the current moment into the repair model to obtain a second bandwidth dataset containing the first bandwidth information, thereby repairing the missing bandwidth information and facilitating the acquisition of more accurate bandwidth dataset information for the next moment during prediction. The repaired first bandwidth dataset (second bandwidth dataset) is then input into the bandwidth prediction model to predict the bandwidth dataset for the next moment, thus enabling the prediction of bandwidth usage in government cloud environments.
[0013] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0014] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0015] Figure 1 A schematic diagram of a bandwidth prediction system architecture is shown in an embodiment of this disclosure;
[0016] Figure 2 This diagram illustrates a flowchart of a bandwidth prediction method in one embodiment of the present disclosure.
[0017] Figure 3 This diagram illustrates a block diagram of the bandwidth prediction process in an embodiment of this disclosure.
[0018] Figure 4 A flowchart of a bandwidth prediction method according to another embodiment of this disclosure is shown;
[0019] Figure 5 A schematic diagram of a DBN neural network model is shown in an embodiment of this disclosure;
[0020] Figure 6 This diagram illustrates a bandwidth prediction device according to an embodiment of the present disclosure.
[0021] Figure 7 This diagram illustrates a structural block diagram of an electronic device according to an embodiment of the present disclosure.
[0022] Figure 8 This illustration shows a schematic diagram of a computer-readable storage medium provided in an embodiment of the present disclosure. Detailed Implementation
[0023] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0024] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0025] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0026] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0027] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0028] As a massive private cloud, the government cloud hosts a large number of provincial systems, websites, documents, and information, and is frequently accessed by the public, enterprises, and government agencies. The stable operation of the government cloud depends on the normal functioning of the underlying equipment and network. Data exchange between these devices, customer access to the government cloud, and information transmission across the network all rely on a reliable bandwidth supply. Bandwidth usage is a crucial indicator of equipment performance, network transmission stability, and user experience. If the bandwidth usage of the government cloud can be predicted at any given moment, dynamic adjustments to the network bandwidth can be made in advance, avoiding problems such as slow access and high packet loss rates due to insufficient bandwidth. This improves customer experience and further enhances the service level of telecommunications companies.
[0029] The inventors discovered that in the daily operation and maintenance of government cloud services, network line failures, equipment malfunctions, and line cutovers may cause the actual bandwidth usage to be unknown, thus making it impossible to obtain a complete picture of the government cloud's bandwidth usage. Therefore, it is necessary to have a mechanism that can repair bandwidth data loss caused by related faults and predict bandwidth data for the next moment.
[0030] Based on this, this disclosure provides a bandwidth prediction method. A repair model is used to repair missing data (hereinafter referred to as the first bandwidth information) to obtain complete current bandwidth data (hereinafter referred to as the second bandwidth dataset). This second bandwidth dataset is then input into the bandwidth prediction model to predict the bandwidth dataset for the next time moment. This disclosure, through the repair model, can repair the first bandwidth information that is missing due to related faults. Therefore, the prediction model can quickly and accurately predict the bandwidth dataset used by the government cloud, assisting government cloud operations and maintenance personnel in adjusting bandwidth before peak usage periods. This allows for bandwidth adjustments based on different time periods, avoiding peak congestion. Furthermore, accurate bandwidth prediction significantly improves the user experience of the government cloud, effectively preventing peak congestion. It also allows operations and maintenance personnel to perceive the current status of equipment, make advance predictions, reduce equipment failure rates, and ultimately improve the normal code display rate of the government cloud.
[0031] The specific implementation methods of the embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.
[0032] Figure 1 The diagram illustrates a bandwidth prediction system structure according to an embodiment of the present disclosure. This system can apply the bandwidth prediction method or bandwidth prediction device in various embodiments of the present disclosure.
[0033] like Figure 1 As shown, the system architecture 100 may include a query terminal 101, a network 102, and a prediction terminal 103.
[0034] The query terminal 101 and the prediction terminal 103 communicate with each other through a network 102, which can be a wired network or a wireless network.
[0035] Optionally, the aforementioned wireless or wired networks use standard communication technologies and / or protocols. The network is typically the Internet, but can also be any network, including but not limited to Local Area Networks (LANs), Metropolitan Area Networks (MANs), Wide Area Networks (WANs), mobile, wired or wireless networks, private networks, or any combination of virtual private networks. In some embodiments, technologies and / or formats including Hyper Text Markup Language (HTML), Extensible Markup Language (XML), etc., are used to represent data exchanged over the network. Furthermore, conventional encryption technologies such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Networks (VPNs), and Internet Protocol Security (IPsec) can be used to encrypt all or some links. In other embodiments, custom and / or dedicated data communication technologies can be used to replace or supplement the aforementioned data communication technologies.
[0036] Figure 1 Any of the query terminals 101 shown can be used as a remote terminal or a relay terminal. Communication based on proximity service can be established between the remote terminal and the relay terminal. The remote terminal can directly access the network or access the network through the relay terminal.
[0037] Optionally, the query terminal 101 in this embodiment can also be referred to as UE (User Equipment). In specific implementation, the query terminal 101 can be a terminal-side device such as a mobile phone, tablet computer, laptop computer, personal digital assistant (PDA), mobile internet device (MID), wearable device, or vehicle-mounted device.
[0038] Optionally, the client applications installed on different query terminals 101 may be the same, or clients of the same type of application based on different operating systems. Depending on the query platform, the specific form of the application client may also differ; for example, the application client may be a mobile client, a PC client, etc.
[0039] Prediction terminal 103 can be a server that provides various services. For example, it could be a backend management server that supports the device used by the user to perform operations via query terminal 101. The backend management server can analyze and process data such as received requests and feed the processing results back to the terminal device.
[0040] Optionally, the prediction terminal 103 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, etc., but is not limited to these. The terminal and server can be directly or indirectly connected via wired or wireless communication, which is not limited herein.
[0041] Those skilled in the art will know that Figure 1 The number of query terminals 101 and prediction terminals 103 shown is merely illustrative; any number of query terminals 101 and prediction terminals 103 can be used as needed. This disclosure does not limit this.
[0042] During bandwidth data prediction, a query command can be input through query terminal 101. This command instructs prediction terminal 103 to predict the bandwidth dataset for the next moment based on the current first bandwidth dataset. Prediction terminal 103 can repair missing data (such as first bandwidth information) in the first bandwidth dataset and input the repaired second bandwidth dataset into the prediction model to obtain the bandwidth dataset for the next moment, thereby enabling dynamic adjustment of line bandwidth in advance. This method can be applied in scenarios such as government cloud operation and maintenance, and private network operation and maintenance. For example, in scenarios such as provincial government cloud, municipal government cloud, and video private network operation and maintenance, this method can be executed by any electronic device with computing capabilities. In some embodiments, the bandwidth prediction method provided in this disclosure can... Figure 1 Execute in the query or data terminal shown.
[0043] Figure 2 A flowchart of a bandwidth prediction method in one embodiment of this disclosure is shown, as follows: Figure 2 As shown, the bandwidth prediction method provided in this embodiment may include the following steps S201 to S203.
[0044] S201, Obtain the first bandwidth dataset at the current moment where first bandwidth information is missing.
[0045] The first bandwidth dataset may include multiple bandwidth-related data. This bandwidth-related data can be bandwidth data itself, or other data that affects bandwidth data, such as ambient temperature, ambient humidity, weather conditions, and holiday information. For example, the first bandwidth dataset may include one or more of the following: average government cloud bandwidth usage, maximum government cloud bandwidth usage, minimum government cloud bandwidth usage, daily government cloud bandwidth usage, ambient temperature, ambient humidity, holiday information, and weather conditions. The average government cloud bandwidth usage may be the average of the government cloud bandwidth usage over the two years prior to the forecast date and on the forecast date; however, this disclosure is not limited to this.
[0046] For example, the average bandwidth usage of the government cloud can be the average of the sum of the average bandwidth usage of the government cloud for the nine days prior to the forecast date and the forecast date. The average bandwidth usage of the government cloud for the nine days prior to the forecast date and the forecast date is shown in Table 1 below.
[0047] Table 1
[0048]
[0049] The average bandwidth usage of the government cloud in Table 1 can be the average bandwidth collected every 5 minutes within a day. This disclosure does not limit how the average bandwidth usage of the government cloud is calculated. It should be noted that, for ease of explanation, the average bandwidth usage of the government cloud only considers bandwidth data from 10 days. The calculated average bandwidth usage of the government cloud is 1.31 Mbps.
[0050] Bandwidth can be used to indicate data transmission speed. In this embodiment of the disclosure, the average bandwidth used by the government cloud can be the bandwidth used by the user in actual use. It should be noted that the data download speed can be calculated based on the bandwidth. For example, the so-called 1M broadband actually refers to 1Mbps (megabits per second), that is, 1×1024÷8=128 kilobytes / second (KB / s). However, this is only the theoretical speed. In reality, about 12% of the data transmission speed is deducted for various control signals such as information header identifiers. Therefore, its upper limit of transmission speed should be about 112KB / s.
[0051] The first bandwidth information refers to the bandwidth information missing from the first bandwidth dataset. The first bandwidth information can be bandwidth information for certain days, or bandwidth information for certain days; this disclosure is not limited to these. For example, bandwidth information may include one or more of the following: average government cloud bandwidth usage, maximum government cloud bandwidth usage, minimum government cloud bandwidth usage, daily government cloud bandwidth usage, ambient temperature, ambient humidity, holiday conditions, and weather conditions.
[0052] S202, input the first bandwidth dataset into the repair model, repair the first bandwidth information, and obtain the second bandwidth dataset.
[0053] The patching model is used to patch the missing first bandwidth information in the first bandwidth dataset, thereby obtaining the second bandwidth dataset. The difference between the first and second bandwidth datasets is that the second bandwidth dataset contains the patched first bandwidth information.
[0054] The second bandwidth dataset is the bandwidth dataset after patching the first bandwidth dataset using a patching model. The second bandwidth dataset can include both the patched first bandwidth information and the first bandwidth dataset. For example, the second bandwidth dataset includes 10 days of bandwidth information, with each day's bandwidth information including average government cloud bandwidth usage, ambient temperature, and ambient humidity. If the first bandwidth dataset can include only the bandwidth information for the first 8 days of the second bandwidth dataset, then the patched first bandwidth information is the bandwidth information for the last 2 days of the second bandwidth dataset. Figure 3 As shown, the first bandwidth dataset (e.g., bandwidth information for the first 8 days) is input into the repair model. After repair by the repair model 31, the second bandwidth dataset (e.g., bandwidth information for 10 days) is obtained. In other words, the repair model 31 repairs the two days of bandwidth information missing in the first bandwidth dataset, thus obtaining the complete second bandwidth dataset.
[0055] The specific type of the repair model is not limited in this disclosure; any model capable of achieving the above-mentioned functions is acceptable. For example, the repair model can be a neural network model, a sliding mode adaptive model, a fuzzy neural network model, or a machine learning model, etc.
[0056] S203, input the second bandwidth dataset into the bandwidth prediction model to predict the bandwidth dataset for the next time step.
[0057] The bandwidth prediction model is used to predict the bandwidth dataset at the next time step. This disclosure does not limit the specific type of bandwidth prediction model; any model capable of achieving the above function is acceptable. For example, the bandwidth prediction model can be a neural network model, a machine learning model, a grey prediction model, or a Markov model, etc.
[0058] This disclosure inputs the first bandwidth dataset at the current moment into the repair model to obtain a second bandwidth dataset containing the first bandwidth information, thereby repairing the missing bandwidth information and facilitating the acquisition of more accurate bandwidth dataset information for the next moment during prediction. The repaired first bandwidth dataset (second bandwidth dataset) is then input into the bandwidth prediction model to predict the bandwidth dataset for the next moment, thus enabling the prediction of bandwidth usage in the government cloud.
[0059] Furthermore, it can quickly and accurately predict the bandwidth usage of the government cloud, assisting government cloud operation and maintenance personnel in making adjustments before peak usage times. By adjusting bandwidth according to the usage of the government cloud at different times, it can avoid peak congestion. At the same time, accurate bandwidth prediction can improve the user experience of the government cloud and effectively avoid peak congestion. It can also allow operation and maintenance personnel to perceive the current status of the equipment, make predictions in advance, reduce the failure rate of the equipment, and thus improve the normal code display rate of the government cloud.
[0060] The following explains how to construct and train the patching model.
[0061] In an exemplary embodiment, before inputting the first bandwidth dataset into the repair model to repair the first bandwidth information and obtain the second bandwidth dataset, the method may further include the following S401 to S404.
[0062] S401, obtain a first historical bandwidth dataset that lacks second bandwidth information and a second historical bandwidth dataset that contains second bandwidth information, wherein the second historical bandwidth dataset includes the first historical bandwidth dataset, and the positions in the first historical bandwidth dataset where the second bandwidth information is missing are filled with a first value.
[0063] The second historical bandwidth dataset can be the first historical bandwidth dataset that contains second bandwidth information. In other words, the difference between the second historical bandwidth dataset and the first historical bandwidth dataset is that the second historical bandwidth dataset contains second bandwidth information that is missing in the first historical bandwidth dataset.
[0064] The bandwidth information contained in the second bandwidth information is the same as that contained in the first bandwidth information, and will not be repeated here.
[0065] This disclosure does not specify what the first data point should be; for example, the first value may be 0.
[0066] S402, based on the first historical bandwidth dataset, obtain the first historical data matrix.
[0067] This disclosure does not limit how to obtain the first historical data matrix from the first historical bandwidth dataset. For example, the first historical bandwidth dataset can be merged into one column. Specifically, the first historical bandwidth dataset (also known as the historical government cloud bandwidth usage dataset) contains N time series, and each first historical bandwidth data time series contains n elements. Merging this dataset into one column is equivalent to turning the dataset into a 1-row N×n-column matrix (such as the first historical data matrix).
[0068] It should be noted that the first historical bandwidth dataset contains missing second bandwidth information. The positions in the first historical bandwidth dataset where the second bandwidth information is missing are filled with the first value. In other words, the positions in the first historical data matrix corresponding to the second bandwidth information are filled with the first value. For example, the first value is 0.
[0069] S403, perform moving block segmentation on the first historical data matrix to obtain multiple first historical moving blocks.
[0070] In this embodiment of the disclosure, the first historical data matrix is segmented into moving blocks. Exemplarily, the moving block length is set to `length`, and the length of the moving block is set to `SL`. That is, the first historical data matrix can be segmented into... A single first historical move block, and multiple first historical move blocks are represented as follows:
[0071] First historical move block 1: {x1,x2,Λ,x} length};
[0072] First historical move block 2: {x 1+SL ,x 2+SL ,Λ,x length+SL};
[0073] …
[0074] First historical move block
[0075] S404. The initial patching model is trained based on the first historical moving block and the second historical bandwidth dataset to obtain the patching model.
[0076] In this embodiment of the disclosure, the initial patching model may include a DBN neural network model. Training the initial patching model using a first historical moving block and a second historical bandwidth dataset to obtain the patching model may include the following steps A1 to A3.
[0077] Step A1: Obtain the DBN neural network model.
[0078] Deep Belief Nets (DBNs) are a type of neural network model. They can be used for unsupervised learning, similar to an autoencoder, or for supervised learning, used as a classifier. This disclosure utilizes DBN neural network models to construct patching models.
[0079] For example, such as Figure 5 As shown, the DBN neural network model can include a first layer, a second layer, and a third layer. The first layer has 5 inputs, corresponding to 5 nodes in the first layer. The second layer has 6 nodes, and the 5 nodes in the first layer are fully connected to the 6 nodes in the second layer. That is, each node in the second layer is connected to the 5 nodes in the first layer. The third layer has 2 nodes, and the 6 nodes in the second layer are fully connected to the 2 nodes in the third layer.
[0080] Step A2: Based on the improved particle swarm optimization algorithm, the first model parameters of the DBN neural network model are obtained according to the first historical moving block and the second historical bandwidth dataset.
[0081] In one embodiment, the first model parameters may include a first target threshold and a first target weight. The first model parameters of the DBN neural network model, obtained based on the improved particle swarm optimization algorithm and using a first historical moving block and a second historical bandwidth dataset, may include the following steps A21 to A27.
[0082] Step A21: Obtain the first initial threshold and the first initial weight of the DBN neural network model.
[0083] The first initial threshold is the initial threshold of the DBN neural network model, and the first initial weight is the initial weight of the DBN neural network model.
[0084] It should be noted that the DBN neural network model and the improved particle swarm algorithm can be initialized before step A2.
[0085] There are various methods for initializing a DBN neural network model, and this disclosure does not limit them. For example, it can be initialized using zero initialization, random initialization, Xavier initialization, or He initialization to obtain the first initial threshold and the first initial weights of the DBN neural network model.
[0086] For example, such as Figure 5 As shown, the DBN neural network model has 42 initial thresholds and 13 initial weights.
[0087] Step A22: Based on the first initial threshold and the first initial weight, multiple first-generation particles are obtained.
[0088] In this embodiment, the dimension of the particles in the particle population is constructed based on the number of first initial thresholds and first initial weights. For example, the sum of the number of first initial thresholds and first initial weights is 55, and the dimension of each particle is 55. This disclosure does not limit the number of particles in the population; for example, a population may have 50 particles, each with 55 dimensions, meaning each particle has 55 values, representing the 42 first initial thresholds and 13 first initial weights of the DBN neural network model. These 55 values in each particle can be obtained by performing chaotic processing on the first initial thresholds and first initial weights, thereby dispersing the particles in the solution space and obtaining the first model parameters (first target threshold and first target weights) of the DBN neural network model, thus improving the fitting accuracy of the DBN neural network model and consequently improving the accuracy of the repair.
[0089] Step A23: Input each first-generation particle and the first historical movement block into the DBN neural network model in sequence to obtain multiple first historical prediction datasets.
[0090] For example, assuming there are 50 first-generation particles, each prediction requires inputting one first-generation particle and one first historical movement block into the DBN neural network model to obtain one first historical prediction dataset. That is, one first-generation particle and one first historical movement block are input into the DBN neural network model each time, for a total of 50 inputs, thus obtaining 50 first historical prediction datasets, where the first historical prediction dataset includes patched second bandwidth information.
[0091] Step A24: Based on each first historical prediction value and the second historical bandwidth dataset, obtain multiple first fitness values.
[0092] In this embodiment of the disclosure, multiple first fitness values can be obtained using the following formula 1.
[0093] F fitness =|F fc -F real |(1)
[0094] Among them, F fitness F is the first fitness value. fc F represents the first historical prediction output by the DBN neural network model. real This is a second historical bandwidth dataset containing second bandwidth information.
[0095] The first historical prediction value includes the prediction value with second bandwidth information, also known as the patched second bandwidth information. Formula 1 is the formula for calculating the fitness value of the improved particle swarm optimization algorithm, used to calculate the first fitness value.
[0096] Step A25: Determine the first target fitness value from among multiple first fitness values.
[0097] In this embodiment of the disclosure, the first fitness value with the smallest value among a plurality of first fitness values is determined as the first target fitness value. The disclosure does not limit how the first fitness value with the smallest value is determined among a plurality of first fitness values. For example, the plurality of first fitness values are sorted by sorting algorithms such as bubble sort, insertion sort, and merge sort to obtain the first target fitness value.
[0098] Step A26: Determine whether the fitness value of the first target is less than the first threshold.
[0099] The first threshold is used to determine whether the first-generation particles corresponding to the first target fitness value meet the requirements. The first threshold can be a preset value or can be set according to the actual application scenario and specific application needs. For example, the first threshold can be any value between 0 and 0.05. For example, the first threshold is 0.05.
[0100] Step A27: If it is less than, then the first generation particle corresponding to the first target fitness value is used as the first target threshold and the first target weight of the DBN neural network model.
[0101] If the fitness value of the first target is less than the first threshold, it means that the first generation particle corresponding to the fitness value of the first target meets the requirements, and the value in the first generation particle is used as the first target threshold and the first target weight of the DBN neural network model.
[0102] This disclosure optimizes the DBN neural network model by improving the particle swarm optimization algorithm, thereby improving the fitting accuracy of the DBN neural network model and the accuracy of the repaired data.
[0103] In another embodiment, the method further includes step A28.
[0104] Step A28: If the first target fitness value is not less than the first threshold, then iterative processing is performed on the first generation particles until the first target fitness value is less than the first threshold. Each iteration includes the following steps A281 to A289.
[0105] Step A281: Based on the first target fitness value, obtain the first generation optimal particle and the swarm optimal particle.
[0106] The first-generation particle corresponding to the first target fitness value is determined as the first-generation optimal particle. Since the first-generation particle has not yet undergone iterative processing, the first-generation optimal particle is also the population optimal particle.
[0107] The first-generation optimal particle is the optimal solution among the first-generation particles. The population-optimal particle is the optimal solution among all generations of particles.
[0108] Step A282: Update the velocity and position of the first-generation particles based on the first-generation optimal particles and the group optimal particles to obtain multiple second-generation particles.
[0109] In this embodiment of the disclosure, the update formula for the first generation particles is shown in Formula 2 below.
[0110] v id (t+1)=wv id (t)+η1rand(p id -z id (t))+η2rand(p gd -z id (t))
[0111] z id (t+1)=z id (t)+v id (t+1)(2)
[0112] Among them, v id (t+1) represents the velocity of the i-th first-generation particle in the d-th dimension during the (t+1)-th iteration; v id (t) represents the velocity of the i-th first-generation particle in the d-th dimension during t iterations; w is the inertia weight; η1 and η2 are learning factors; rand is a random number in [0,1]; p id The first-generation optimal particle; p gd The optimal particle for the swarm; z id (t+1) represents the position of the i-th first-generation particle in the d-th dimension during the (t+1)-th iteration, z id (t) represents the position of the i-th first-generation particle in the d-th dimension during the t-th iteration.
[0113] Step A283 involves cross-processing multiple second-generation particles.
[0114] Second-generation particles are obtained by iterating through first-generation particles. Crossover processing can include lateral crossover operations and vertical crossover operations. For example, lateral crossover operations and vertical crossover operations are performed on multiple second-generation particles.
[0115] It should be noted that the crossover processing of the particle swarm is as shown in Equation 2, wv id (t) is equivalent to performing a mutation operation on the second-generation particle, η1rand(pid -z id (t)), η2rand(p gd -z id (t) is a crossover operation that performs crossover operations between the current solution and the individual extrema and the global extrema, resulting in a new solution.
[0116] Step A284: The second-generation particles after cross-processing and the first historical movement block are input into the DBN neural network model to obtain multiple second historical prediction datasets.
[0117] In this embodiment of the disclosure, the second historical prediction dataset is obtained in the same way as the first historical prediction dataset, and will not be described again here.
[0118] Step A285: Based on each second historical prediction value and the second historical bandwidth dataset, obtain multiple second fitness values.
[0119] The second fitness value is obtained in the same way as the first fitness value, and will not be repeated here.
[0120] Step A286: Determine a new first target fitness value from among multiple second fitness values.
[0121] In this embodiment of the disclosure, the method for determining the new first target fitness value is the same as the method for determining the first target fitness value, and will not be repeated here.
[0122] Step A287: Determine whether the new first target fitness value is less than the first threshold.
[0123] In this embodiment of the disclosure, the determination method of step A287 is similar to that of step A26, and will not be described again here.
[0124] Step A288: If it is less than, then the second-generation particle corresponding to the new first target fitness value is used as the first target threshold and the first target weight of the DBN neural network model.
[0125] Step A289: If it is not less than, then the second-generation particle is taken as the new first-generation particle, and the iteration continues.
[0126] In this embodiment of the disclosure, multiple particle iterations are performed until the first target fitness value is less than the first threshold, that is, the first target fitness value meets the repair requirements, and the repaired second bandwidth information is close to the actual second bandwidth information. The error between the two is the new first target fitness value. Through multiple particle iterations, the repaired second bandwidth information can be made infinitely close to the actual second bandwidth information until the requirements are met.
[0127] Step A3: Train the DBN neural network model with parameters of the first model using the first historical moving block and the second historical bandwidth dataset to obtain the repair model.
[0128] This embodiment trains a DBN neural network model with parameters equal to the first model parameters using a first historical moving block and a second historical bandwidth dataset, resulting in a patched model. The present disclosure does not limit the conditions for ending training; for example, training may end when the number of training iterations equals a set number. Alternatively, training may end when the error between the patched second bandwidth information output by the DBN neural network model with parameters equal to the first model parameters and the actual second bandwidth information is less than a second threshold. The second threshold can be a preset value, such as 0.03.
[0129] This embodiment of the disclosure uses a mobile-fast combined improved DBN neural network model (repair model) to solve the problem of large prediction errors for bandwidth data in government cloud containing missing information.
[0130] In another exemplary embodiment, inputting a first bandwidth dataset into a repair model to repair the first bandwidth information and obtain a second bandwidth dataset may include the following steps B1 to B4.
[0131] Step B1: Obtain the current data matrix based on the first bandwidth dataset, wherein the positions in the first bandwidth dataset where the first bandwidth information is missing are filled with the second value.
[0132] In this embodiment of the disclosure, the current data matrix is obtained in the same way as the first historical data matrix, and will not be described again here.
[0133] Step B2: Divide the current data matrix into moving blocks to obtain multiple current moving blocks.
[0134] In this embodiment of the disclosure, the current moving block is obtained in the same way as the first historical moving block, and will not be described again here.
[0135] Step B3: Input multiple currently moving blocks into the repair model and perform q training iterations to obtain q training results.
[0136] Step B4: Based on q training results, obtain the second bandwidth dataset; where q is a positive integer.
[0137] In one embodiment of this disclosure, a second bandwidth dataset can be obtained by the following formula 3, the second bandwidth dataset including the patched first bandwidth information.
[0138]
[0139] Where, x testix is the training result calculated for the i-th patched model (the first bandwidth information after the i-th patch). loss This represents the first bandwidth information after repair, where q is the total number of training iterations and is a positive integer.
[0140] In another embodiment of this disclosure, the repaired first bandwidth information is the average value of the training results excluding the maximum and minimum values among q training results, but this disclosure is not limited thereto.
[0141] It should be noted that this disclosure adds the repaired first bandwidth information to the first bandwidth dataset to obtain the complete bandwidth dataset (second bandwidth dataset).
[0142] This embodiment optimizes the DBN neural network model by improving the particle swarm optimization algorithm, thereby obtaining the optimal solution of the DBN neural network model. This solves the problem that the DBN neural network model is prone to getting trapped in local optima, and also reduces the dependence of the DBN neural network model on the initial weights, thereby improving the fitting accuracy of the DBN neural network model and improving the accuracy of the repaired data.
[0143] The following explains how to predict the bandwidth dataset for the next moment.
[0144] In an exemplary embodiment, before inputting the second bandwidth dataset into the bandwidth prediction model to predict the bandwidth dataset for the next time step, the method may further include the following steps C1 and C2.
[0145] Step C1: Obtain the third historical bandwidth dataset and the fourth historical bandwidth dataset, which contain the patched third bandwidth information.
[0146] The fourth historical bandwidth dataset is the true value of the historical bandwidth dataset at the next moment of the third historical bandwidth dataset. The fourth historical bandwidth dataset includes the true value of the third bandwidth information at the next moment after patching.
[0147] Step C2: Train the initial bandwidth prediction model based on the third and fourth historical bandwidth datasets to obtain the bandwidth prediction model.
[0148] In this embodiment of the disclosure, bandwidth-related data can be obtained from the government cloud node database. For example, a third historical bandwidth dataset and a fourth historical bandwidth dataset with missing third bandwidth information can be obtained from the government cloud node database. The third bandwidth information is then repaired using the aforementioned repair model to obtain a third historical bandwidth dataset containing the repaired third bandwidth information. The third historical bandwidth dataset and the fourth historical bandwidth dataset containing the repaired third bandwidth information are used as a training set to train the bandwidth prediction model, thus obtaining the bandwidth prediction model.
[0149] The embodiments of this disclosure train the bandwidth prediction model using a third historical bandwidth dataset and a fourth historical bandwidth dataset that include patched third bandwidth information, thereby improving the accuracy of the bandwidth prediction model in use.
[0150] In another exemplary embodiment, the initial bandwidth prediction model may include an ELMAN neural network model; wherein training the initial bandwidth prediction model based on a third historical bandwidth dataset and a fourth historical bandwidth dataset to obtain the bandwidth prediction model may include the following steps D1 to D3.
[0151] Step D1: Obtain the ELMAN neural network model.
[0152] The LMAN neural network was first proposed by J.L. Elman in 1990 for the problem of speech processing. It is a typical local recurrent network (global feed forward local recurrent).
[0153] Step D2: Based on the improved genetic algorithm, the second model parameters of the ELMAN neural network model are obtained according to the third and fourth historical bandwidth datasets.
[0154] It should be noted that the ELMAN neural network model and the improved genetic algorithm can be initialized before step D2.
[0155] In one embodiment, the second model parameters may include a second target threshold and a second target weight. The second model parameters of the ELMAN neural network model, obtained based on an improved genetic algorithm and using a third and fourth historical bandwidth dataset, may include steps S601 to S612.
[0156] S601, obtain the second initial threshold and the second initial weight of the ELMAN neural network model.
[0157] The second initial threshold is the initial threshold of the ELMAN neural network model, and the second initial weight is the initial weight of the ELMAN neural network model.
[0158] The initialization method for the ELMAN neural network model is similar to that for the DBN neural network model, and will not be repeated here.
[0159] S602, based on the second initial threshold and the second initial weight, yields multiple first-generation genes.
[0160] In this embodiment of the disclosure, the number of genes in the gene population is constructed based on the number of second initial thresholds and second initial weights.
[0161] S603 performs selection and mutation operations on multiple first-generation genes.
[0162] The specific type of selection operation is not limited in the embodiments disclosed herein. For example, multiple first-generation genes may be selected using methods such as roulette wheel selection or random traversal sampling.
[0163] Regarding mutation operations, if an allele at one or more positions in a genotype changes from one state to another (0 becomes 1 or 1 becomes 0), then the genotype is said to have mutated. For example, if a first-generation genotype is 00010000, performing a mutation operation on this genotype will change it to 0001 0010.
[0164] In this embodiment, multiple first-generation genes may be selected first, and then mutated. Alternatively, multiple first-generation genes may be mutated first, and then selected; this disclosure is not limited to this.
[0165] S604 calculates the gene difference between any two first-generation genes among a plurality of first-generation genes after selection and mutation operations.
[0166] In this embodiment of the disclosure, the first-generation genes can be normalized before calculating the gene differences. The normalization formula is shown in Formula 4 below.
[0167]
[0168] Among them, the first generation gene X i =(X i1 X i2 , ..., X im ), X ik Let x be the k-th element in the i-th first-generation gene. ik For X ik Normalized values. i = 1, 2, ..., n, where n is the total number of genes in the first generation; k = 1, 2, ..., m, where m is the total number of elements in the first generation genes.
[0169] From Formula 4, we can obtain that x ik The range is 0 ≤ |x ik |≤1,x i =(x i1 x i2 , ..., x im ) is X i The normalized data. Another set of first-generation gene normalized data is x. j =(x j1 x j2 , ..., x jm ).
[0170] The formula for calculating gene difference is shown in Formula 5 below.
[0171] x ijk =|x ik -x jk |(5)
[0172] Where, x ijk For x i and x j The gene difference (absolute difference) corresponding to the k-th element; i, j = 1, 2, ..., n, n is the total number of genes in the first generation; k = 1, 2, ..., m, m is the total number of elements in the first generation genes.
[0173] S605, based on gene differences, determines the similarity between two first-generation genes used to calculate Euclidean distance.
[0174] In this embodiment of the disclosure, no limitation is made on how to determine the similarity of two first-generation genes based on gene differences.
[0175] For example, x ijk Satisfy x ijk The number of ≤γ is n ij , called n ij For x i and x j The number of similar points; let x ijk continuously satisfy x ijk The maximum number of γ is m ij , called m ij For x i and x j The maximum consecutive deviation points, i, j = 1, 2, ..., n, k = 1, 2, ..., m. The formula for determining the similarity between two first-generation genes used to calculate gene differences is shown in Formula 6 below.
[0176]
[0177] Where γ (0≤γ≤1) is a preset constant, called the maximum deviation, which is the threshold for measuring the similarity of corresponding elements between two first-generation genes. ijk If the expression is less than or equal to γ, then the expression is considered similar; otherwise, the expression is not similar.
[0178] Let the i-th first-generation gene x i As a comparison center, calculate the j-th first-generation gene x. j With x i between n ij and m ij (i, j = 1, 2, ..., n), if n ij and m ij Simultaneously satisfying the following two conditions (1)n ij≥n0, where n0=[α×m], α(0≤α≤1-m) -1 (1) is a preset constant, called similarity; (2) 1≤m ij ≤m0, where m0=[β×m], β(m -1 ≤β≤1-α) is a preset constant, called the deviation. Then, the two first-generation genes x are called... i and x j Similar. Otherwise, the two first-generation genes are not similar.
[0179] S606: When similarity exists, based on the ELMAN neural network model, the fitness values of two first-generation genes are calculated according to the first-generation genes, the third historical bandwidth dataset, and the fourth historical bandwidth dataset. The first-generation gene with the larger fitness value is then selected for chaotic processing.
[0180] In this embodiment of the disclosure, the first-generation gene and the third historical bandwidth dataset are input into the ELMAN neural network model to obtain the third historical prediction value.
[0181] f fitness =|f fc -f real | (7)
[0182] Among them, f fitness f is the fourth fitness value. fc f is the third historical prediction output by the ELMAN neural network model. real This is the fourth historical bandwidth dataset.
[0183] If the fourth fitness value is large, it indicates that the corresponding first-generation gene is relatively poor, and chaotic processing of the first-generation gene is needed to improve the accuracy of the ELMAN neural network model.
[0184] It should be noted that before executing S603, the fitness value of the gene population can be calculated using Formula 7, thereby recording the initial optimal gene of the gene population, which facilitates the selection operation of the first generation of genes.
[0185] S607. When there is no similarity, based on the ELMAN neural network model, the fitness values of two first-generation genes are calculated according to the first-generation genes, the third historical bandwidth dataset, and the fourth historical bandwidth dataset. The first-generation gene with the larger fitness value is selected for crossover processing.
[0186] The first-generation genes and the third historical bandwidth dataset are input into the ELMAN neural network model to obtain the fourth historical prediction value. The fourth historical prediction value and the fourth historical bandwidth dataset are then input into Equation 7 to obtain the fitness value of the first-generation genes. A higher fitness value indicates that the corresponding first-generation genes are relatively poor, requiring cross-processing to improve the accuracy of the ELMAN neural network model.
[0187] Crossing operations can include one or both of horizontal and vertical cross operations. Horizontal cross operations are illustrated in Formula 8 below.
[0188] M hc (i,d)=r1X(i,d)+(1-r1)X(j,d)+c1(X(i,d)-X(j,d))
[0189] M hc (j,d)=r2X(j,d)+(1-r2)X(i,d)+c2(X(j,d)-X(i,d)) (8)
[0190] Where c1 and c2 are random numbers in [-1, 1]; r1 and r2 are random numbers in [-1, 1]; X(i, d) and X(j, d) are the d-th dimensions of the parent genes (e.g., first-generation genes) X(i) and X(j), respectively; M hc (i,d),M hc (j,d) represent the d-th dimensional offspring generated by the horizontal crossover of S(i,d) and X(j,d).
[0191] The vertical crossover operation is performed as shown in Formula 9 below.
[0192] M vc (i,d1)=rX(i,d1)+(1-r)X(i,d2) (9)
[0193] Where r is a random number in the interval [-1, 1]; M vc (i,d1) represents the offspring gene generated by the vertical crossover of the d1 and d2 dimensions of the first-generation gene i.
[0194] It should be noted that the offspring genes generated in this disclosure replace the original first-generation genes as new first-generation genes.
[0195] S608 determines whether all first-generation genes have undergone similarity assessment.
[0196] S609: If all first-generation genes have undergone similarity judgment, based on the ELMAN neural network model, the third fitness values of multiple first-generation genes are obtained according to the first-generation genes after chaotic processing or cross-processing, the third historical bandwidth dataset, and the fourth historical bandwidth dataset.
[0197] In this embodiment of the disclosure, the third fitness value of the first-generation gene can be calculated using Formula 7.
[0198] S610 determines the optimal gene for the population among multiple third fitness values.
[0199] In this embodiment of the disclosure, the first-generation gene with the smallest third fitness value can be regarded as the optimal gene of the population.
[0200] S611, determine whether the optimal gene in the population satisfies the stopping iteration condition.
[0201] This disclosure does not limit the stopping conditions for iteration. For example, the stopping condition is that the third fitness value of the best gene in the population is less than a preset value, which can be one of 0.05, 0.04, 0.03, 0.02, and 0.01.
[0202] S612, under the condition of stopping iteration, uses the optimal gene of the population as the second objective threshold and the second objective weight of the ELMAN neural network model.
[0203] The values in the optimal genes of the population are used as the second objective threshold and the second objective weight of the ELMAN neural network model.
[0204] Step D3: Train the ELMAN neural network model with the parameters of the second model using the third historical bandwidth dataset and the fourth historical bandwidth data to obtain the bandwidth prediction model.
[0205] This embodiment of the disclosure trains an ELMAN neural network model with parameters set as a second target threshold and a second target weight using a third historical bandwidth dataset and a fourth historical bandwidth dataset. After training, a bandwidth prediction model is obtained. This disclosure does not limit the conditions for ending training; for example, training may end when the number of training iterations equals a set number of iterations.
[0206] The embodiments disclosed herein employ an improved genetic algorithm to optimize the ELMAN neural network model, which helps to escape local optima during the calculation process and thus find the global optimum with a higher probability. This helps to find the optimal weights for the ELMAN neural network model, improves the prediction accuracy of the ELMAN neural network model, and reduces its training time.
[0207] In yet another exemplary embodiment, the bandwidth prediction method may further include the following S613.
[0208] S613, if some first-generation genes have undergone similarity judgment, return to the step of calculating the Euclidean distance between any two first-generation genes among multiple first-generation genes after selection and mutation operations, until all first-generation genes have undergone similarity judgment.
[0209] This disclosure improves the prediction accuracy of the ELMAN neural network model by performing similarity judgment on all first-generation genes, which helps to find the globally optimal first-generation gene.
[0210] In yet another exemplary embodiment, the bandwidth prediction method may further include the following S614.
[0211] S614: If the stopping iteration condition is not met, the first-generation gene after chaotic processing or crossover processing is taken as the new first-generation gene, and the steps of selection and mutation operations on multiple first-generation genes are returned until the stopping iteration condition is met.
[0212] This disclosure improves the prediction accuracy of the ELMAN neural network model by performing selection and mutation operations on multiple first-generation genes, which helps to find the globally optimal first-generation gene.
[0213] The present disclosure will be further illustrated by the following examples.
[0214] Step E1: Construct the first bandwidth dataset;
[0215] The first bandwidth dataset is missing first bandwidth information. This first bandwidth dataset can be obtained through historical government cloud bandwidth usage data. A clustering dataset and a prediction day dataset are constructed using this historical government cloud bandwidth usage data. The historical government cloud bandwidth usage data includes the average, maximum, minimum, and daily government cloud bandwidth usage for the two years prior to the prediction date and the prediction day itself, along with ambient temperature, humidity, holiday information, and weather conditions. The clustering dataset contains other historical government cloud bandwidth usage data besides the prediction day data. The prediction day dataset contains the data for the prediction day to be predicted. However, some elements on certain days are missing from these datasets. These missing elements represent the first bandwidth information.
[0216] Specifically, in this example, historical bandwidth usage data for the government cloud is obtained from the government cloud telecom node database, while ambient temperature, humidity, holiday information, and weather conditions are obtained from local weather forecast websites. The time resolution for the government cloud bandwidth usage data is set to 5 minutes, forming a bandwidth usage curve with a 5-minute interval. Holiday information is categorized into ordinary weekends, major holidays, and the day after a holiday; weather conditions are categorized as sunny, rainy, and cloudy. Therefore, a daily government cloud bandwidth usage data curve consists of 292 data points (each data point includes a time point and the corresponding government cloud bandwidth usage at that time point).
[0217] Step E2: Construct the current moving block of the first bandwidth dataset.
[0218] The method of constructing the current moving block in this embodiment is the same as the method of constructing S403 described above, and will not be repeated here.
[0219] Step E3: Construct the patching model.
[0220] The construction method of the repair model in this embodiment is the same as that in S404 described above, and will not be repeated here.
[0221] Step E4: Construct a bandwidth prediction model.
[0222] The bandwidth prediction model constructed in this embodiment is constructed in the same way as in steps D1 to D3 described above, and will not be repeated here.
[0223] Step E5: Input the first bandwidth dataset into the repair model to repair the first bandwidth information and obtain the second bandwidth dataset.
[0224] Step E6: Input the second bandwidth dataset into the bandwidth prediction model to predict the bandwidth dataset for the next time step.
[0225] In this embodiment, the original dataset (first bandwidth dataset) containing missing data (first bandwidth information) is segmented. The moving blocks containing missing data are fed into a trained repair model for calculation. The missing data is obtained by averaging multiple times, thereby repairing the impact of missing data on prediction. Secondly, a bandwidth prediction model is used to predict the bandwidth usage of the government cloud. Compared with the genetic algorithm, the improved genetic algorithm uses similar genes but different methods to process them, which helps the algorithm to escape local optima during the calculation process and find the global optimum with a higher probability. This helps the ELAMN neural network model find the best weights, improves the prediction accuracy of the ELAMN neural network model, and reduces its training time.
[0226] Based on the same inventive concept, this disclosure also provides a bandwidth prediction device, as described in the following embodiments. Since the principle by which this device solves the problem is similar to that of the method embodiments described above, the implementation of this device embodiment can refer to the implementation of the method embodiments described above, and repeated details will not be repeated.
[0227] Figure 6 This diagram illustrates a bandwidth prediction device according to an embodiment of the present disclosure, such as... Figure 6 As shown, the bandwidth prediction device may include an acquisition module 61, a repair module 62, and a prediction module 63. The acquisition module 61 is used to acquire the first bandwidth dataset at the current moment, which lacks first bandwidth information; the repair module 62 is used to input the first bandwidth dataset into a repair model to repair the first bandwidth information and obtain a second bandwidth dataset; the prediction module 63 is used to input the second bandwidth dataset into a bandwidth prediction model to predict the bandwidth dataset at the next moment.
[0228] In one embodiment, before inputting the first bandwidth dataset into the repair model to repair the first bandwidth information and obtain the second bandwidth dataset, the acquisition module 61 can also be used to acquire a first historical bandwidth dataset lacking second bandwidth information and a second historical bandwidth dataset containing second bandwidth information. The second historical bandwidth dataset includes the first historical bandwidth dataset, and the positions in the first historical bandwidth dataset lacking second bandwidth information are filled with a first value. Based on the first historical bandwidth dataset, a first historical data matrix is obtained. The first historical data matrix is segmented into moving blocks to obtain multiple first historical moving blocks. The initial repair model is trained based on the first historical moving blocks and the second historical bandwidth dataset to obtain the repair model.
[0229] In one embodiment, the initial patching model includes a DBN neural network model. The acquisition module 61 can also be used to acquire the DBN neural network model; based on an improved particle swarm optimization algorithm, obtain the first model parameters of the DBN neural network model according to a first historical moving block and a second historical bandwidth dataset; train the DBN neural network model with the first model parameters using the first historical moving block and the second historical bandwidth dataset to obtain the patching model.
[0230] In one embodiment, the first model parameters include a first target threshold and a first target weight; the acquisition module 61 can also be used to acquire a first initial threshold and a first initial weight of the DBN neural network model; obtain multiple first-generation particles based on the first initial threshold and the first initial weight; sequentially input each first-generation particle and a first historical moving block into the DBN neural network model to obtain multiple first historical prediction datasets; obtain multiple first fitness values based on each first historical prediction value and a second historical bandwidth dataset; determine a first target fitness value among the multiple first fitness values; determine whether the first target fitness value is less than the first threshold; if it is less, then use the first-generation particle corresponding to the first target fitness value as the first target threshold and the first target weight of the DBN neural network model.
[0231] In one embodiment, the acquisition module 61 can also be used to iteratively process the first generation particles if the first target fitness value is not less than the first threshold, until the first target fitness value is less than the first threshold. Each iteration includes the following steps: obtaining the first generation optimal particle and the group optimal particle based on the first target fitness value; updating the velocity and position of the first generation particles based on the first generation optimal particle and the group optimal particle to obtain multiple second generation particles; performing cross-processing on the multiple second generation particles; inputting the cross-processed second generation particles and the first historical movement block into the DBN neural network model to obtain multiple second historical prediction datasets; obtaining multiple second fitness values based on each second historical prediction value and the second historical bandwidth dataset; determining a new first target fitness value among the multiple second fitness values; determining whether the new first target fitness value is less than the first threshold; if it is less, using the second generation particle corresponding to the new first target fitness value as the first target threshold and the first target weight of the DBN neural network model; if it is not less, using the second generation particle as the new first generation particle and continuing the iteration.
[0232] In one embodiment, the repair module 62 can also be used to obtain a current data matrix based on a first bandwidth dataset, wherein the positions in the first bandwidth dataset where the first bandwidth information is missing are filled with a second value; to perform moving block segmentation on the current data matrix to obtain multiple current moving blocks; to input the multiple current moving blocks into the repair model and perform q training iterations to obtain q training results; and to obtain a second bandwidth dataset based on the q training results; wherein q is a positive integer.
[0233] In one embodiment, the bandwidth prediction device may further include a training module. Before inputting the second bandwidth dataset into the bandwidth prediction model to predict the bandwidth dataset for the next time step, the training module may be used to obtain a third historical bandwidth dataset and a fourth historical bandwidth dataset containing patched third bandwidth information. The initial bandwidth prediction model is trained based on the third historical bandwidth dataset and the fourth historical bandwidth dataset to obtain the bandwidth prediction model.
[0234] In one embodiment, the initial bandwidth prediction model includes an ELMAN neural network model. The training module can also be used to obtain the ELMAN neural network model; based on an improved genetic algorithm, the second model parameters of the ELMAN neural network model are obtained according to the third and fourth historical bandwidth datasets; the ELMAN neural network model with the second model parameters is trained using the third and fourth historical bandwidth datasets to obtain the bandwidth prediction model.
[0235] In one embodiment, the second model parameters include a second target threshold and a second target weight. The training module can also be used to obtain a second initial threshold and a second initial weight of the ELMAN neural network model; obtain multiple first-generation genes based on the second initial threshold and the second initial weight; perform selection and mutation operations on the multiple first-generation genes; calculate the gene difference between any two first-generation genes among the multiple first-generation genes after the selection and mutation operations; determine the similarity between the two first-generation genes used to calculate the Euclidean distance based on the gene difference; when similarity exists, calculate the fitness values of the two first-generation genes based on the ELMAN neural network model, the first-generation genes, the third historical bandwidth dataset, and the fourth historical bandwidth dataset, and determine the first-generation gene with the larger fitness value among the two first-generation genes for chaotic processing; when no similarity exists, based on the ELMAN neural network model, Based on the first-generation genes, the third historical bandwidth dataset, and the fourth historical bandwidth dataset, calculate the fitness values of two first-generation genes. Select the first-generation gene with the higher fitness value for crossover. Determine if all first-generation genes have undergone similarity assessment. If so, based on the ELMAN neural network model, obtain the third fitness values of multiple first-generation genes using the first-generation genes after chaotic processing or crossover, the third historical bandwidth dataset, and the fourth historical bandwidth dataset. Determine the optimal gene among these third fitness values. Determine if the optimal gene satisfies the stopping iteration condition. If the stopping iteration condition is met, use the optimal gene as the second objective threshold and second objective weight of the ELMAN neural network model.
[0236] In one embodiment, the training module can also be used to return to the step of calculating the Euclidean distance between any two first-generation genes among multiple first-generation genes after selection and mutation operations if some first-generation genes have undergone similarity judgment, until all first-generation genes have undergone similarity judgment.
[0237] In one embodiment, if the stopping iteration condition is not met, the first-generation gene after chaotic processing or crossover processing is taken as the new first-generation gene, and the steps of selection and mutation operations on multiple first-generation genes are returned until the stopping iteration condition is met.
[0238] The bandwidth prediction device of this embodiment inputs the first bandwidth dataset at the current moment into the repair model to obtain a second bandwidth dataset containing the first bandwidth information, thereby repairing the missing bandwidth information and facilitating the obtaining of more accurate bandwidth dataset information for the next moment during prediction. The repaired first bandwidth dataset (second bandwidth dataset) is then input into the bandwidth prediction model to predict the bandwidth dataset for the next moment, thus enabling the prediction of bandwidth usage in the government cloud.
[0239] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."
[0240] The following reference Figure 7 To describe an electronic device 700 according to such an embodiment of the present disclosure. Figure 7 The electronic device 700 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0241] like Figure 7 As shown, the electronic device 700 is manifested in the form of a general-purpose computing device. The components of the electronic device 700 may include, but are not limited to: at least one processing unit 710, at least one storage unit 720, and a bus 730 connecting different system components (including storage unit 720 and processing unit 710).
[0242] The storage unit stores program code that can be executed by the processing unit 710, causing the processing unit 710 to perform the steps described in the "Exemplary Methods" section above according to various exemplary embodiments of this disclosure.
[0243] Storage unit 720 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 7201 and / or cache memory 7202, and may further include a read-only memory (ROM) 7203.
[0244] The storage unit 720 may also include a program / utility 7204 having a set (at least one) program module 7205, such program module 7205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0245] Bus 730 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0246] Electronic device 700 can also communicate with one or more external devices 740 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 700, and / or with any device that enables electronic device 700 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 750. Furthermore, electronic device 700 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 760. As shown, network adapter 760 communicates with other modules of electronic device 700 via bus 730. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0247] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0248] In the disclosed exemplary embodiments, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium. Figure 8 This illustration shows a schematic diagram of a computer-readable storage medium according to an embodiment of the present disclosure, such as... Figure 8 As shown, the computer-readable storage medium 800 stores a program product capable of implementing the methods described above.
[0249] In some possible implementations, various aspects of this disclosure may also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the foregoing “Detailed Description” section of this specification according to various exemplary embodiments of this disclosure.
[0250] More specific examples of computer-readable storage media in this disclosure may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0251] In this disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.
[0252] Optionally, the program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0253] In practical implementation, program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0254] This disclosure provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the bandwidth prediction method provided in various alternative embodiments of this disclosure.
[0255] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0256] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0257] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0258] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope of this disclosure is indicated by the appended claims.
Claims
1. A bandwidth prediction method, characterized in that, include: Obtain the first bandwidth dataset for the current moment that lacks first bandwidth information. The first bandwidth dataset includes daily government cloud usage bandwidth, ambient temperature, ambient humidity, holiday information, and weather conditions. Input the first bandwidth dataset into the repair model to repair the first bandwidth information and obtain the second bandwidth dataset. Input the second bandwidth dataset into the bandwidth prediction model to predict the bandwidth dataset for the next moment. Training the repair model includes the following steps: Obtain a first historical bandwidth dataset that lacks second bandwidth information and a second historical bandwidth dataset that contains the second bandwidth information. The second historical bandwidth dataset includes the first historical bandwidth dataset. The positions in the first historical bandwidth dataset where the second bandwidth information is missing are filled with a first value. Based on the first historical bandwidth dataset, a first historical data matrix is obtained; The first historical data matrix is divided into moving blocks to obtain multiple first historical moving blocks; Obtain a DBN neural network model and its first initial threshold and first initial weights; obtain multiple first-generation particles based on the first initial threshold and first initial weights; sequentially input each first-generation particle and the first historical movement block into the DBN neural network model to obtain multiple first historical prediction datasets; obtain multiple first fitness values based on each first historical prediction dataset and the second historical bandwidth dataset; determine a first target fitness value among the multiple first fitness values; determine whether the first target fitness value is less than the first threshold; if it is less, use the first-generation particle corresponding to the first target fitness value as the first target threshold and first target weight of the DBN neural network model; train the DBN neural network model with parameters of the first model parameters using the first historical movement block and the second historical bandwidth dataset to obtain the repaired model, wherein the first model parameters include the first target threshold and the first target weight.
2. The method according to claim 1, characterized in that, The method further includes: If the fitness value is not less than the first threshold, then the first generation of particles are iteratively processed until the fitness value of the first target is less than the first threshold. Each iteration includes the following steps: Based on the first target fitness value, the first generation optimal particle and the swarm optimal particle are obtained; Based on the first-generation optimal particle and the group optimal particle, the velocity and position of the first-generation particle are updated to obtain multiple second-generation particles; Multiple second-generation particles are cross-processed; The second-generation particles after cross-processing are input into the first historical movement block and the DBN neural network model to obtain multiple second historical prediction datasets; Based on each of the second historical prediction datasets and the second historical bandwidth datasets, multiple second fitness values are obtained; A new first target fitness value is determined from among multiple second fitness values; Determine whether the new first target fitness value is less than the first threshold; If it is less than, then the second-generation particle corresponding to the new first target fitness value is used as the first target threshold and the first target weight of the DBN neural network model; If it is not smaller than, then the second-generation particle is taken as the new first-generation particle, and the iteration continues.
3. The method according to claim 1, characterized in that, The step of inputting the first bandwidth dataset into the repair model to repair the first bandwidth information and obtain the second bandwidth dataset includes: Based on the first bandwidth dataset, the current data matrix is obtained, wherein the positions in the first bandwidth dataset where the first bandwidth information is missing are filled with a second value; The current data matrix is divided into moving blocks to obtain multiple current moving blocks; The multiple currently moving blocks are input into the repair model, and training is performed q times to obtain q training results; The second bandwidth dataset is obtained based on the q training results; Where q is a positive integer.
4. The method according to claim 1, characterized in that, Before inputting the second bandwidth dataset into the bandwidth prediction model to predict the bandwidth dataset for the next time step, the method further includes: Obtain the third and fourth historical bandwidth datasets, which contain patched third bandwidth information; The initial bandwidth prediction model is trained based on the third and fourth historical bandwidth datasets to obtain the bandwidth prediction model.
5. The method according to claim 4, characterized in that, The initial bandwidth prediction model includes the ELMAN neural network model; The step of training the initial bandwidth prediction model based on the third historical bandwidth dataset and the fourth historical bandwidth dataset to obtain the bandwidth prediction model includes: Obtain the ELMAN neural network model; Based on the improved genetic algorithm, the second model parameters of the ELMAN neural network model are obtained according to the third historical bandwidth dataset and the fourth historical bandwidth dataset. The bandwidth prediction model is obtained by training an ELMAN neural network model with parameters equal to the second model parameters using the third historical bandwidth dataset and the fourth historical bandwidth data.
6. The method according to claim 5, characterized in that, The second model parameters include a second target threshold and a second target weight; The step of obtaining the second model parameters of the ELMAN neural network model based on the improved genetic algorithm, according to the third historical bandwidth dataset and the fourth historical bandwidth dataset, includes: Obtain the second initial threshold and the second initial weight of the ELMAN neural network model; Based on the second initial threshold and the second initial weight, multiple first-generation genes are obtained; Selective and mutation operations are performed on multiple first-generation genes; Calculate the gene difference between any two first-generation genes among a plurality of first-generation genes after selection and mutation operations. Based on the gene difference, determine the similarity between the two first-generation genes used to calculate the Euclidean distance; When similarity exists, based on the ELMAN neural network model, the fitness values of the two first-generation genes are calculated according to the first-generation genes, the third historical bandwidth dataset, and the fourth historical bandwidth dataset. The first-generation gene with the larger fitness value among the two first-generation genes is then subjected to chaotic processing. When there is no similarity, based on the ELMAN neural network model, the fitness values of the two first-generation genes are calculated according to the first-generation genes, the third historical bandwidth dataset, and the fourth historical bandwidth dataset. The first-generation gene with the larger fitness value is selected from the two first-generation genes for crossover processing. Determine whether all first-generation genes have undergone similarity assessment; If all first-generation genes have undergone similarity judgment, based on the ELMAN neural network model, and according to the first-generation genes after chaotic processing or cross-processing, the third historical bandwidth dataset, and the fourth historical bandwidth dataset, the third fitness value of multiple first-generation genes is obtained. Determine the optimal gene for the population from among the multiple third fitness values; Determine whether the optimal gene of the population satisfies the stopping iteration condition; If the stopping iteration condition is met, the optimal gene of the population is used as the second objective threshold and the second objective weight of the ELMAN neural network model.
7. The method according to claim 6, characterized in that, The method further includes: If some of the first-generation genes have undergone similarity assessment, return to the step of calculating the Euclidean distance between any two first-generation genes among the multiple first-generation genes after selection and mutation operations, until all first-generation genes have undergone similarity assessment.
8. The method according to claim 6, characterized in that, The method further includes: If the stopping iteration condition is not met, the first-generation gene after undergoing chaotic processing or crossover processing is taken as the new first-generation gene, and the steps of selecting and mutating multiple first-generation genes are returned until the stopping iteration condition is met.
9. A bandwidth prediction device, characterized in that, include: The acquisition module is used to acquire the first bandwidth dataset at the current moment where the first bandwidth information is missing. The first bandwidth dataset includes the bandwidth used by the daily government cloud, ambient temperature, ambient humidity, holiday information, and weather conditions. The repair module is used to input the first bandwidth dataset into the repair model, repair the first bandwidth information, and obtain the second bandwidth dataset. The prediction module is used to input the second bandwidth dataset into the bandwidth prediction model and predict the bandwidth dataset for the next time step. The acquisition module is further used to train the repair model, including the following steps: acquiring a first historical bandwidth dataset lacking second bandwidth information and a second historical bandwidth dataset containing the second bandwidth information, wherein the second historical bandwidth dataset includes the first historical bandwidth dataset, and the positions in the first historical bandwidth dataset lacking the second bandwidth information are filled with a first value; obtaining a first historical data matrix based on the first historical bandwidth dataset; performing moving block segmentation on the first historical data matrix to obtain multiple first historical moving blocks; acquiring a DBN neural network model and a first initial threshold and a first initial weight of the DBN neural network model; obtaining multiple first-generation particles based on the first initial threshold and the first initial weight; and sequentially processing each first-generation particle... Particles and the first historical movement block are input into the DBN neural network model to obtain multiple first historical prediction datasets; multiple first fitness values are obtained based on each of the first historical prediction datasets and the second historical bandwidth dataset; a first target fitness value is determined from the multiple first fitness values; it is determined whether the first target fitness value is less than a first threshold; if it is less, the first generation particle corresponding to the first target fitness value is used as the first target threshold and the first target weight of the DBN neural network model; the DBN neural network model with parameters of the first model parameters is trained using the first historical movement block and the second historical bandwidth dataset to obtain the repaired model, wherein the first model parameters include the first target threshold and the first target weight.
10. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the bandwidth prediction method of any one of claims 1-8 by executing the executable instructions.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the bandwidth prediction method according to any one of claims 1-8.
Citation Information
Patent Citations
Bandwidth prediction method and device, electronic equipment and storage medium
CN110474815A
