Bandwidth determination method, device, electronic device, and storage medium
By considering the network relay circuit acceptance capability in the bandwidth determination method of POP points, the congestion problem caused by the network relay circuit acceptance capability in the prior art is solved, and more accurate and effective bandwidth management is achieved, and user experience is improved.
Patent Information
- Application Number
- CN202111547067.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-16
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2041-12-16
AI Technical Summary
The prior art does not consider the ability of network relay circuits when evaluating the available bandwidth of POP points, resulting in possible congestion of network relay circuits and affecting user service quality.
By obtaining the current available bandwidth of the source POP, combining the traffic matrix splitting and superimposing it on the circuit between the source POP and the destination POP, considering the acceptance capability of the network relay circuit, the target available bandwidth is determined.
Improve the accuracy and effectiveness of available bandwidth, avoid network relay congestion, ensure user service quality, and improve user experience.
Smart Images

Figure CN116266813B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technologies, and in particular to a bandwidth determination method, device, electronic device, and storage medium. Background Art
[0002] With the continuous growth in the number of broadband users and the continuous improvement of terminal intelligence, the types of services carried by operator networks are constantly increasing, and users' demands for access bandwidth, service quality and other aspects of operator networks are increasing.
[0003] In related technologies, when evaluating the available bandwidth of a POP (point of presence), operators primarily consider the idle access ports of each router device at the POP, summing the bandwidth of these ports to determine the POP's available access bandwidth. Because this technology fails to consider the capacity of network relay circuits, it can lead to certain issues. For example, excessive POP access traffic can cause congestion in the network relay circuits, compromising user service quality and reducing the user experience.
[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in the field. Summary of the Invention
[0005] The present disclosure aims to provide a bandwidth determination method, terminal device, electronic device, and storage medium. This method considers the connection capacity of network relay circuits when determining available bandwidth, thereby improving the accuracy and effectiveness of available bandwidth, avoiding network relay congestion during actual application, ensuring user service quality, and thus improving user experience.
[0006] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by practice of the present disclosure.
[0007] An embodiment of the present disclosure provides a bandwidth determination method, including: obtaining a source point of presence (POP) and determining the current available bandwidth of the source POP; obtaining a traffic matrix between the source POP and each destination POP; splitting the current available bandwidth of the source POP according to the traffic matrix; superimposing the split current available bandwidth of the source POP on the circuit between the source POP and each destination POP; determining the bandwidth utilization of the circuit between the source POP and each destination POP; and determining the target available bandwidth of the source POP based on the bandwidth utilization of the circuit.
[0008] In an exemplary embodiment, determining the current available bandwidth of the source POP includes: collecting port information of the source POP, and determining the idle ports of the source POP based on the port information of the source POP; collecting the bandwidth of the idle ports of the source POP, and determining the current available bandwidth of the source POP based on the bandwidth of the idle ports of the source POP.
[0009] In an exemplary embodiment, determining the current available bandwidth of the source POP based on the bandwidth of the idle port of the source POP includes: determining an average of the bandwidth of the idle port of the source POP and a preset value as the current available bandwidth of the source POP.
[0010] In an exemplary embodiment, determining the target available bandwidth of the source POP based on the bandwidth utilization of the circuit includes: determining whether the circuit is congested based on the bandwidth utilization of the circuit; if the circuit is not congested, determining the difference between the bandwidth of the idle port and the current available bandwidth; if the difference between the bandwidth of the idle port and the current available bandwidth is greater than a preset difference, updating the current available bandwidth of the source POP using the average of the bandwidth of the idle port and the current available bandwidth; if the difference between the bandwidth of the idle port and the current available bandwidth is less than or equal to the preset difference, determining the current available bandwidth of the source POP as the target available bandwidth.
[0011] In an exemplary embodiment, determining the target available bandwidth of the source POP based on the bandwidth utilization of the circuit further includes: if congestion exists on the circuit, updating the current available bandwidth of the source POP using an average of the current available bandwidth and the preset value.
[0012] In an exemplary embodiment, the above method also includes: obtaining the shortest path matrix between the source POP and each destination POP; wherein, superimposing the current available bandwidth of the split source POP on the circuit between the source POP and each destination POP includes: according to the shortest path matrix, superimposing the current available bandwidth of the split source POP on the circuit corresponding to the shortest path between the source POP and each destination POP.
[0013] In an exemplary embodiment, determining the bandwidth utilization of the circuit between the source POP and each destination POP includes determining the bandwidth utilization of the circuit corresponding to the shortest path between the source POP and each destination POP.
[0014] An embodiment of the present disclosure provides a bandwidth determination device, comprising: a currently available bandwidth determination module, configured to obtain a source point of presence (POP) and determine the currently available bandwidth of the source POP; a traffic matrix acquisition module, configured to obtain a traffic matrix between the source POP and each destination POP; a currently available bandwidth splitting module, configured to split the currently available bandwidth of the source POP according to the traffic matrix; a currently available bandwidth superimposition module, configured to superimpose the split currently available bandwidth of the source POP onto a circuit between the source POP and each destination POP; a bandwidth utilization determination module, configured to determine the bandwidth utilization of the circuit between the source POP and each destination POP; and a target available bandwidth determination module, configured to determine the target available bandwidth of the source POP according to the bandwidth utilization of the circuit.
[0015] An embodiment of the present disclosure provides an electronic device, including: at least one processor; and a storage terminal device for storing at least one program. When the at least one program is executed by the at least one processor, the at least one processor implements any of the above-mentioned bandwidth determination methods.
[0016] An embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program implements any of the above-mentioned bandwidth determination methods when executed by a processor.
[0017] The bandwidth determination method provided by the embodiment of the present disclosure, after determining the current available bandwidth of the source POP, splits the current available bandwidth of the source POP according to the traffic matrix between the source POP and each destination POP, superimposes the split current available bandwidth of the source POP on the circuit between the source POP and each destination POP, and determines the target available bandwidth of the source POP based on the bandwidth utilization after superposition. When determining the available bandwidth, this method not only considers the current available bandwidth of the source POP, but also considers the carrying capacity of the network relay circuit, thereby improving the accuracy and effectiveness of the available bandwidth; according to the traffic flow distribution of the network, it simulates the superposition of the newly added access traffic on the relevant circuit, thereby determining the POP point access bandwidth that the network can actually carry, so that in actual application, it can avoid the situation where excessive POP point access traffic causes network relay congestion, ensure user service quality, and thus improve user experience.
[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.
[0020] Figure 1 The figure is a flowchart showing a bandwidth determination method according to an exemplary embodiment.
[0021] Figure 2 is a flowchart showing another bandwidth determination method according to an exemplary embodiment.
[0022] Figure 3 This is a schematic diagram of an application scenario according to an example.
[0023] Figure 4 It is a block diagram showing a bandwidth determination device according to an exemplary embodiment.
[0024] Figure 5 is a schematic structural diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0025] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0026] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor-based end devices and / or microcontroller-based end devices.
[0027] Hereinafter, each step of the bandwidth determination method in the exemplary embodiment of the present disclosure will be described in more detail with reference to the accompanying drawings and embodiments.
[0028] Figure 1The method provided in the embodiment of the present disclosure can be executed by any electronic device with computing and processing capabilities.
[0029] like Figure 1 As shown, the bandwidth determination method provided by the embodiment of the present disclosure may include the following steps.
[0030] In step S102, a source POP (point of presence) is obtained, and the current available bandwidth of the source POP is determined.
[0031] In the embodiment of the present disclosure, there may be multiple POPs (also referred to as POP points) in an operator network, and the multiple POPs may include source POPs and destination POPs. A source POP may be connected to one or more destination POPs.
[0032] In the embodiments of the present disclosure, available bandwidth is one of the metrics for quantifying the transmission rate of a network link. This parameter characterizes the unused or idle capacity of a link in the network within a period of time; the current available bandwidth refers to the available bandwidth value at the current moment.
[0033] In the embodiment of the present disclosure, the POP to be evaluated may be used as a source POP, and the current available bandwidth of the source POP may be determined.
[0034] In an exemplary embodiment, determining the current available bandwidth of the source POP includes: collecting port information of the source POP and determining the idle ports of the source POP based on the port information of the source POP; collecting the bandwidth of the idle ports of the source POP and determining the current available bandwidth of the source POP based on the bandwidth of the idle ports of the source POP.
[0035] In the embodiment of the present disclosure, each POP may include one or more devices, and each device may include one or more ports.
[0036] In the embodiment of the present disclosure, the port information of the device of the source POP can be collected, and the idle ports of the device of the source POP can be determined based on the port information, the bandwidth of the idle ports of the device of the source POP can be collected, and the current available bandwidth of the source POP can be determined based on the bandwidth of the idle ports of the device of the source POP.
[0037] In the embodiment of the present disclosure, the port information of the POP device can be collected through SNMP (Simple Network Management Protocol), combined with the circuit data of the network management, and the ports of the device that have been used (i.e., the double-end device ports of the circuit) are excluded to obtain the free ports on the device. The free ports on the device constitute the device free port set.
[0038] For the idle ports in the idle port set of the above devices, their port bandwidth can be collected through SNMP to calculate the bandwidth of the idle ports of each POP point. The specific calculation formula is:
[0039]
[0040] Among them, the subscript dev represents the router device deployed at the POP point, port represents the idle access port of the device, and band port Represents the bandwidth of the device's idle access port, bandPort popt Indicates the bandwidth of the idle port of the POP.
[0041] In an exemplary embodiment, determining the current available bandwidth of the source POP according to the bandwidth of the idle port of the source POP includes determining an average of the bandwidth of the idle port of the source POP and a preset value as the current available bandwidth of the source POP.
[0042] The preset value may be, for example, 0. In actual application, those skilled in the art may also set the size of the preset value according to actual conditions, and the present disclosure does not impose any limitation on this.
[0043] In the embodiment of the present disclosure, the bandwidth of the idle port of the source POP can be used as the maximum value of the "POP point available bandwidth", which is recorded as Take 0 as the minimum value of "POP point available bandwidth", recorded as The subscript pop represents the source POP point.
[0044] In the embodiment of the present disclosure, the average value of the maximum value of "POP point available bandwidth" and the minimum value of "POP point available bandwidth" can be calculated as the current available bandwidth of the source POP. The average value can be recorded as The calculation formula can be:
[0045] In step S104, a traffic matrix between the source POP and each destination POP is obtained.
[0046] In the disclosed embodiment, traffic data between various POPs may be collected, and a traffic matrix between the source POP and various destination POPs connected to the source POP may be determined based on the traffic data between the source POP and various destination POPs connected to the source POP.
[0047] In the embodiment of the present disclosure, the mapping relationship between the inflow device and the outflow device can be determined based on the collected traffic data between the various POPs, and the mapping relationship between the source POP and the destination POP can be determined based on the mapping relationship between the inflow device and the outflow device, that is, the POP corresponding to the inflow device can be the source POP, and the POP corresponding to the outflow device can be the destination POP.
[0048] In the embodiment of the present disclosure, the end-to-end netflow (network traffic flow direction) data of the network can be collected during busy hours and further summarized into a traffic matrix between the POP point and other network edge nodes.
[0049] In the disclosed embodiment, an IGP (Interior Gateway Protocol) adjacency relationship may be established with routers within the network, and the IGP routing topology of the entire network may be obtained in real time through interaction with the IGP routing protocol.
[0050] In the disclosed embodiments, NetFlow collection can be enabled on all access ports of network edge routers. NetFlow is a protocol developed by Cisco. When NetFlow is enabled on a network device interface, the device can sample and analyze network traffic. The sampling and analysis results primarily include information fields such as the inflow device, next hop address, source address, destination address, source port, destination port, and traffic volume.
[0051] In the disclosed embodiment, the BGP routing table of the entire network is obtained through BGP (Border Gateway Protocol) routing collection. BGP is a routing protocol that dynamically exchanges routing information between autonomous systems. By establishing a BGP adjacency with a route reflection device, BGP routing information is received in real time. The BGP routing information fields mainly include: address segment, as path (autonomous system path), next hop address, etc. The device address published by the BGP route can be obtained based on the next hop address. The outflow device to which the device address published by the BGP route belongs is found based on the IGP (Interior Gateway Protocol) routing. Determine whether the inflow device can reach the outflow device. If it can be reached, extract the mapping relationship between the inflow device, the next hop address, and the outflow device.
[0052] In the embodiment of the present disclosure, the netflow (network traffic flow direction) data collected from the network source edge router (denoted as ds) can be analyzed to extract the inflow device, next hop address, traffic flow and other information. According to the inflow device and next hop address, the mapping relationship between the inflow device, next hop address and outflow device obtained above is queried to obtain the outflow device (denoted as dd) corresponding to the traffic flow, thereby obtaining the traffic matrix between the edge routers, denoted as flow ds,dd .
[0053] In the embodiment of the present disclosure, according to the POP point to which the device (i.e., edge router) belongs, the traffic matrix between edge routers is converted into the traffic matrix between POP points. The calculation formula is: The subscript ns represents the source POP point, nd represents the destination POP point, and flow ns,ndRepresents the traffic matrix between the source POP and the destination POP.
[0054] In the embodiment of the present disclosure, the proportional relationship of the flow direction between the POP points can be determined according to the flow matrix between the POP points, which is recorded as flowRatio ns,nd , that is, normalize the above traffic matrix, and the calculation formula is:
[0055] In step S106, the current available bandwidth of the source POP is split according to the traffic matrix.
[0056] In the embodiment of the present disclosure, the current available bandwidth of the source POP may be split proportionally based on the traffic matrix between the source POP and each destination POP.
[0057] Taking the example of a source POP with two connected destination POPs (hereinafter referred to as the first destination POP and the second destination POP), the current available bandwidth of the source POP can be split according to the ratio of the traffic data between the source POP and the first destination POP and the traffic data between the source POP and the second destination POP.
[0058] In step S108, the currently available bandwidth of the split source POP is added to the circuits between the source POP and each destination POP.
[0059] In the embodiment of the present disclosure, the currently available bandwidth of the source POP after proportional splitting can be superimposed on the circuit between the corresponding source POP and each destination POP.
[0060] Still taking the example of a source POP with two connected destination POPs, after splitting the current available bandwidth of the source POP according to the ratio of the traffic data between the source POP and the first destination POP and the traffic data between the source POP and the second destination POP, for example, the current available bandwidth of the source POP after splitting is respectively a first split bandwidth and a second split bandwidth, the first split bandwidth is superimposed on the circuit between the source POP and the first destination POP, and the second split bandwidth is superimposed on the circuit between the source POP and the second destination POP.
[0061] In the embodiment of the present disclosure, the busy-hour traffic of the network circuit can be collected through SNMP, which is recorded as flow cir , where the subscript cir represents a circuit.
[0062] For example, for a POP point ns, the available bandwidth of the POP point By POP point flow matrix flowRatio ns,nd The allocation formula can be: Then divide it evenly according to the number of devices at the POP point.
[0063] In an exemplary embodiment, the method further includes: obtaining a shortest path matrix between the source POP and each destination POP.
[0064] In the embodiment of the present disclosure, there may be multiple paths between the source POP and the destination POP. The shortest path between the source POP and the destination POP is determined from these multiple paths to form a shortest path matrix between the source POP and each destination POP.
[0065] In the embodiment of the present disclosure, the shortest path may be, for example, a path passing through the least number of devices.
[0066] In the embodiment of the present disclosure, based on the IGP routing of the network, according to the routing selection behavior of the router devices in the network, the device path between the inflow device and the outflow device can be obtained according to the shortest path algorithm, thereby obtaining the shortest path matrix between the edge devices of the entire network, which is recorded as path ds,dd ={cir i}, where cir i Refers to the circuit of the i-th hop. Due to the existence of equivalent paths, cir i May include multiple circuits.
[0067] In the embodiment of the present disclosure, considering the equivalence relationship between the various devices at the POP point and simplifying the subsequent calculation amount, one can be randomly selected from the edge devices included in the source POP and one can be randomly selected from the edge devices included in the destination POP, and the shortest path between the edge devices included in the source POP and the edge devices included in the destination POP is used as the shortest path between the source POP and the destination POP. ns,nd , that is: path ns,nd =path ds∈ns,dd∈nd .
[0068] In an exemplary embodiment, the currently available bandwidth of the split source POP may be superimposed on the circuits corresponding to the shortest paths between the source POP and each destination POP according to the shortest path matrix.
[0069] In the embodiment of the present disclosure, all destination POP points nd can be traversed, and the above-mentioned allocated traffic can be superimposed on the path ns,nd On the circuit corresponding to each hop passed. If there are multiple circuits on a certain hop of the path, according to the principle of equal distribution of traffic, The allocation is based on the circuit, and the allocation ratio is proportional to the circuit bandwidth. The calculation formula is:
[0070]
[0071] Among them i,j represents the jth equivalent cost path of the i-th hop on the shortest path, represents the circuit bandwidth, Represents the original flow of the circuit (taking the maximum value of the inflow and outflow directions), Represents the new traffic carried by the circuit after the simulated traffic is superimposed.
[0072] In step S110 , the bandwidth utilization of the circuits between the source POP and each destination POP is determined.
[0073] In an embodiment of the present disclosure, after the current available bandwidth of the split source POP is superimposed on the circuit between the source POP and each destination POP, the bandwidth utilization of the circuit between the source POP and each destination POP can be determined based on the traffic carried by the superimposed circuit and the circuit bandwidth.
[0074] In the embodiment of the present disclosure, the inflow and outflow rates of the circuit can be collected periodically (for example, once every 5 minutes) through SNMP during busy hours.
[0075] In an exemplary embodiment, the bandwidth utilization of the circuit corresponding to the shortest path between the source POP and each destination POP may be determined.
[0076] For example, the bandwidth utilization of a circuit can be calculated using the following formula:
[0077]
[0078] in, Represents the bandwidth utilization of the circuit of the jth equivalent path of the i-th hop on the shortest path.
[0079] In step S112 , the target available bandwidth of the source POP is determined according to the bandwidth utilization of the circuit.
[0080] In the embodiment of the present disclosure, whether a circuit is congested can be determined based on the bandwidth utilization of the circuit, and the target available bandwidth of the source POP can be determined based on the congestion of the circuit.
[0081] In the disclosed embodiments, for example, a bandwidth utilization threshold can be set. When the bandwidth utilization of a circuit is greater than the bandwidth utilization threshold, it indicates that the circuit is congested; when the bandwidth utilization of the circuit is less than or equal to the bandwidth utilization threshold, it indicates that the circuit is not congested. The bandwidth utilization threshold can be set to 80%, for example.
[0082] In the embodiment of the present disclosure, for example, when no circuit is congested, the current available bandwidth of the source POP may be used as the target available bandwidth of the source POP.
[0083] In the embodiment of the present disclosure, the target available bandwidth of the source POP may be iteratively calculated using a bisection method.
[0084] In an exemplary embodiment, if there is congestion on the circuit, the current available bandwidth of the source POP is updated using an average of the current available bandwidth and a preset value.
[0085] In an exemplary embodiment, if there is no congestion in the circuit, the difference between the bandwidth of the idle port and the current available bandwidth is determined; if the difference between the bandwidth of the idle port and the current available bandwidth is greater than a preset difference, the current available bandwidth of the source POP is updated using the average of the bandwidth of the idle port and the current available bandwidth; if the difference between the bandwidth of the idle port and the current available bandwidth is less than or equal to the preset difference, the current available bandwidth of the source POP is determined as the target available bandwidth.
[0086] The bandwidth determination method provided by the embodiment of the present disclosure, after determining the current available bandwidth of the source POP, splits the current available bandwidth of the source POP according to the traffic matrix between the source POP and each destination POP, superimposes the split current available bandwidth of the source POP on the circuit between the source POP and each destination POP, and determines the target available bandwidth of the source POP based on the bandwidth utilization after superposition. When determining the available bandwidth, this method not only considers the current available bandwidth of the source POP, but also considers the carrying capacity of the network relay circuit, thereby improving the accuracy and effectiveness of the available bandwidth; according to the traffic flow distribution of the network, it simulates the superposition of the newly added access traffic on the relevant circuit, thereby determining the POP point access bandwidth that the network can actually carry, so that in actual application, it can avoid the situation where excessive POP point access traffic causes network relay congestion, ensure user service quality, and thus improve user experience.
[0087] Figure 2 is a flowchart showing another bandwidth determination method according to an exemplary embodiment. Figure 2 The bandwidth determination method shown further provides a method for determining the target available bandwidth of the source POP according to the bandwidth utilization of the circuit, that is, provides an embodiment of the above step S112.
[0088] like Figure 2 As shown, the bandwidth determination method provided by the embodiment of the present disclosure may include the following steps.
[0089] In step S202 , it is determined whether the circuit is congested according to the bandwidth utilization of the circuit.
[0090] In the disclosed embodiments, for example, a bandwidth utilization threshold can be set. When the bandwidth utilization of a circuit is greater than the bandwidth utilization threshold, it indicates that the circuit is congested; when the bandwidth utilization of the circuit is less than or equal to the bandwidth utilization threshold, it indicates that the circuit is not congested. The bandwidth utilization threshold can be set to 80%, for example.
[0091] In step S204 , if the circuit is not congested, the difference between the bandwidth of the idle port and the current available bandwidth is determined.
[0092] In the embodiment of the present disclosure, there may be one or more circuits. If all circuits are not congested, the difference between the idle port and the current available bandwidth may be determined, namely:
[0093] In step S206, if the difference between the idle port bandwidth and the current available bandwidth is greater than a preset difference, the current available bandwidth of the source POP is updated using the average of the idle port bandwidth and the current available bandwidth.
[0094] The preset difference may be, for example, 1 Mbps. In actual application, those skilled in the art may also set the preset difference according to actual conditions, and the present disclosure does not impose any limitation on this.
[0095] In the embodiment of the present disclosure, if the difference between the bandwidth of the idle port and the current available bandwidth is greater than the preset difference, that is: The bandwidth of the idle port and the average of the current available bandwidth are used to update the current available bandwidth of the source POP. The minimum value of the "POP available bandwidth" is: Calculate the average of the maximum value of "POP point available bandwidth" and the minimum value of "POP point available bandwidth" and use it as the current available bandwidth of the source POP. Re-split the current available bandwidth of the source POP according to the traffic matrix, and re-superimpose the split current available bandwidth of the source POP on the circuit between the source POP and each destination POP; re-determine the bandwidth utilization of the circuit between the source POP and each destination POP; and re-determine whether the circuit is congested based on the bandwidth utilization of the circuit until all circuits are free of congestion and the difference between the bandwidth of the idle port and the current available bandwidth is less than or equal to the preset difference.
[0096] In step S208, if the difference between the bandwidth of the idle port and the current available bandwidth is less than or equal to the preset difference, the current available bandwidth of the source POP is determined as the target available bandwidth.
[0097] In the embodiment of the present disclosure, if the difference between the bandwidth of the idle port and the current available bandwidth is less than or equal to the preset difference, that is, The calculation ends and the current available bandwidth of the source POP is Determine the target available bandwidth.
[0098] In step S210 , if the circuit is congested, the current available bandwidth of the source POP is updated using the average of the current available bandwidth and a preset value.
[0099] In the embodiment of the present disclosure, if any circuit is congested, the current available bandwidth of the source POP is updated using the average of the current available bandwidth and the preset value. As the maximum value of the above-mentioned "POP point available bandwidth", that is: Calculate the average of the maximum value of "POP point available bandwidth" and the minimum value of "POP point available bandwidth" and use it as the current available bandwidth of the source POP. Re-split the current available bandwidth of the source POP according to the traffic matrix, and re-superimpose the split current available bandwidth of the source POP on the circuit between the source POP and each destination POP; re-determine the bandwidth utilization of the circuit between the source POP and each destination POP; and re-determine whether the circuit is congested based on the bandwidth utilization of the circuit until all circuits are free of congestion and the difference between the bandwidth of the idle port and the current available bandwidth is less than or equal to the preset difference.
[0100] The bandwidth determination method provided by the embodiments of the present disclosure determines whether a circuit is congested by measuring its bandwidth utilization, determines the target available bandwidth of the source POP based on the circuit congestion, and calculates the target available bandwidth with the constraint that the relevant circuit is not congested. In actual application, this method can avoid network relay congestion caused by excessive POP access traffic, ensure user service quality, and thus improve user experience.
[0101] Figure 3 This is a schematic diagram of an application scenario according to an example.
[0102] refer to Figure 3The network may include multiple POPs: Location A, Location B, Location C, Location D, Location E, and Location F. For example, the customer access bandwidth may be 93.550 GB, and the circuit bandwidth utilization threshold (also referred to as the minimum bandwidth segment peak utilization) may be set to 80%. The figure shows the circuit segment with the smallest remaining bandwidth (i.e., the minimum bandwidth segment), whose bandwidth is 10 GB (it should be noted that 10 GB for the minimum bandwidth segment is only an example; in actual operation, the bandwidth of the minimum bandwidth segment may vary with actual conditions). The peak utilization from the customer to Location A is 0.21, and the peak utilizations of the circuits from Location A to Locations B, C, D, E, and F are 0.160, 0.160, 0.120, 0.070, and 0.120, respectively. The peak utilization is calculated by dividing the daily peak traffic of the access circuit by the circuit bandwidth. For example, the peak utilization between the customer and Location A is calculated by dividing the daily peak traffic of the customer's access traffic at Location A by the circuit bandwidth. The traffic allocation ratios for locations B, C, D, E, and F are 19.85%, 79.51%, 0.46%, 0.17%, and 0.17%, respectively. Netflow collects traffic end-to-end and calculates the peak traffic rates of each direction over the past 30 days. Based on these statistics, the allocation ratio for each direction can be calculated. The maximum accessible bandwidth is calculated by combining the peak utilization threshold, the bandwidth in each direction, and the traffic allocation ratio. The maximum accessible bandwidth is the maximum amount of traffic that can be input to the network, given the current traffic allocation ratio and traffic utilization, while ensuring that the peak utilization of the circuit with the most traffic in the entire network does not exceed 80%. For example, the calculated maximum accessible bandwidth is 22.599 GB.
[0103] It should also be understood that the above is merely intended to help those skilled in the art better understand the embodiments of the present disclosure, and is not intended to limit the scope of the embodiments of the present disclosure. Based on the above examples, those skilled in the art can obviously make various equivalent modifications or variations. For example, certain steps in the above method may be unnecessary, or certain new steps may be added. Or any combination of any two or more of the above embodiments. Such modifications, variations, or combinations also fall within the scope of the embodiments of the present disclosure.
[0104] It should also be understood that the above description of the embodiments of the present disclosure focuses on emphasizing the differences between the various embodiments. The same or similar points that are not mentioned can be referenced to each other. For the sake of brevity, they will not be repeated here.
[0105] It should also be understood that the size of the sequence numbers of the above processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present disclosure.
[0106] It should also be understood that in the various embodiments of the present disclosure, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form new embodiments based on their internal logical relationships.
[0107] The above describes in detail an example of the bandwidth determination method provided by the present disclosure. It is understandable that, in order to implement the above functions, the computer device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily appreciate that, in combination with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in hardware or in a manner driven by computer software depends on the specific application and design constraints of the technical solution. Professional and technical personnel may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present disclosure.
[0108] The following are embodiments of the apparatus disclosed herein, which can be used to implement the method embodiments disclosed herein. For details not disclosed in the apparatus embodiments disclosed herein, please refer to the method embodiments disclosed herein.
[0109] Figure 4 It is a block diagram showing a bandwidth determination device according to an exemplary embodiment.
[0110] like Figure 4 As shown, the bandwidth determination device 400 may include: a current available bandwidth determination module 402, a traffic matrix acquisition module 404, a current available bandwidth splitting module 406, a current available bandwidth superposition module 408, a bandwidth utilization determination module 410 and a target available bandwidth determination module 412.
[0111] Among them, the current available bandwidth determination module 402 is used to obtain the source point of presence POP and determine the current available bandwidth of the source POP; the traffic matrix acquisition module 404 is used to obtain the traffic matrix between the source POP and each destination POP; the current available bandwidth splitting module 406 is used to split the current available bandwidth of the source POP according to the traffic matrix; the current available bandwidth superposition module 408 is used to superimpose the split current available bandwidth of the source POP on the circuit between the source POP and each destination POP; the bandwidth utilization determination module 410 is used to determine the bandwidth utilization of the circuit between the source POP and each destination POP; the target available bandwidth determination module 412 is used to determine the target available bandwidth of the source POP according to the bandwidth utilization of the circuit.
[0112] In an exemplary embodiment, the current available bandwidth determination module 402 is also used to collect the port information of the source POP and determine the idle ports of the source POP based on the port information of the source POP; collect the bandwidth of the idle ports of the source POP and determine the current available bandwidth of the source POP based on the bandwidth of the idle ports of the source POP.
[0113] In an exemplary embodiment, the current available bandwidth determining module 402 is further configured to determine an average of the bandwidth of the idle port of the source POP and a preset value as the current available bandwidth of the source POP.
[0114] In an exemplary embodiment, the target available bandwidth determination module 412 is further used to determine whether the circuit is congested based on the bandwidth utilization of the circuit; if the circuit is not congested, determine the difference between the bandwidth of the idle port and the current available bandwidth; if the difference between the bandwidth of the idle port and the current available bandwidth is greater than a preset difference, use the average of the bandwidth of the idle port and the current available bandwidth to update the current available bandwidth of the source POP; if the difference between the bandwidth of the idle port and the current available bandwidth is less than or equal to the preset difference, determine the current available bandwidth of the source POP as the target available bandwidth.
[0115] In an exemplary embodiment, the target available bandwidth determination module 412 is further configured to update the current available bandwidth of the source POP using an average of the current available bandwidth and the preset value if congestion exists on the circuit.
[0116] In an exemplary embodiment, the bandwidth determination device 400 also includes: a shortest path matrix acquisition module, which is used to obtain the shortest path matrix between the source POP and each destination POP; wherein the current available bandwidth superposition module 408 is also used to superimpose the current available bandwidth of the split source POP on the circuit corresponding to the shortest path between the source POP and each destination POP according to the shortest path matrix.
[0117] In an exemplary embodiment, the bandwidth utilization determination module 410 is further configured to determine the bandwidth utilization of the circuit corresponding to the shortest path between the source POP and each destination POP.
[0118] It should be noted that the block diagrams shown in the above figures are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor terminal devices and / or microcontroller terminal devices.
[0119] Figure 5is a schematic diagram showing the structure of an electronic device according to an exemplary embodiment. It should be noted that, Figure 5 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0120] like Figure 5 As shown, electronic device 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage portion 508 into a random access memory (RAM) 503. Various programs and data required for the operation of system 500 are also stored in RAM 503. CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to bus 504.
[0121] The following components are connected to the I / O interface 505: an input section 506 including a keyboard, a mouse, and the like; an output section 507 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 508 including a hard disk; and a communication section 509 including a network interface card such as a LAN card or a modem. The communication section 509 performs communication processing via a network such as the Internet. A drive 510 is also connected to the I / O interface 505 as needed. A removable medium 511, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 510 as needed, so that computer programs read therefrom can be installed into the storage section 508 as needed.
[0122] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 509, and / or installed from a removable medium 511. When the computer program is executed by the central processing unit (CPU) 501, the above-mentioned functions defined in the system of the present disclosure are performed.
[0123] It should be noted that the computer-readable medium described in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, terminal device, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, terminal device, or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, terminal device, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wireline, optical fiber cable, RF, or any suitable combination thereof.
[0124] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the above-mentioned module, program segment, or a part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0125] The units involved in the embodiments described in the present disclosure may be implemented by software or by hardware. The described units may also be provided in a processor. For example, they may be described as follows: a processor includes a sending unit, an acquisition unit, a determination unit, and a first processing unit. The names of these units do not, in some cases, constitute a limitation on the units themselves. For example, the sending unit may also be described as a "unit that sends a picture acquisition request to the connected server."
[0126] As another aspect, the present disclosure further provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed by an electronic device, the electronic device implements the method described in the above embodiment. For example, the electronic device may implement the following Figure 1 The steps shown.
[0127] According to one aspect of the present disclosure, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in various optional implementations of the above-described embodiments.
[0128] It should be understood that any number of elements in the drawings of the present disclosure is for illustration only and not for limitation, and any naming is for distinction only and does not have any limiting meaning.
[0129] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the following claims.
[0130] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes can be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A bandwidth determination method, characterized in that: include: Obtaining a source point of presence (POP) and determining the current available bandwidth of the source POP; Obtaining a traffic matrix between the source POP and each destination POP; Splitting the current available bandwidth of the source POP according to the traffic matrix; Adding the split current available bandwidth of the source POP to the circuits between the source POP and each destination POP; Determining bandwidth utilization of circuits between the source POP and each destination POP; The target available bandwidth of the source POP is determined according to the bandwidth utilization of the circuit.
2. The method according to claim 1, characterized in that Determining the current available bandwidth of the source POP includes: Collecting the port information of the source POP, and determining the idle port of the source POP according to the port information of the source POP; The bandwidth of the idle port of the source POP is collected, and the current available bandwidth of the source POP is determined according to the bandwidth of the idle port of the source POP.
3. The method according to claim 2, characterized in that Determining the current available bandwidth of the source POP according to the bandwidth of the idle port of the source POP includes: An average of the bandwidth of the idle port of the source POP and a preset value is determined as the current available bandwidth of the source POP.
4. The method according to claim 3, characterized in that Determining a target available bandwidth of the source POP according to the bandwidth utilization of the circuit includes: determining whether the circuit is congested based on bandwidth utilization of the circuit; If the circuit is not congested, determining a difference between the bandwidth of the idle port and the current available bandwidth; If the difference between the bandwidth of the idle port and the current available bandwidth is greater than a preset difference, updating the current available bandwidth of the source POP using an average of the bandwidth of the idle port and the current available bandwidth; If the difference between the bandwidth of the idle port and the current available bandwidth is less than or equal to a preset difference, the current available bandwidth of the source POP is determined as the target available bandwidth.
5. The method according to claim 4, characterized in that Determining a target available bandwidth of the source POP according to the bandwidth utilization of the circuit further includes: If the circuit is congested, the current available bandwidth of the source POP is updated using an average of the current available bandwidth and the preset value.
6. The method according to claim 1, characterized in that Also includes: Obtaining a shortest path matrix between the source POP and each destination POP; The method of adding the split current available bandwidth of the source POP to the circuits between the source POP and each destination POP includes: According to the shortest path matrix, the currently available bandwidth of the split source POP is superimposed on the circuit corresponding to the shortest path between the source POP and each destination POP.
7. The method according to claim 6, characterized in that Determining bandwidth utilization of circuits between the source POP and each destination POP includes: Determine the bandwidth utilization of the circuit corresponding to the shortest path between the source POP and each destination POP.
8. A bandwidth determination device, characterized in that: include: A current available bandwidth determination module is used to obtain a source point of presence (POP) and determine the current available bandwidth of the source POP; A traffic matrix acquisition module, configured to acquire a traffic matrix between the source POP and each destination POP; A current available bandwidth splitting module, configured to split the current available bandwidth of the source POP according to the traffic matrix; A current available bandwidth superposition module, configured to superimpose the split current available bandwidth of the source POP onto the circuits between the source POP and each destination POP; a bandwidth utilization determination module, configured to determine bandwidth utilization of the circuit between the source POP and each destination POP; The target available bandwidth determination module is configured to determine the target available bandwidth of the source POP according to the bandwidth utilization of the circuit.
9. An electronic device, characterized in that: include: at least one processor; A storage device for storing at least one program, which, when executed by the at least one processor, enables the at least one processor to implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
System and method for modifying a data stream using element parsing
CN1513142A
Method, apparatus and program for determining available bandwidth between multiple points in a communication system
US6996132B1