Network bandwidth prediction method, device and storage medium
By obtaining historical traffic and server resource information applied in the cloud service provider network and combining the fitted model to predict future traffic, the problems of low accuracy and high redundancy cost of backbone network bandwidth planning are solved, and more accurate bandwidth demand prediction is achieved.
Patent Information
- Application Number
- CN202211486192.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-24
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2042-11-24
AI Technical Summary
In the prior art, cloud service providers lack systematic prediction methods for backbone network bandwidth planning, which leads to high evaluation difficulty and low accuracy, and evaluators at all levels have high redundant bandwidth costs to ensure the meeting of demands.
By obtaining historical traffic data of multiple applications in the target network and the incremental information of server resources, and combining the fitted model to predict future traffic data, we can then determine the network bandwidth requirements.
It improves the accuracy of network bandwidth prediction, reduces the cost of redundant bandwidth, and achieves more accurate bandwidth planning.
Smart Images

Figure CN115865687B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of Internet technology, and in particular to a network bandwidth prediction method, device and storage medium. Background Art
[0002] In recent years, the demand for backbone network bandwidth for some cloud service providers has grown exponentially, resulting in rapidly increasing bandwidth requirements and high annual bandwidth costs. A cloud service provider's backbone network, in simple terms, is an internetwork consisting of communication links between multiple data centers located in different locations.
[0003] However, bandwidth planning and prediction methods are still at a low level, relying on manual evaluation and step-by-step confirmation by managers at all levels. There is no effective systematic prediction method. This causes problems such as difficulty in evaluation, low accuracy, and the generation of high levels of redundant bandwidth by evaluators at all levels to ensure their own needs are met. Ultimately, the backbone network actually sacrifices a high amount of redundant bandwidth to ensure bandwidth needs are met. Summary of the Invention
[0004] Embodiments of the present invention provide a network bandwidth prediction method, apparatus, device, and storage medium to improve the accuracy of network bandwidth prediction results.
[0005] In a first aspect, an embodiment of the present invention provides a network bandwidth prediction method, the method comprising:
[0006] Obtaining historical traffic data for multiple applications in a target network within a preset historical time period, wherein the target network includes multiple data centers where the multiple applications are deployed, and the historical traffic data is generated by data transmission between servers in different data centers;
[0007] Obtaining server resource inventory information of the multiple applications in the multiple data centers within the preset historical time period, and server resource increment information of the multiple applications in the multiple data centers within a preset future time period;
[0008] Determining predicted traffic data of the multiple applications in the target network within the preset future time period based on the historical traffic data, the server resource inventory information, and the server resource increment information;
[0009] Determine network bandwidth demand information of the target network within the preset future time period based on the predicted traffic data.
[0010] In a second aspect, an embodiment of the present invention provides a network bandwidth prediction device, the device comprising:
[0011] a traffic acquisition module, configured to acquire historical traffic data of multiple applications in a target network within a preset historical time period, wherein the target network includes multiple data centers where the multiple applications are deployed, and the historical traffic data is generated by data transmission between servers in different data centers;
[0012] A resource acquisition module, configured to acquire server resource inventory information of the multiple applications in the multiple data centers within the preset historical time period, and server resource increment information of the multiple applications in the multiple data centers within a preset future time period;
[0013] a traffic prediction module, configured to determine predicted traffic data of the plurality of applications in the target network within the preset future time period based on the historical traffic data, the server resource inventory information, and the server resource increment information;
[0014] The bandwidth determination module is configured to determine the network bandwidth requirement information of the target network within the preset future time period according to the predicted traffic data.
[0015] In a third aspect, an embodiment of the present invention provides an electronic device, comprising: a memory, a processor, and a communication interface; wherein, the memory stores executable code, and when the executable code is executed by the processor, the processor executes the network bandwidth prediction method as described in the first aspect.
[0016] In a fourth aspect, an embodiment of the present invention provides a non-transitory machine-readable storage medium having executable code stored thereon. When the executable code is executed by a processor of an electronic device, the processor executes the network bandwidth prediction method as described in the first aspect.
[0017] The network bandwidth prediction method provided in embodiments of the present invention can be applied to bandwidth planning for a target network, such as a cloud service provider's backbone network. The target network includes multiple data centers, each of which includes multiple servers, each of which runs multiple applications. This bandwidth prediction method can be used to predict the bandwidth required for data transmission between different data centers in the target network over a predetermined future time period, such as the next few months or a year.
[0018] To complete this prediction task, first, it is necessary to obtain historical traffic data for multiple applications on the target network within a preset historical time period. This historical traffic data is generated by data transmission between servers in different data centers, that is, historical traffic data for each application between different data centers. Furthermore, it is necessary to obtain server resource inventory information for each application in multiple data centers within the preset historical time period, as well as server resource increment information for each application in multiple data centers within the preset future time period. Then, combining this server resource inventory information and server resource increment information with the obtained historical traffic data, the predicted traffic data for each application on the target network within the preset future time period is predicted. Finally, the network bandwidth demand information for the target network within the preset future time period is determined based on the predicted traffic data.
[0019] In the above solution, different applications run on each server in each data center. Based on research findings, the main factor causing changes in the traffic of different applications in the target network is related to the increase, decrease and layout of the corresponding server resources. Therefore, by associating the stock and incremental information of the server resources at the bottom of each service, the historical traffic data generated by each application in the target network is combined with the historical server stock changes to analyze, and combined with the future server incremental changes, the future traffic changes can be accurately predicted. Therefore, combined with accurate traffic prediction results, more accurate bandwidth planning results can be obtained. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0021] Figure 1 A schematic diagram of the network composition of a target network provided by an embodiment of the present invention;
[0022] Figure 2 A flowchart of a network bandwidth prediction method provided by an embodiment of the present invention;
[0023] Figure 3 A flowchart of a historical traffic data processing process provided by an embodiment of the present invention;
[0024] Figure 4a A schematic diagram of a historical traffic data aggregation process provided by an embodiment of the present invention;
[0025] Figure 4b A schematic diagram of another historical traffic data aggregation process provided by an embodiment of the present invention;
[0026] Figure 4c A schematic diagram of another historical traffic data aggregation process provided by an embodiment of the present invention;
[0027] Figure 5 A schematic diagram of a process for obtaining predicted traffic data provided by an embodiment of the present invention;
[0028] Figure 6 A flowchart of a process for obtaining predicted traffic data provided by an embodiment of the present invention;
[0029] Figure 7 A flowchart of a network bandwidth determination process provided by an embodiment of the present invention;
[0030] Figure 8 A schematic diagram of a traffic statistics process on a physical link provided by an embodiment of the present invention;
[0031] Figure 9 A flowchart of another network bandwidth determination process provided by an embodiment of the present invention;
[0032] Figure 10 A schematic diagram of an application of a network bandwidth determination process provided by an embodiment of the present invention;
[0033] Figure 11 A schematic diagram of the structure of a network bandwidth prediction device provided by an embodiment of the present invention;
[0034] Figure 12 This is a schematic structural diagram of an electronic device provided in this embodiment. DETAILED DESCRIPTION
[0035] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0036] In addition, the step sequence in the following method embodiments is only an example and not a strict limitation.
[0037] The network bandwidth prediction method provided by the embodiment of the present invention can be applied to a cloud backbone network owned by an enterprise such as a cloud service provider, which is called a target network.
[0038] Figure 1 The composition of the target network is shown in Figure 2. Figure 1As shown in , the target network may include multiple data centers or Internet Data Centers (IDCs) located in different locations, each of which is deployed with multiple servers. The servers may run various services provided by cloud service providers or applications deployed by customers. For ease of description, in this embodiment of the present invention, the software running on the servers and accessible to users is collectively referred to as an application.
[0039] In actual applications, the same application can be deployed on different servers in different data centers. For example Figure 1 In the example, service a is deployed in two servers in data center 1 and in three servers in data center 3, and service b is deployed in at least one server in data center 2 and in at least one server in data center 3.
[0040] In addition, if Figure 1 As shown in , the same application has different IP addresses in different servers. For example, service a has Figure 1 The corresponding IP addresses of the five servers shown in the figure are: IPa1, IPa2, IPa3, IPa4, and IPa5.
[0041] In addition, there are physical communication links between different data centers, referred to as physical links, such as optical fibers and other physical links, to achieve data transmission between two connected data centers.
[0042] It should be noted that in actual applications, not all two data centers have physical links. For example, Figure 1 There is no direct physical link between Data Center 1 and Data Center 3. Therefore, if a server in Data Center 1 wants to transmit data to a server in Data Center 3, data can be forwarded through Data Center 2. That is, data from a server in Data Center 1 can first be sent to a server in Data Center 2, and then forwarded to a server in Data Center 3 through that server in Data Center 2. In this example, there are essentially two physical links between Data Center 1 and Data Center 3: Physical Link 1 between Data Center 1 and Data Center 2, and Physical Link 2 between Data Center 2 and Data Center 3.
[0043] For example, a user terminal sends a data packet with a destination IP address corresponding to the IP address of service b in data center 3. Assuming that the user terminal is connected to a server in data center 1 based on the location of the user terminal, after the server in data center 1 receives the data packet from the user terminal, it finds that the destination IP address is not its own and is not located in data center 1, but is located in another data center 3. Then, based on the learned forwarding route, the server in data center 2 sends the data packet to a server in data center 2 through physical link 1. Then, based on the forwarding route it has learned, the server in data center 2 sends the data packet to the server in data center 3 to which the above-mentioned destination IP address belongs through physical link 2.
[0044] based on Figure 1 The network architecture of the target network shown in the figure, and the network bandwidth prediction method provided by the embodiment of the present invention are used to predict the bandwidth required by the target network within a preset time period in the future (such as 3 months, 6 months, 1 year, etc.). Specifically, the bandwidth required on each physical link between different data centers in the target network within the preset time period in the future is determined, so that the total bandwidth corresponding to the target network in the preset time period in the future is the sum of the bandwidth required on each physical link.
[0045] The network bandwidth prediction solution provided by the embodiment of the present invention can be executed by an electronic device, which can be a user terminal, a server on the user side, or a server or virtual machine in the cloud.
[0046] The following describes in detail the execution process of the network bandwidth prediction method.
[0047] Figure 2 A flowchart of a network bandwidth prediction method provided by an embodiment of the present invention is shown in FIG. Figure 2 As shown, the method includes the following steps:
[0048] 201. Obtain historical traffic data of multiple applications in a target network within a preset historical time period, wherein the target network includes multiple data centers where multiple applications are deployed, and the historical traffic data is generated by access between servers in different data centers.
[0049] 202. Obtain server resource inventory information of multiple applications in multiple data centers within a preset historical time period, and server resource increment information of multiple applications in multiple data centers within a preset future time period.
[0050] 203. Determine predicted traffic data of multiple applications in the target network within a preset future time period based on the historical traffic data, server resource inventory information, and server resource increment information.
[0051] 204. Determine network bandwidth demand information of the target network within a preset future time period based on the predicted traffic data.
[0052] As can be seen from the examples above, in the embodiments of the present invention, assuming that N applications are running on the target network, it is not required that all N applications be deployed in every data center; generally, only some of these applications are deployed. Furthermore, the same application can be deployed in different data centers. Furthermore, the number of servers deploying a particular application in the same data center can also be one or more.
[0053] The preset historical time period can be customized, such as the past 6 months. As mentioned above, the target network includes several physical links between different data centers. In the embodiment of the present invention, what needs to be determined is the bandwidth demand corresponding to each of the different physical links in the future preset time period (such as the next 6 months). For example, if the time granularity of bandwidth planning is one month, each physical link will determine 6 bandwidth demands, corresponding to the above-mentioned next 6 months. For the same month, the sum of the bandwidth demands corresponding to each physical link is the bandwidth required by the target network as a whole for that month.
[0054] To determine the bandwidth requirements described above, we first need to obtain historical traffic data generated by each application accessing servers in different data centers during a preset historical time period. In this embodiment of the present invention, we primarily focus on data traffic between different data centers, rather than data traffic within a single data center. Furthermore, as noted above, a large number of applications run on the target network. Therefore, the historical traffic data described above includes traffic data corresponding to each application.
[0055] Based on this, obtaining the historical traffic data of multiple applications in the target network within a preset historical time period can be: obtaining the historical traffic data between different data centers of each application within the preset historical time period. The preset historical time period can be divided based on a set time granularity (such as a day), so that the preset historical time period can include multiple historical times (which can correspond to the multiple historical predictions below, each historical time is a time segment, such as a day). Based on this, a historical traffic set between different data centers of each application can be obtained, wherein each historical traffic set includes multiple historical traffic values of the corresponding application between the corresponding two data centers. The two data centers corresponding to a historical traffic value are respectively called data center A and data center B, one of the two data centers corresponds to a source data center of the application, and the other is a destination data center. One of the data centers includes an IP address of the application, and the other data center generally does not include the IP address of the application.
[0056] In addition to obtaining the historical traffic data of multiple applications in the target network within a preset historical time period, in order to determine the network bandwidth demand information of the target network, it is also necessary to obtain the server resource inventory information of multiple applications in multiple data centers within the preset historical time period, as well as the server resource increment information of multiple applications in multiple data centers within the preset future time period.
[0057] As can be seen from the above introduction, an application can be deployed in different data centers, and in a data center, the number of servers deploying the application may be one or more. When the above-mentioned preset historical time period is divided according to the set time granularity to obtain multiple historical times, the server resource inventory information corresponding to each application in each data center at multiple historical times can be obtained from the system that maintains server resources. Among them, the server resource inventory information is information used to describe the resources that already exist in the server. The server resource inventory information includes, for example, information used to describe the specifications of resources such as the number of CPU cores and memory capacity contained in the server, and can even be information describing resource utilization such as CPU utilization.
[0058] Similarly, when the above-mentioned preset future time period is divided according to the same time granularity to obtain multiple future times, the incremental server resource information corresponding to each application in each data center at multiple future times can be obtained from the server resource maintenance system. The incremental server resource information is used to describe the increase or decrease in server resources for each application at each future time, such as the increase or decrease in the number of CPU cores and memory capacity contained in the server. In actual applications, the corresponding maintenance personnel will promptly update the server resource change information of each application at different times in the above-mentioned resource maintenance system, so that the above-mentioned server resource inventory and incremental information can be directly obtained from the resource maintenance system.
[0059] Afterwards, based on the historical traffic data of multiple applications in the preset historical time period, the server resource inventory information and the server resource increment information corresponding to multiple applications in the preset future time period, the predicted traffic data of multiple applications in the preset future time period is determined, so as to determine the network bandwidth demand information of the target network in the preset future time period based on the traffic data prediction results.
[0060] In an optional embodiment, based on the historical traffic data of multiple applications in a preset historical time period, the server resource inventory information, and the server resource increment information corresponding to the multiple applications in a preset future time period, the predicted traffic data of the multiple applications in a preset future time period is determined, which can be implemented as follows:
[0061] Based on the historical traffic data of the target application within a preset historical time period and the server resource inventory information of the target application in multiple data centers, a target mapping relationship reflecting the relationship between the traffic changes of the target application and the changes in server resources is fitted;
[0062] Based on the incremental server resource information of the target application in multiple data centers and the target mapping relationship, predicted traffic data for the target application within a preset future time period is determined. The target application is any one of the multiple applications described above. This prediction process is performed for each application to obtain predicted traffic data for each application within the preset future time period.
[0063] Specifically, assuming that N historical times are divided according to the set time granularity in the historical time period, and M future times are divided according to the time granularity in the future time period, then based on the N historical traffic values corresponding to the target application at the N historical times and the N server resource inventory information corresponding to the target application in each data center, the above-mentioned target mapping relationship is combined. Then, based on the target mapping relationship and the M server resource increment information corresponding to the target application in each data center, the M predicted traffic values corresponding to the target application at the M future times are determined.
[0064] In an optional embodiment, since different applications have different traffic characteristics, different applications can be classified in advance according to a certain set dimension, such as according to whether the time when the traffic peak occurs is within a certain set time range during the day or a certain set time range at night. Thus, when determining the above-mentioned target mapping relationship corresponding to the target application, the traffic feature category corresponding to the target application can be determined first, and then the function model corresponding to the traffic feature category can be determined. Finally, based on the historical traffic data of the target application within a preset historical time period and the server resource inventory information of the target application in multiple data centers, the function model is used to determine the target mapping relationship that reflects the relationship between the traffic changes of the target application and the server resource changes. Among them, the function model can be understood as a certain fitting function, or a certain fitting algorithm.
[0065] Research has found that for a given application, the primary drivers of traffic changes are the increase or decrease in server resources and the reconfiguration of their deployment. Reconfiguration refers to changes in server resources across different data centers. Therefore, when forecasting traffic for a target application in the future, combining the target application's server inventory and incremental capacity from both historical and future time periods can improve the accuracy of the forecast, helping to more accurately determine future bandwidth requirements.
[0066] In addition, it should be noted that the above-mentioned predicted traffic data can be automatically rolled over and updated. Specifically, on the one hand, whenever the maintenance personnel update the new server resource increment information in the server resource maintenance system, the traffic forecast data for the corresponding time period can be predicted based on the new server resource increment information; on the other hand, for example, if the current date is T1, the historical time period is the past 3 months, and the future time period is the next 2 months, then after obtaining the predicted traffic data for the next 2 months based on the above-mentioned prediction process, as time comes to T2, assuming that T2 is a date one month after T1, at this time, this month has become a historical time relative to T2, and the traffic forecast results for each application within one month after T2 can be updated based on the traffic data actually generated by each application within this month (considered as historical traffic data) and the server resource inventory information of each application in each data center within this month, combined with the server resource increment information of each application in each data center within one month after T2.
[0067] In an optional embodiment, the above step 201 can be performed as follows Figure 3 The embodiment shown is implemented.
[0068] Figure 3 A flowchart of a historical traffic data processing process provided by an embodiment of the present invention is as follows: Figure 3 As shown, the following steps may be included:
[0069] 301. Determine multiple groups of IP addresses corresponding to the target application based on multiple IP addresses corresponding to the target application, and use one of the multiple IP addresses as a source IP address or a destination IP address in each group of IP addresses corresponding to the target application.
[0070] 302. Determine multiple historical collection times included in a preset historical time period according to a preset collection time granularity.
[0071] 303. Determine a third historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application, where the third historical traffic set includes multiple historical traffic values corresponding to multiple historical collection times for the corresponding group of IP addresses.
[0072] 304. Determine multiple historical prediction times included in a preset historical time period according to a set prediction time granularity, where the prediction time granularity is greater than a preset collection time granularity.
[0073] 305. Determine the first historical traffic sets corresponding to the multiple groups of IP addresses corresponding to the target application based on the third historical traffic sets corresponding to the multiple groups of IP addresses corresponding to the target application, wherein the multiple historical traffic values contained in each first historical traffic set correspond to multiple historical prediction times.
[0074] 306. Determine multiple second historical traffic sets corresponding to the target application based on the data centers corresponding to the multiple groups of IP addresses, where each second historical traffic set corresponds to a pair of data centers.
[0075] In practical applications, it is first necessary to collect basic data for future traffic prediction in the target network, that is, the historical traffic data generated in the target network within a preset historical time period, and process the initially collected historical traffic data to make it meet the granularity standard of the input required for the prediction process.
[0076] In an optional embodiment, a collection time granularity can be preset, such as 5 minutes, to determine multiple historical collection times within a preset historical time period based on the preset collection time granularity, i.e., each 5-minute segment included. Furthermore, historical traffic values corresponding to a group of IP addresses in each 5-minute period are counted at the IP address granularity.
[0077] In the embodiment of the present invention, the focus is on the IP addresses within the target network, that is, the IP addresses of the intranet, so a group of IP addresses includes a source IP address and a destination IP address allocated within the target network. At the same time, since the embodiment of the present invention focuses on the traffic between different data centers, a group of IP addresses includes source IP addresses and destination IP addresses corresponding to different data centers.
[0078] In addition, it is understandable that in actual applications, the traffic generated in the target network is generated by the user's access to the application in the target network. For example, the user terminal triggers an access request for the target application with IP address IP3 in data center 3. The access request is received by a server in data center 1 near the user terminal. At this time, the source IP and destination IP in the initial access request are the IP address of the user terminal and IP3 respectively. After receiving the access request, the server in data center 1 needs to encapsulate, forward, and perform other transmission processing on the access request. At this time, its own IP address will be added during the encapsulation process. If it is found that there is no direct physical link between data center 3 corresponding to IP3 and data center 1, the server needs to send the encapsulated access request to a server in data center 2 based on the routing table. Afterwards, the server in data center 2 will eventually forward the access request to the destination: the server to which IP3 belongs in data center 3 based on a similar routing forwarding process.
[0079] In the above example, Data Center 2 effectively acts as a relay node, while Data Centers 1 and 3 serve as the source and destination data centers. In this embodiment of the present invention, the source and destination IP addresses contained in a set of IP addresses refer to end-to-end IP addresses. In this example, the source IP address corresponding to the server receiving the access request in Data Center 1, and the destination IP address IP3 in Data Center 3, are used.
[0080] In actual applications, we can collect data packets transmitted between a pair of data centers connected by a physical link, parse the IP addresses contained in them, and based on the forwarding process, we can eventually discover a set of end-to-end IP addresses.
[0081] After initially obtaining the historical traffic values corresponding to each group of IP addresses at multiple historical collection times in the target network, subsequent processing is performed.
[0082] First, it can be aggregated into application-level traffic data. Specifically, an application often corresponds to multiple IP addresses in the target network. Therefore, based on the known correspondence between IP addresses and applications, taking the target application as an example, the multiple IP addresses corresponding to the target application can be determined. Then, from the initially collected historical traffic data, a third historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application is determined. The third historical traffic set includes multiple historical traffic values corresponding to multiple historical collection times for the corresponding group of IP addresses, that is, one historical traffic value for each historical collection time.
[0083] The target application's set of IP addresses includes one of the target application's IP addresses as the source or destination IP address. The source and destination IP addresses in this set correspond to two different data centers within the target network. Based on the known relationship between the IP addresses and data centers, the corresponding data center identifier can be determined.
[0084] To collect more fine-grained historical traffic data, the above-mentioned collection time granularity is generally not set very high, typically at the minute level. However, when subsequently predicting future traffic data based on the collected historical traffic data, a coarser prediction time granularity, such as daily, can be optionally set to reduce computational complexity. Based on this, after obtaining the third historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application, aggregation processing can be performed along the time dimension: from the collection time granularity to the prediction time granularity.
[0085] Specifically, based on the set prediction time granularity (which is larger than the preset collection time granularity), multiple historical prediction times included in the preset historical time period are determined, and then, based on the third historical traffic sets corresponding to the multiple groups of IP addresses corresponding to the target application, the first historical traffic sets corresponding to the multiple groups of IP addresses corresponding to the target application are determined, and the multiple historical traffic values contained in each first historical traffic set correspond to multiple historical prediction times.
[0086] For example, if the third historical traffic set corresponding to a group of IP addresses includes K1 historical traffic values, each corresponding to a 5-minute time granularity, and the prediction time granularity is a day, the historical traffic values corresponding to multiple 5-minute periods within the same day can be aggregated to obtain a single historical traffic value corresponding to that day. Therefore, assuming that the historical time period includes K2 historical prediction times, the first historical traffic set corresponding to this group of IP addresses includes K2 historical traffic values. The above aggregation process, for example, takes the peak value, that is, determines the daily peak value.
[0087] Afterwards, based on the known relationship between IP addresses and data centers, a pair of data centers corresponding to the multiple groups of IP addresses corresponding to the target application can be determined, and aggregation processing can be performed according to the data centers (i.e., end-to-end aggregation processing) to determine multiple second historical traffic sets corresponding to the target application, where each second historical traffic set corresponds to a pair of data centers.
[0088] It is understandable that among the multiple groups of IP addresses corresponding to the target application, there may be several groups of IP addresses corresponding to the same pair of data centers. For example, the source IP in the first group of IP addresses belongs to data center 1, and the destination IP belongs to data center 3. The source IP in the second group of IP addresses also belongs to data center 1, and the destination IP also belongs to data center 3. Therefore, the third historical traffic sets corresponding to the two groups of IP addresses corresponding to the pair of data centers of Data Center 1-Data Center 3 can be aggregated (for example, the historical traffic values corresponding to the same prediction time are added together) to obtain the first historical traffic set corresponding to this pair of data centers.
[0089] Through the above-mentioned historical traffic data collection and processing process, the end-to-end historical traffic set of the predicted time granularity of each application can be obtained, where end-to-end refers to the final source data center and destination data center, excluding relay situations.
[0090] It should be noted that the above embodiments are all described at the application level. In actual applications, historical traffic statistics and future traffic forecasts can also be performed at the application group level, depending on actual needs. For example, if the relevant staff of the cloud service provider is more concerned with the traffic situation of different product lines, and a product line often includes multiple applications, then based on the staff's settings, after obtaining multiple second historical traffic sets corresponding to each application, the second historical traffic sets corresponding to the same pair of data centers for each application in the same application group can be aggregated to obtain a historical traffic set corresponding to each pair of data centers for the application group.
[0091] In order to understand the processing of the above historical traffic data, Figure 4a-4c Example description.
[0092] exist Figure 4a In the figure, the historical traffic values corresponding to different groups of IP addresses (ip1-ip4 in the figure) are shown every 5 minutes.
[0093] exist Figure 4b The diagram illustrates the aggregation process from IP granularity to application granularity. The time granularity shown in the diagram remains unchanged, but it can actually change. That is, the prediction time granularity is larger than the collection time granularity. Assume that ip1 and ip2 correspond to application 1, and ip3 and ip4 correspond to application 2.
[0094] exist Figure 4c The diagram shows the aggregation process towards application groups, where the time granularity is assumed to be daily. It is assumed that Application 1 and Application 2 form a product line, or an application group.
[0095] It should be noted that Figure 4a-4c In the figure, the vertical axis represents the corresponding historical traffic value, and the unit can be Gbps, etc., but the coordinate values in the figure are only for example, and the coordinate values in different figures do not reflect the actual aggregation results.
[0096] like Figure 5 As shown in , after obtaining multiple second historical traffic sets corresponding to the target application based on the aforementioned embodiment, the three pieces of information are combined with the multiple server resource inventory information and multiple server resource increment information corresponding to the target application in multiple data centers, and the above three pieces of information are input into the prediction framework to obtain multiple predicted traffic sets corresponding to the target application. Among them, the time granularity (i.e., time unit) corresponding to the second historical traffic set, server resource inventory information, server resource increment information, and predicted traffic set is the same, which is the above-mentioned prediction time granularity, such as day.
[0097] Among them, the main idea of the prediction framework is: according to the multiple second historical traffic sets corresponding to the target application and the multiple server resource inventory information corresponding to the target application in multiple data centers, determine the target mapping relationship that reflects the relationship between the traffic change of the target application and the server resource change; according to the multiple server resource increment information corresponding to the target application in multiple data centers and the target mapping relationship, determine the multiple predicted traffic sets corresponding to the target application. Among them, the multiple predicted traffic sets correspond to the multiple pairs of data centers corresponding to the target application, and each predicted traffic set includes multiple predicted traffic values corresponding to the target application under the corresponding pair of data centers, and the multiple predicted traffic values correspond to multiple future prediction times. Among them, the multiple pairs of data centers corresponding to the target application are the data center pairs corresponding to the multiple second historical traffic sets in step 306.
[0098] For a simple example, assuming that the preset historical time period includes 90 days, the preset future time period includes 60 days, and assuming that the target application corresponds to two pairs of data centers, the target application has two second historical traffic sets, and each second historical traffic set includes the historical traffic values corresponding to the above-mentioned past 90 days. For each data center in the target network, the target application has the server resource inventory information corresponding to each of the past 90 days. Similarly, for each data center in the target network, the target application has the server resource increment information corresponding to each of the next 60 days. The prediction result is: the predicted traffic sets corresponding to the target application under the above-mentioned two pairs of data centers, wherein each predicted traffic set includes the predicted traffic values corresponding to each of the above-mentioned future 60 days.
[0099] As described above, in an optional embodiment, the traffic feature category corresponding to the target application can be determined, and a function model corresponding to the traffic feature category can be determined. Then, based on multiple second historical traffic sets corresponding to the target application and multiple server resource inventory information corresponding to the target application in multiple data centers, the function model can be used to determine a target mapping relationship that reflects the relationship between the traffic changes of the target application and the server resource changes.
[0100] The following combination Figure 6 The illustrated embodiment introduces the process of performing traffic prediction based on the above prediction framework.
[0101] Figure 6 A flowchart of a process for obtaining predicted traffic data is provided in an embodiment of the present invention, such as Figure 6 As shown, the following steps are included:
[0102] 601. Obtain multiple second historical traffic sets corresponding to a target application, multiple server resource inventory information corresponding to the target application in multiple data centers, and multiple server resource increment information corresponding to the target application in multiple data centers.
[0103] 602. Preprocess the multiple second historical traffic sets corresponding to the target application, where the preprocessing includes abnormal data processing and / or data augmentation processing.
[0104] 603. Determine a function model corresponding to the traffic feature category according to the traffic feature category corresponding to the target application.
[0105] 604. Utilizing the function model, based on multiple second historical traffic sets corresponding to the target application and multiple server resource inventory information corresponding to the target application in multiple data centers, determine a target mapping relationship reflecting the relationship between traffic changes of the target application and server resource changes.
[0106] 605. Determine multiple predicted traffic sets corresponding to the target application based on the multiple server resource increment information corresponding to the target application in the multiple data centers and the target mapping relationship.
[0107] In this embodiment, abnormal data processing is performed on each second historical traffic set, and the peak spikes in the multiple historical traffic values included in the second historical traffic set may be smoothed. In practical applications, these multiple historical traffic values may be daily peak values. Errors may be introduced during the initial data processing, and these errors can be eliminated using a predetermined method.
[0108] Data augmentation is performed on each second historical traffic set to supplement the historical traffic values corresponding to some default historical prediction times. In practical applications, for example, with a prediction time granularity of days, the historical traffic data for some days may be incomplete or even uncollected. In this case, the default historical traffic values are supplemented using some interpolation method.
[0109] Optionally, a second historical traffic set (actually, this second historical traffic set corresponds to a pair of data centers) and multiple server resource inventory information corresponding to the target application in multiple data centers are used as a set of inputs to determine a target mapping relationship between the target application and the corresponding data center. Based on this target mapping relationship, a predicted traffic set corresponding to the pair of data centers is determined. Thus, based on multiple second historical traffic sets, multiple corresponding target mapping relationships are determined, and then multiple predicted traffic sets are obtained based on the multiple target mapping relationships.
[0110] Furthermore, the process of determining the target mapping relationship can actually be understood as a process of continuously optimizing and training the aforementioned function model. For example, a function model is initialized and continuously updated with the input of the second historical traffic set corresponding to the target application and the inventory information of multiple server resources corresponding to the target application in multiple data centers, ultimately resulting in an optimized function model that reflects the target mapping relationship between the target application's traffic changes and server resource changes.
[0111] After obtaining multiple predicted traffic sets, the accuracy of the prediction results can be verified later. Specifically, as time goes by, for example, the above-mentioned future prediction time period includes the next 60 days after the current day, then, for example, when time moves to the next 10 days, the actual traffic values (actual traffic values) that occurred in these 10 days can be counted and compared with the corresponding predicted traffic values by comparing the actual traffic values corresponding to these 10 days to determine the accuracy of the prediction results. If it is found that the actual traffic value is significantly different from the predicted traffic value, the above-mentioned target mapping relationship is re-determined. Afterwards, the above-mentioned multiple predicted traffic sets can be predicted again based on the updated target mapping relationship.
[0112] Optionally, the "bad data" in the input data used to determine the target mapping relationship can be analyzed. If the bad data does not appear stably, the bad data can be deleted or subjected to some specific processing, and a new target mapping relationship can be re-determined based on the updated input data. The input data mainly refers to the historical flow values in multiple second historical flow sets. The bad data can be data that causes a significant change in the target mapping relationship before and after its removal. The specific processing performed on the bad data may include, for example, determining the average of several adjacent set historical flow values and replacing the bad data with the average value.
[0113] Through the above embodiment, the predicted traffic sets corresponding to the target application in its corresponding multiple pairs of data centers are obtained. For each application, the corresponding multiple predicted traffic sets are determined. Subsequently, based on the multiple predicted traffic sets corresponding to the multiple applications, the network bandwidth demand information of the target network within a preset future time period can be determined.
[0114] Optionally, a process for determining the network bandwidth requirement information of the target network within a preset future time period is as follows: Figure 7 As shown, the following steps may be included:
[0115] 701. Determine a physical link corresponding to each pair of data centers based on physical link distribution information of a target network. A physical link refers to a direct communication link between a pair of data centers.
[0116] 702. Determine predicted traffic sets corresponding to the target application on multiple physical links based on multiple predicted traffic sets corresponding to the target application, wherein the multiple physical links correspond to multiple pairs of data centers corresponding to the target application.
[0117] 703. Obtain predicted traffic sets corresponding to multiple applications on a target physical link. The target physical link is any physical link included in the target network.
[0118] 704. For the predicted traffic sets corresponding to the multiple applications on the target physical link, sum the predicted traffic values corresponding to the same future predicted time to determine multiple total predicted traffic values corresponding to the target physical link.
[0119] 705. Determine bandwidth reuse ratios corresponding to multiple applications on the target physical link, and determine a network bandwidth requirement value corresponding to the target physical link based on multiple total predicted traffic values corresponding to the target physical link and the bandwidth reuse ratios.
[0120] 706. Determine the network bandwidth requirement value of the target network within a preset future time period according to the network bandwidth requirement value corresponding to each physical link in the target network.
[0121] In this embodiment, the physical link distribution information of the target network is known, in which the physical link information between different data centers in the target network is recorded. Figure 1 As can be seen from the example in , some data centers in the target network do not have physical links between them.
[0122] Since the multiple predicted traffic sets corresponding to the target application correspond to the multiple pairs of data centers corresponding to the target application, based on the above physical link distribution information, the physical links between each pair of data centers in these multiple pairs of data centers can be known.
[0123] Combine Figure 8 For example, assume that the first data center pair corresponding to target application a is Data Center 1 and Data Center 3, and the second data center pair is Data Center 2 and Data Center 3. Physical link 2 exists between Data Center 2 and Data Center 3, but there is no direct physical link between Data Center 1 and Data Center 3. Based on the physical link distribution information, it is determined that Data Center 1 can connect to Data Center 3 via Physical Link 1 between Data Center 1 and Data Center 2, and via Physical Link 2 between Data Center 2 and Data Center 3.
[0124] In addition, assuming that the target application a includes a predicted traffic value Fa11 corresponding to the future predicted time T1 in the predicted traffic set corresponding to the first pair of data centers, and includes a predicted traffic value Fa21 corresponding to the future predicted time T1 in the predicted traffic set corresponding to the second pair of data centers, then Figure 8As shown, since the first data center pair includes physical link 1 and physical link 2, the predicted traffic value Fa11 is allocated to physical link 1 and physical link 2 respectively: the predicted traffic values of physical link 1 and physical link 2 corresponding to the future predicted time T1 are added by Fa11. Since the second data center pair only includes physical link 2, the predicted traffic value Fa21 is allocated to physical link 2: the predicted traffic value of physical link 2 corresponding to the future predicted time T1 is added by Fa21.
[0125] Through the above process, the predicted traffic sets corresponding to the target application on multiple physical links can be determined based on the multiple predicted traffic sets corresponding to the target application, wherein the multiple physical links correspond to the multiple pairs of data centers corresponding to the target application. For example, in the above example scenario, for target application a: the predicted traffic value corresponding to the future predicted time T1 on physical link 2 is: Fa11+Fa21. Similar processing is performed on other future predicted times to obtain the predicted traffic set corresponding to target application a on physical link 2. Similarly, the predicted traffic set corresponding to target application a on physical link 1 is obtained.
[0126] Through a similar processing process, for each predicted traffic set corresponding to each application i in the corresponding multiple pairs of data centers, the predicted traffic sets corresponding to the application i on the corresponding multiple physical links are determined.
[0127] Based on this, a predicted traffic set corresponding to each of the multiple applications on the target physical link can be obtained, where the target physical link is any one of the physical links included in the target network.
[0128] For example, in Figure 8 For example, for physical link 1, physical link 2, application a, and application b, the predicted traffic for application a on physical link 1 is concentrated, and the predicted traffic value corresponding to the future prediction time T1 is: Fa11. The predicted traffic for application a on physical link 2 is concentrated, and the predicted traffic value corresponding to the future prediction time T1 is: Fa11 + Fa21. The predicted traffic for application b on physical link 1 is concentrated, and the predicted traffic value corresponding to the future prediction time T1 is: Fb11. The predicted traffic for application b on physical link 2 is concentrated, and the predicted traffic value corresponding to the future prediction time T1 is: Fb21.
[0129] Afterwards, the predicted traffic sets corresponding to the multiple applications on the target physical link are summed up with the predicted traffic values corresponding to the same future predicted time to determine the corresponding multiple total predicted traffic values on the target physical link.
[0130] Continuing with the above example, for the predicted traffic concentration corresponding to application a and application b on physical link 1, the predicted traffic value Fa11 and the predicted traffic value Fb11 corresponding to the future prediction time T1 are added together to obtain the total predicted traffic value for physical link 1 corresponding to the future prediction time T1: Fa11 + Fb11. For the predicted traffic concentration corresponding to application a and application b on physical link 2, the predicted traffic values Fa11 + Fa21 and the predicted traffic value Fb21 corresponding to the future prediction time T1 are added together to obtain the total predicted traffic value for physical link 2 corresponding to the future prediction time T1: Fa11 + Fa21 + Fb21. Similarly, the total predicted traffic values corresponding to other future prediction times are determined.
[0131] Based on the above process, multiple total predicted traffic values corresponding to each physical link can be obtained. These multiple total predicted traffic values correspond one-to-one to multiple future predicted times.
[0132] Then, bandwidth reuse ratios corresponding to multiple applications on the target physical link are determined, and a network bandwidth requirement value corresponding to the target physical link is determined according to multiple total predicted traffic values corresponding to the target physical link and the bandwidth reuse ratios.
[0133] Optionally, the multiple total predicted traffic values corresponding to the target physical link are multiplied by the bandwidth reuse ratio to obtain multiple corresponding bandwidth requirement values. These multiple bandwidth requirement values correspond one-to-one to the multiple future predicted times. In this way, the network bandwidth required for the target physical link at the multiple future predicted times can be obtained.
[0134] Afterwards, the network bandwidth requirement values corresponding to the same future prediction time on all physical links are summed up to obtain the total network bandwidth requirement value of the target network at the future prediction time.
[0135] A physical link can transmit traffic from different applications. In other words, the network bandwidth on a physical link is shared by multiple different applications. The bandwidth reuse ratio for multiple applications on a target physical link can be determined based on the historical traffic data for multiple applications on the target physical link within a set historical time period. For example, taking the past 30 days as an example, the historical traffic values for multiple applications on the target physical link over the past 30 days can be determined. Based on the ratio of the historical traffic values for the multiple applications, the bandwidth reuse ratio for the multiple applications on the target physical link can be determined.
[0136] Taking the future prediction time granularity as days, in actual applications, the planning time granularity of network bandwidth can be larger, usually months. Therefore, in an optional embodiment, in the process of determining the network bandwidth demand information corresponding to each of the multiple physical links based on the predicted traffic sets corresponding to the target applications on multiple physical links, the multiple bandwidth planning times included in the preset future time period can be determined according to the set bandwidth planning time granularity, and the wide planning time granularity is larger than the prediction time granularity; according to the multiple bandwidth planning times, the predicted traffic sets corresponding to the target applications on the multiple physical links are aggregated to determine the aggregated predicted traffic sets corresponding to the target applications on the multiple physical links; thereafter, according to the aggregated predicted traffic sets corresponding to the target applications on the multiple physical links, the network bandwidth demand information corresponding to the multiple physical links is determined.
[0137] Among them, a plurality of predicted traffic values in the predicted traffic set corresponding to the target application on any one of the physical links are aggregated according to a plurality of bandwidth planning times to obtain an aggregated predicted traffic set corresponding to the target application on the said any one of the physical links.
[0138] For example, the above aggregation processing process is as follows: assuming that the preset future time period includes 90 days and the bandwidth planning time granularity is monthly, then the preset future time period includes 3 months. Based on this, the predicted traffic set corresponding to the target application a on physical link 1 includes the predicted traffic values corresponding to each of these 90 days. According to the correspondence between days and months, multiple predicted traffic values belonging to the same month are aggregated to obtain the aggregated predicted traffic value corresponding to this month. In this way, an aggregated predicted traffic set consisting of 3 aggregated predicted traffic values corresponding to 3 months can be obtained: the aggregated predicted traffic set corresponding to the target application a on physical link 1.
[0139] After obtaining the aggregated predicted traffic set corresponding to each application on each physical link through the above process, combined with the multiplexing ratios corresponding to multiple applications on the same physical link, the corresponding network bandwidth requirement value on each physical link is determined.
[0140] In an optional embodiment, the above-mentioned prediction time granularity is daily, and the historical flow value and predicted flow value corresponding to each historical prediction time and future prediction time can be monthly peak values. After obtaining the predicted flow value, the monthly peak value can be converted to a 98th peak value. Specifically, the conversion can be completed based on the known correspondence between the 98th peak value and the monthly peak value. In addition, after obtaining the predicted flow value, it can also be manually adjusted.
[0141] Because each application running on the target network has different service levels, such as autonomous driving services and live streaming services, which have higher requirements for data transmission latency and reliability, even different IP addresses corresponding to the same application may have different service levels. The data traffic corresponding to different service levels has different bandwidth requirements. For example, for the same amount of data traffic, a higher service level requires more bandwidth to meet the service level requirements.
[0142] Based on this, in an optional embodiment, the multiple groups of IP addresses corresponding to the target application above can be associated with a service level identifier, wherein the service level identifier associated with a group of IP addresses is determined according to the service level corresponding to the IP address corresponding to the target application contained therein.
[0143] Based on this, the multiple predicted traffic sets corresponding to the target application output include multiple predicted traffic sets corresponding to different service level identifiers. Assuming there are two service levels S1 and S2, it is possible to predict and output multiple predicted traffic sets corresponding to service level S1 for the target application and multiple predicted traffic sets corresponding to service level S2 for the target application.
[0144] The following briefly describes the process of obtaining multiple predicted traffic sets corresponding to a target application at a certain service level:
[0145] Determine first historical traffic sets corresponding to each of the multiple groups of IP addresses corresponding to the target application, where multiple historical traffic values contained in each first historical traffic set correspond to multiple historical prediction times;
[0146] determining, based on the service level identifiers associated with the plurality of groups of IP addresses corresponding to the target application, a first historical traffic set corresponding to the target service level identifier, where the target service level identifier is any one of the service level identifiers associated with the plurality of groups of IP addresses;
[0147] Determining, based on the data centers corresponding to the multiple groups of IP addresses, a plurality of second historical traffic sets corresponding to the target application under the target service level identifier, each second historical traffic set corresponding to a pair of data centers;
[0148] Based on the multiple second historical traffic sets corresponding to the target application under the target service level identifier, the multiple server resource inventory information corresponding to the target application in multiple data centers, and the multiple server resource increment information corresponding to the target application in multiple data centers, the multiple predicted traffic sets corresponding to the target application under the target service level identifier are determined, and each predicted traffic set corresponds to a pair of data centers.
[0149] Afterwards, based on the multiple predicted traffic sets corresponding to the target application under the target service level identifier, the predicted traffic sets corresponding to the target application on multiple physical links under the target service level identifier are determined, wherein the multiple physical links correspond to the multiple pairs of data centers corresponding to the target application.
[0150] Afterwards, the predicted traffic sets corresponding to the multiple applications on the target physical link under the target service level identifier can be obtained, that is, the predicted traffic sets corresponding to the multiple applications on the target physical link and associated with the target service level identifier are obtained.
[0151] Afterwards, if Figure 9 As shown, the network bandwidth determination process includes the following steps:
[0152] 901. Obtain predicted traffic sets associated with target service level identifiers corresponding to multiple applications on a target physical link.
[0153] 902. For multiple predicted traffic sets corresponding to target service level identifiers of respective applications on the target physical link, the predicted traffic values corresponding to the same future predicted time are summed up to determine multiple total predicted traffic values corresponding to the target service level identifiers on the target physical link. The target service level identifier is any one of the preset multiple service level identifiers.
[0154] 903. Determine multiple bandwidth reuse ratios corresponding to multiple applications on the target physical link, where the multiple bandwidth reuse ratios correspond to the multiple service level identifiers.
[0155] 904. Determine a network bandwidth requirement value corresponding to the target physical link according to a plurality of total predicted traffic values corresponding to the plurality of service level identifiers on the target physical link and the plurality of bandwidth reuse ratios.
[0156] 905. Determine a network bandwidth requirement value of the target network within a preset future time period according to the network bandwidth requirement value corresponding to each physical link in the target network.
[0157] It is assumed that the multiple service levels include a first service level and a second service level.
[0158] In step 901, for the first service level, predicted traffic sets corresponding to multiple applications on the target physical link are obtained. For the second service level, predicted traffic sets corresponding to multiple applications on the target physical link are obtained. Each predicted traffic set includes N predicted traffic values corresponding to N future predicted times: T1, T2, ..., TN.
[0159] Afterwards, for the first service level, the predicted traffic values in the multiple predicted traffic sets corresponding to the first service level applied on the target physical link are summed up with the predicted traffic values corresponding to the same future predicted time to obtain N total predicted traffic values corresponding to the first service level on the target physical link.
[0160] Similarly, similar processing is performed for the second service level to obtain N total predicted flow values corresponding to the second service level on the target physical link.
[0161] A first multiplexing ratio corresponding to a first service level for multiple applications on a target physical link, and a second multiplexing ratio corresponding to a second service level for multiple applications on the target physical link are determined. N total predicted traffic values corresponding to the first service level on the target physical link are then multiplied by the first multiplexing ratio to obtain N bandwidth requirement values corresponding to the first service level on the target physical link; and N total predicted traffic values corresponding to the second service level on the target physical link are multiplied by the second multiplexing ratio to obtain N bandwidth requirement values corresponding to the second service level on the target physical link.
[0162] Then, based on the N bandwidth demand values corresponding to the first service level on the target physical link and the N bandwidth demand values corresponding to the second service level on the target physical link, the N bandwidth demand values corresponding to the target physical link are ultimately determined. Optionally, taking time T1 as an example, assuming that the bandwidth demand value corresponding to time T1 among the N bandwidth demand values corresponding to the first service level on the target physical link is D1, and the bandwidth demand value corresponding to time T1 among the N bandwidth demand values corresponding to the second service level on the target physical link is D2, the final bandwidth demand value of the target physical link corresponding to time T1 is: max(D1, D2).
[0163] For ease of understanding, combined Figure 10 The above bandwidth determination process is illustrated by way of example.
[0164] exist Figure 10 In this example, we use two applications and two service levels: Application A and Application B. The two service levels are called Gold, Silver, and Bronze, respectively. We also assume that the future time period includes N predicted traffic values: N monthly peak values, or N 98-peak values after 98-peak conversion.
[0165] like Figure 10As shown in , after obtaining the N 98 peak values corresponding to application a on the target physical link at the gold and silver levels, the N 98 peak values corresponding to application b on the target physical link at the gold and silver levels, and the N 98 peak values corresponding to application a on the target physical link at the copper level, and the N 98 peak values corresponding to application b on the target physical link at the copper level, the N 98 peak values corresponding to application a on the target physical link at the gold and silver levels are respectively multiplied by the first multiplexing ratio, and the N 98 peak values corresponding to application b on the target physical link at the gold and silver levels are respectively multiplied by the first multiplexing ratio. Finally, the network bandwidth requirement value D_GoldSilver corresponding to the target physical link at the gold and silver levels is obtained according to the following formula:
[0166] D_gold and silver = sum(98 peak values converted by the first multiplexing ratio corresponding to the target future prediction time), where sum() is a summation operator. The target future prediction time is any one of the N future prediction times corresponding to the N 98 peak values.
[0167] Similarly, the N 98 peak values corresponding to application a on the target physical link at the copper level are multiplied by the second multiplexing ratio, and the N 98 peak values corresponding to application b on the target physical link at the copper level are multiplied by the second multiplexing ratio. Finally, the network bandwidth requirement value D_copper corresponding to the target physical link at the copper level is obtained according to the following formula:
[0168] D_copper=sum (98 peak values converted by the second multiplexing ratio corresponding to the target future prediction time).
[0169] The first multiplexing ratio and the second multiplexing ratio are determined based on historical traffic values.
[0170] Afterwards, based on the set water level coefficient (for example, 0.3, a set value less than 1 is taken), D_copper is compared with (D_gold and silver / water level coefficient)*(1-water level coefficient).
[0171] If D_Copper > (D_Gold and Silver / Water Level Coefficient) * (1-Water Level Coefficient), then the bandwidth requirement on the target physical link at the target future forecast time is: D_Gold and Silver / Water Level Coefficient;
[0172] If D_Copper < (D_Gold and Silver / Water Level Coefficient) * (1-Water Level Coefficient), then the bandwidth requirement on the target physical link at the target future forecast time is: D_Gold and Silver + D_Copper.
[0173] In addition, in actual applications, assuming that the minimum unit of bandwidth allocation is 400 GB, the bandwidth requirement value on the target physical link is rounded up according to the allocation unit.
[0174] For example, if the calculated bandwidth demand value on the target physical link at the target future prediction time is less than 400GB, the actual bandwidth demand value planned for the target physical link is 400GB; if the calculated bandwidth demand value on the target physical link at the target future prediction time is 600GB, the actual bandwidth demand value planned for the target physical link is 800GB.
[0175] The following describes in detail one or more embodiments of the network bandwidth prediction device of the present invention. Those skilled in the art will appreciate that these devices can be constructed using commercially available hardware components and configured according to the steps taught in this solution.
[0176] Figure 11 A schematic diagram of the structure of a network bandwidth prediction device provided by an embodiment of the present invention is shown in FIG. Figure 11 As shown, the device includes: a traffic acquisition module 11, a resource acquisition module 12, a traffic prediction module 13, and a bandwidth determination module 14.
[0177] The traffic acquisition module 11 is used to obtain historical traffic data of multiple applications in the target network within a preset historical time period, wherein the target network includes multiple data centers where the multiple applications are deployed, and the historical traffic data is generated by data transmission between servers in different data centers.
[0178] The resource acquisition module 12 is used to obtain the server resource inventory information of the multiple applications in the multiple data centers within the preset historical time period, and the server resource increment information of the multiple applications in the multiple data centers within the preset future time period.
[0179] The traffic prediction module 13 is configured to determine the predicted traffic data of the multiple applications in the target network within the preset future time period based on the historical traffic data, the server resource inventory information, and the server resource increment information.
[0180] The bandwidth determination module 14 is configured to determine the network bandwidth requirement information of the target network within the preset future time period according to the predicted traffic data.
[0181] Optionally, the traffic acquisition module 11 is specifically used to: determine the multiple groups of IP addresses corresponding to the target application based on the multiple IP addresses corresponding to the target application, the target application is any one of the multiple applications, and each group of IP addresses corresponding to the target application uses one of the multiple IP addresses as the source IP address or the destination IP address; determine the multiple historical prediction times included in the preset historical time period based on the set prediction time granularity; determine the first historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application, the first historical traffic set including multiple historical traffic values corresponding to the multiple historical prediction times of a corresponding group of IP addresses; determine the multiple second historical traffic sets corresponding to the target application based on the data centers corresponding to the multiple groups of IP addresses, each second historical traffic set corresponding to a pair of data centers.
[0182] Optionally, the traffic acquisition module 11 is further used to: determine multiple historical collection times included in a preset historical time period based on a preset collection time granularity, and the predicted time granularity is greater than the preset collection time granularity; determine a third historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application, and the third historical traffic set includes multiple historical traffic values corresponding to the multiple historical collection times of a corresponding group of IP addresses; determine a first historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application based on the third historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application.
[0183] Optionally, the resource acquisition module 12 is specifically used to: obtain multiple server resource inventory information corresponding to the target application in the multiple data centers, and the multiple server resource inventory information corresponds to the multiple historical prediction times; determine the multiple future prediction times included in the preset future time period according to the prediction time granularity; obtain multiple server resource incremental information corresponding to the target application in the multiple data centers, and the multiple server resource incremental information corresponds to the multiple future prediction times.
[0184] Optionally, the traffic prediction module 13 is specifically used to: determine a target mapping relationship reflecting the relationship between the traffic change of the target application and the server resource change based on multiple second historical traffic sets corresponding to the target application and multiple server resource inventory information corresponding to the target application in the multiple data centers; determine multiple predicted traffic sets corresponding to the target application based on multiple server resource increment information corresponding to the target application in the multiple data centers and the target mapping relationship, the multiple predicted traffic sets corresponding to the target application correspond to multiple pairs of data centers corresponding to the target application, each of the predicted traffic sets includes multiple predicted traffic values corresponding to the target application under the corresponding pair of data centers, and the multiple predicted traffic values correspond to the multiple future prediction times.
[0185] Optionally, in the process of determining the target mapping relationship reflecting the relationship between the traffic changes of the target application and the changes in server resources, the traffic prediction module 13 is specifically used to: determine the traffic feature category corresponding to the target application; determine the function model corresponding to the traffic feature category; and determine the target mapping relationship reflecting the relationship between the traffic changes of the target application and the changes in server resources using the function model based on multiple second historical traffic sets corresponding to the target application and multiple server resource inventory information corresponding to the target application in the multiple data centers.
[0186] Optionally, the bandwidth determination module 14 is specifically used to: determine the physical link corresponding to each pair of data centers based on the physical link distribution information of the target network, where the physical link refers to a direct communication link between a pair of data centers; determine the predicted traffic sets corresponding to the target application on multiple physical links based on the multiple predicted traffic sets corresponding to the target application, wherein the multiple physical links correspond to the multiple pairs of data centers corresponding to the target application; and determine the network bandwidth requirement information corresponding to each of the multiple physical links based on the predicted traffic sets corresponding to the target application on the multiple physical links.
[0187] Optionally, in the process of determining the network bandwidth requirement information corresponding to each of the multiple physical links according to the predicted traffic sets corresponding to each of the target applications on the multiple physical links, the bandwidth determination module 14 is specifically configured to:
[0188] According to the set bandwidth planning time granularity, multiple bandwidth planning times included in the preset future time period are determined, and the wide planning time granularity is larger than the prediction time granularity; according to the multiple bandwidth planning times, predicted traffic values of the predicted traffic sets corresponding to the target application on multiple physical links are aggregated to determine the aggregated predicted traffic sets corresponding to the target application on the multiple physical links; wherein, the multiple predicted traffic values in the predicted traffic set corresponding to any one of the physical links of the target application are aggregated according to the multiple bandwidth planning times to obtain the aggregated predicted traffic set corresponding to the target application on any one of the physical links; according to the aggregated predicted traffic sets corresponding to the target application on the multiple physical links, the network bandwidth demand information corresponding to each of the multiple physical links is determined.
[0189] Optionally, in the process of determining the network bandwidth requirement information corresponding to each of the multiple physical links based on the predicted traffic sets corresponding to each of the target applications on the multiple physical links, the bandwidth determination module 14 is specifically used to: obtain the predicted traffic sets corresponding to each of the multiple applications on the target physical link, where the target physical link is any one of the physical links included in the target network; perform summing processing on the predicted traffic values corresponding to the same future predicted time for the predicted traffic sets corresponding to each of the multiple applications on the target physical link to determine the multiple total predicted traffic values corresponding to the target physical link; determine the bandwidth reuse ratio corresponding to the multiple applications on the target physical link; and determine the network bandwidth requirement value corresponding to the target physical link based on the multiple total predicted traffic values corresponding to the target physical link and the bandwidth reuse ratio.
[0190] Optionally, the multiple groups of IP addresses corresponding to the target application are associated with service level identifiers, wherein the service level identifier associated with a group of IP addresses is determined based on the service level corresponding to the IP addresses corresponding to the target application. Based on this, the multiple predicted traffic sets corresponding to the target application include multiple predicted traffic sets corresponding to different service level identifiers. Thus, in the process of determining the network bandwidth demand information corresponding to each of the multiple physical links based on the predicted traffic sets corresponding to each of the target applications on the multiple physical links, optionally, the bandwidth determination module 14 is specifically used to: obtain the predicted traffic sets associated with the target service level identifier corresponding to each of the multiple applications on the target physical link; perform summing processing on the predicted traffic sets associated with the target service level identifier corresponding to each of the multiple applications on the target physical link, to determine a plurality of total predicted traffic values corresponding to the target service level identifier on the target physical link, wherein the target service level identifier is any one of a plurality of preset service level identifiers; determine a plurality of bandwidth reuse ratios corresponding to the plurality of applications on the target physical link, wherein the plurality of bandwidth reuse ratios correspond to the plurality of service level identifiers; determine the network bandwidth demand value corresponding to the target physical link based on the plurality of total predicted traffic values and the plurality of bandwidth reuse ratios corresponding to the plurality of service level identifiers on the target physical link.
[0191] Figure 11 The device shown can execute the steps in the aforementioned embodiments. For detailed execution process and technical effects, please refer to the description in the aforementioned embodiments and will not be repeated here.
[0192] In one possible design, the above Figure 11 The structure of the network bandwidth prediction device shown can be implemented as an electronic device. Figure 12 As shown, the electronic device may include: a processor 21, a memory 22, and a communication interface 23. The memory 22 stores executable code, which, when executed by the processor 21, enables the processor 21 to at least implement the network bandwidth prediction method provided in the aforementioned embodiment.
[0193] In addition, an embodiment of the present invention provides a non-transitory machine-readable storage medium, on which executable code is stored. When the executable code is executed by a processor of an electronic device, the processor can at least implement the network bandwidth prediction method provided in the aforementioned embodiment.
[0194] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Those skilled in the art can understand and implement the present invention without inventive effort.
[0195] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by adding a necessary general hardware platform, and of course can also be implemented by a combination of hardware and software. Based on this understanding, the above technical solution, or the part that contributes to the prior art, can be embodied in the form of a computer product. The present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0196] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims
1. A network bandwidth prediction method, characterized in that: include: Determining, based on a plurality of IP addresses corresponding to a target application in a target network, a plurality of groups of IP addresses corresponding to the target application, wherein the target network includes a plurality of data centers in which the plurality of applications are deployed, the target application is any one of the plurality of applications, and each group of IP addresses corresponding to the target application uses one of the plurality of IP addresses as a source IP address or a destination IP address; Determine a first historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application, where the first historical traffic set includes historical traffic values of a corresponding group of IP addresses corresponding to a preset historical time period; Determining, based on the data centers corresponding to the multiple groups of IP addresses, a plurality of second historical traffic sets corresponding to the target application, each second historical traffic set corresponding to a pair of data centers; Determining, based on the first historical traffic set and the plurality of second historical traffic sets corresponding to the target application, historical traffic data of the plurality of applications within the preset historical time period, the historical traffic data being generated by data transmission between servers in different data centers; Obtaining server resource inventory information of the multiple applications in the multiple data centers within the preset historical time period, and server resource increment information of the multiple applications in the multiple data centers within a preset future time period; Determining predicted traffic data of the multiple applications in the target network within the preset future time period based on the historical traffic data, the server resource inventory information, and the server resource increment information; Determine network bandwidth demand information of the target network within the preset future time period based on the predicted traffic data.
2. The method according to claim 1, characterized in that The determining of the first historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application includes: Determining, according to the set prediction time granularity, a plurality of historical prediction times included in the preset historical time period; Determine a first historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application, wherein the first historical traffic set includes multiple historical traffic values corresponding to the multiple historical prediction times of the corresponding group of IP addresses.
3. The method according to claim 2, characterized in that The method further comprises: Determining, according to a preset collection time granularity, a plurality of historical collection times included in a preset historical time period, wherein the predicted time granularity is greater than the preset collection time granularity; Determining a third historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application, the third historical traffic set including multiple historical traffic values corresponding to the multiple historical collection times for the corresponding group of IP addresses; The determining of the first historical traffic set corresponding to each of the multiple groups of IP addresses corresponding to the target application includes: According to the third historical traffic sets respectively corresponding to the multiple groups of IP addresses corresponding to the target application, the first historical traffic sets respectively corresponding to the multiple groups of IP addresses corresponding to the target application are determined.
4. The method according to claim 2, characterized in that The obtaining of the server resource inventory information of the multiple applications in the multiple data centers within the preset historical time period and the server resource increment information of the multiple applications in the multiple data centers within the preset future time period includes: Acquire a plurality of server resource inventory information corresponding to the target application in the plurality of data centers, wherein the plurality of server resource inventory information corresponds to the plurality of historical prediction times; Determining, according to the prediction time granularity, a plurality of future prediction times included in the preset future time period; A plurality of server resource increment information corresponding to the target application in the plurality of data centers is obtained, where the plurality of server resource increment information corresponds to the plurality of future prediction times.
5. The method according to claim 4, characterized in that The determining, based on the historical traffic data, the server resource inventory information, and the server resource increment information, predicted traffic data of the multiple applications in the target network within the preset future time period includes: Determining a target mapping relationship reflecting a relationship between a traffic change of the target application and a server resource change according to the plurality of second historical traffic sets corresponding to the target application and a plurality of server resource inventory information corresponding to the target application in the plurality of data centers; Based on the multiple server resource increment information corresponding to the target application in the multiple data centers and the target mapping relationship, multiple predicted traffic sets corresponding to the target application are determined. The multiple predicted traffic sets correspond to the multiple pairs of data centers corresponding to the target application. Each of the predicted traffic sets includes multiple predicted traffic values corresponding to the target application under the corresponding pair of data centers. The multiple predicted traffic values correspond to the multiple future prediction times.
6. The method according to claim 5, characterized in that The determining of a target mapping relationship reflecting a relationship between a traffic change of the target application and a change in server resources includes: Determine the traffic characteristic category corresponding to the target application; Determining a function model corresponding to the traffic feature category; Based on the multiple second historical traffic sets corresponding to the target application and the multiple server resource inventory information corresponding to the target application in the multiple data centers, the function model is used to determine the target mapping relationship that reflects the relationship between the traffic changes of the target application and the server resource changes.
7. The method according to claim 5, characterized in that Determining the network bandwidth requirement information of the target network within the preset future time period based on the predicted traffic data includes: Determining, based on the physical link distribution information of the target network, a physical link corresponding to each pair of data centers, wherein the physical link refers to a direct communication link between a pair of data centers; Determining predicted traffic sets corresponding to the target application on multiple physical links, respectively, based on the multiple predicted traffic sets corresponding to the target application, wherein the multiple physical links correspond to multiple pairs of data centers corresponding to the target application; According to the predicted traffic sets corresponding to the target application on the multiple physical links, the network bandwidth requirement information corresponding to the multiple physical links is determined.
8. The method according to claim 7, characterized in that The determining, based on the predicted traffic sets corresponding to the target application on the multiple physical links, the network bandwidth requirement information corresponding to each of the multiple physical links includes: Determining, according to the set bandwidth planning time granularity, a plurality of bandwidth planning times included in the preset future time period, wherein the wide planning time granularity is greater than the predicted time granularity; According to the multiple bandwidth planning times, predicted traffic sets corresponding to the target application on the multiple physical links are aggregated to determine the aggregated predicted traffic sets corresponding to the target application on the multiple physical links; wherein the multiple predicted traffic values in the predicted traffic set corresponding to the target application on any one of the physical links are aggregated according to the multiple bandwidth planning times to obtain the aggregated predicted traffic set corresponding to the target application on the any one of the physical links; According to the aggregated predicted traffic sets corresponding to the target application on the multiple physical links, the network bandwidth requirement information corresponding to the multiple physical links is determined.
9. The method according to claim 7, characterized in that The determining, based on the predicted traffic sets corresponding to the target application on the multiple physical links, the network bandwidth requirement information corresponding to each of the multiple physical links includes: Obtaining predicted traffic sets corresponding to the multiple applications on a target physical link, where the target physical link is any one of the physical links included in the target network; For the predicted traffic sets corresponding to the multiple applications on the target physical link, summing the predicted traffic values corresponding to the same future predicted time to determine a plurality of total predicted traffic values corresponding to the target physical link; Determining bandwidth reuse ratios corresponding to the multiple applications on the target physical link; According to the multiple total predicted traffic values corresponding to the target physical link and the bandwidth reuse ratio, a network bandwidth requirement value corresponding to the target physical link is determined, and the network bandwidth requirement value is used to determine the network bandwidth requirement information.
10. The method according to claim 9, characterized in that The plurality of groups of IP addresses corresponding to the target application are associated with service level identifiers, wherein the service level identifier associated with a group of IP addresses is determined according to the service level corresponding to the IP addresses corresponding to the target application contained therein; The multiple predicted traffic sets corresponding to the target application include multiple predicted traffic sets corresponding to different service level identifiers; The determining, based on the predicted traffic sets corresponding to the target application on the multiple physical links, the network bandwidth requirement information corresponding to each of the multiple physical links includes: Obtaining predicted traffic sets associated with target service level identifiers corresponding to the multiple applications on the target physical link; performing summation processing on the predicted flow sets associated with the target service level identifiers for the multiple applications on the target physical link at the same future prediction time to determine a plurality of total predicted flow values corresponding to the target service level identifiers on the target physical link, where the target service level identifier is any one of a plurality of preset service level identifiers; Determining a plurality of bandwidth reuse ratios corresponding to the plurality of applications on the target physical link, the plurality of bandwidth reuse ratios corresponding to the plurality of service level identifiers; The network bandwidth requirement value corresponding to the target physical link is determined according to the multiple total predicted traffic values corresponding to the multiple service level identifiers on the target physical link and the multiple bandwidth reuse ratios.
11. An electronic device, characterized in that: include: A memory, a processor, and a communication interface; wherein the memory stores executable code, and when the executable code is executed by the processor, the processor executes the network bandwidth prediction method according to any one of claims 1 to 10.
12. A non-transitory machine-readable storage medium, characterized in that The non-transitory machine-readable storage medium stores executable code, and when the executable code is executed by a processor of an electronic device, the processor is caused to execute the network bandwidth prediction method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Bandwidth allocation method, device, data center, and storage medium
CN109510715A
Method and device for determining network bandwidth and electronic equipment
CN114338429A