Traffic scheduling method and device, electronic equipment and program product
By predicting the bandwidth utilization rate and service traffic requirements of the network link, the congestion links are scheduled in advance, solving the problems of response delay and low scheduling efficiency in the prior art, and achieving more efficient traffic scheduling and network performance optimization.
Patent Information
- Application Number
- CN202510307417.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-13
- Publication Date
- 2025-06-17
AI Technical Summary
The existing traffic scheduling technology can only schedule when network links are congested, resulting in low response delay and scheduling efficiency.
By predicting the bandwidth utilization of the link, determine the congested links that are about to occur in advance, and determine the scheduling path based on the priority of the service traffic and future bandwidth requirements, and schedule the service traffic in advance to release bandwidth resources.
It effectively reduces the probability of congestion in the target link in the future, reduces traffic scheduling response delay, improves network immediacy and scheduling efficiency, and improves user experience.
Smart Images

Figure CN120166074A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of Internet technologies, and particularly relates to a traffic scheduling method, apparatus, electronic device, and program product. Background Art
[0002] Traffic scheduling is a technology that optimizes the utilization rate of network resources by adjusting the link paths and allocation policies of traffic in a network. Since traffic scheduling technology can alleviate network congestion and improve network performance and service quality, it is widely applied to scenarios such as data centers and e-commerce platforms.
[0003] Currently, traffic scheduling is usually performed on a congested link when network congestion occurs. However, it can only be passively scheduled in the case of existing congestion, and there are situations such as reaction delays, resulting in low scheduling efficiency. Summary of the Invention
[0004] Embodiments of this application provide a traffic scheduling method, apparatus, electronic device, and program product, which can effectively improve the traffic scheduling efficiency.
[0005] In a first aspect, embodiments of this application provide a traffic scheduling method, including:
[0006] Determine a target link, where the target link at least includes a to-be-congested link that will be congested;
[0007] Determine to-be-scheduled traffic based on the service traffic corresponding to the target link;
[0008] Determine a scheduling path corresponding to the to-be-scheduled traffic, where the scheduling path is a link path for transmitting the to-be-scheduled traffic from a source node corresponding to the target link to a target node;
[0009] Send the scheduling path to the source node corresponding to the target link, so as to transmit the to-be-scheduled traffic from the source node to the target node based on the scheduling path.
[0010] In a possible implementation manner of the first aspect, the determining the target link includes:
[0011] Determine a predicted bandwidth utilization rate corresponding to the link, where the predicted bandwidth utilization rate is used to reflect the bandwidth load status of the link within a set first future time period;
[0012] Determine the to-be-congested link according to the predicted bandwidth utilization rate, where the to-be-congested link includes a link whose predicted bandwidth utilization rate is greater than or equal to a first utilization rate threshold.
[0013] In a possible implementation manner of the first aspect, the determining the predicted bandwidth utilization rate corresponding to the link includes:
[0014] Taking the historical service traffic corresponding to the link as the input of a trained prediction model, the predicted bandwidth utilization rate output by the prediction model is obtained. The historical service traffic includes the service traffic that has been transmitted through the link in history. The prediction model is used to predict the bandwidth load status of the link in the first future time period according to the historical service traffic corresponding to the link, and the predicted bandwidth utilization rate is obtained.
[0015] In a possible implementation manner of the first aspect, the target link further includes a reserved link. Determining the target link includes:
[0016] Determining the future bandwidth requirement corresponding to the link according to the bandwidth requirement of the target service traffic corresponding to the link in a set second future time period. The target service traffic includes service traffic with a service priority higher than a set priority threshold.
[0017] Determining the reserved link according to the future bandwidth requirement. The reserved link includes a link whose difference between the future bandwidth requirement and the current bandwidth requirement is greater than or equal to a set difference threshold.
[0018] In a possible implementation manner of the first aspect, determining the scheduling path corresponding to the service traffic to be scheduled includes:
[0019] Determining the scheduling path corresponding to the service traffic to be scheduled based on idle links. The idle links include links with a current bandwidth utilization rate less than or equal to a second utilization threshold.
[0020] In a possible implementation manner of the first aspect, determining the scheduling path corresponding to the service traffic to be scheduled based on idle links includes:
[0021] In the case of the existence of target idle links, determining the scheduling path corresponding to the service traffic to be scheduled according to the target idle links. The target idle links include the idle links whose future bandwidth requirements are less than or equal to a set requirement threshold.
[0022] In a possible implementation manner of the first aspect, determining the service traffic to be scheduled according to the service traffic corresponding to the target link includes:
[0023] Determining the service traffic to be scheduled according to the service priority of the service traffic corresponding to the target link.
[0024] In a second aspect, an embodiment of the present application provides a traffic scheduling device, including:
[0025] A target link determination module, configured to determine a target link, where the target link at least includes a to-be-congested link that will experience congestion;
[0026] A to-be-scheduled service traffic determination module, configured to determine to-be-scheduled service traffic according to the service traffic corresponding to the target link;
[0027] A scheduling path determination module, configured to determine a scheduling path corresponding to the to-be-scheduled service traffic, where the scheduling path is a link path for transmitting the to-be-scheduled service traffic from a source node corresponding to the target link to a target node;
[0028] A scheduling module, configured to send the scheduling path to the source node corresponding to the target link, so as to transmit the to-be-scheduled service traffic from the source node to the target node based on the scheduling path.
[0029] In a third aspect, an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the traffic scheduling method described in the first aspect above are implemented.
[0030] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, where the computer storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the traffic scheduling method described in the first aspect above are implemented.
[0031] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product runs on an electronic device, the electronic device is enabled to execute the traffic scheduling method described in the first aspect above.
[0032] The beneficial effects of the embodiments of the present application compared with the prior art are as follows:
[0033] In the embodiments of the present application, the to-be-scheduled service traffic is determined according to the service traffic corresponding to the target link, and the to-be-scheduled service traffic is transmitted from the source node corresponding to the target link to the target node according to the scheduling path, so as to implement the scheduling of the to-be-scheduled service traffic in the target link. Since the target link at least includes a to-be-congested link that will soon experience congestion, therefore, by scheduling the to-be-scheduled service traffic corresponding to the target link, the bandwidth resources of the target link can be released in advance before the target link becomes congested, which can effectively reduce the probability of the target link experiencing congestion in the future and reduce the situation of traffic scheduling response delay, improve network immediacy and traffic scheduling efficiency, and is beneficial to improving the user experience. Description of the Drawings
[0034] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the accompanying drawings required for use in the embodiments or the description of the prior art.
[0035] Figure 1 is a schematic flowchart of a traffic scheduling method provided by an embodiment of the present application;
[0036] Figure 2 is a schematic structural diagram of a traffic scheduling device provided by an embodiment of the present application;
[0037] Figure 3 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Specific Embodiments
[0038] In the following description, specific details such as specific system structures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.
[0039] It should be understood that when used in the specification and appended claims of the present application, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.
[0040] It should also be understood that the term "and / or" used in the specification and appended claims of the present application refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0041] In addition, in the description of the specification and appended claims of the present application, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.
[0042] The reference to "one embodiment" or "some embodiments" etc. in the specification of the present application means that a specific feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, the statements "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways.
[0043] Embodiment 1:
[0044] Figure 1 The flowchart shows a traffic scheduling method provided by an embodiment of the present application, which is described in detail as follows:
[0045] S101. Determine the target link, where the target link at least includes a to-be-congested link that will be congested.
[0046] A to-be-congested link refers to a link that will be congested soon, that is, a link that is in a congested state (such as a bandwidth utilization rate greater than 100%) at a certain future time or time period, such as a link that will be congested in 10 minutes.
[0047] In some other embodiments, the target link may also be a congested link. A congested link generally refers to a link that has already been congested, that is, a link that is currently in a congested state.
[0048] It should be understood that when determining whether a link is in a congested state, it can be determined according to whether the bandwidth utilization rate of the link is greater than or equal to a set utilization threshold (such as 90%). The utilization threshold can be calculated by an intelligent algorithm such as a large model, or obtained according to user settings or inputs. Alternatively, it can also be determined whether a link is in a congested state according to the cache occupancy rate of the source node (i.e., the data sending end) of the link or the network behavior of the link (such as packet loss rate or round-trip time, etc.). The method for determining whether a link is in a congested state can be set according to the actual application scenario and will not be specifically limited here.
[0049] Among them, bandwidth refers to the maximum amount of data that a link can transmit per unit time, and its unit includes but is not limited to bits per second, etc. The bandwidth utilization rate generally refers to the percentage of the actual used bandwidth of the link in its total bandwidth, which can reflect the bandwidth load status of the link.
[0050] Optionally, when determining the target link, each link in the network can be detected based on the Simple Network Management Protocol (SNMP) or sFlow (a traffic monitoring technology based on packet sampling) to obtain the link characteristics of the link, so as to determine whether the link is currently or will be in a congested state according to the link characteristics, that is, to determine whether there is a target link. Optionally, the link characteristics of the link include but are not limited to indicators such as traffic composition, bandwidth utilization rate, packet loss rate, and delay.
[0051] For example, when determining whether there is a to-be-congested link, the bandwidth utilization rate of the link in a certain future time period (such as within the next 10 minutes) can be predicted by means of manual analysis or an intelligent algorithm such as a large model according to the current traffic characteristics or historical traffic characteristics, and then it can be determined whether the link will be congested soon according to the predicted bandwidth utilization rate, so as to determine the to-be-congested link.
[0052] In the embodiments of the present application, a link that will be congested in the future is determined, so as to perform traffic scheduling in advance for the to-be-congested link, thereby effectively avoiding the congestion of the link, which helps to improve performance such as network immediacy and data transmission effect.
[0053] S102. Determine the to-be-scheduled traffic according to the traffic corresponding to the target link.
[0054] It should be understood that traffic refers to the data stream transmitted in a network link, that is, the transmission form of data in the network link, and service traffic usually refers to traffic based on services.
[0055] The traffic corresponding to the target link is the service traffic that needs to be transmitted through the target link.
[0056] As an example, when determining the traffic corresponding to a link, the traffic components corresponding to the link (that is, the traffic components currently existing in the link or the traffic components existing in a certain future time period) can be classified into traffic of different services according to different traffic characteristics (such as usage or the target node of the traffic), that is, classified into different service traffic.
[0057] As another example, when determining the traffic corresponding to a link, the service association of the traffic components corresponding to the link can be determined according to the destination IP address (Internet Protocol Address) of the traffic components and device asset information (such as CMDB Configuration Management Database). The destination IP address is the IP address of the device that will receive the traffic component (also called the target node of the traffic component). Since the device asset information can reflect the service information corresponding to each IP address, therefore, according to the destination IP address of the traffic component and the device asset information, the traffic component can be associated with the service, so as to classify the traffic components corresponding to the link into different service traffic.
[0058] In the embodiments of the present application, after determining the target link that needs to perform traffic scheduling, the to-be-scheduled traffic is determined from the service traffic that needs to be transmitted through the target link, so as to subsequently schedule the determined to-be-scheduled traffic to other links for transmission, thereby reducing the probability of future congestion of the target link, and further, the reaction delay of traffic scheduling can be effectively reduced, and the traffic efficiency can be improved.
[0059] S103. Determine the scheduling path corresponding to the to-be-scheduled traffic, where the scheduling path is a link path for transmitting the to-be-scheduled traffic from the source node corresponding to the target link to the target node.
[0060] A link path, also known as a transmission path, refers to the path used to transmit traffic, usually consisting of one or more links. A scheduling path refers to the link path used to transmit the traffic to be scheduled from the source node corresponding to the target link (assumed to be called the link source node) to its target node (assumed to be called the link target node).
[0061] In some other embodiments, the scheduling path can be the link path used to transmit the traffic to be scheduled from the source node corresponding to the traffic to be scheduled (assumed to be called the traffic source node) to its target node (assumed to be called the traffic target node). Correspondingly, when issuing the scheduling path, the scheduling path is usually issued to the traffic source node corresponding to the traffic to be scheduled.
[0062] Optionally, when determining the scheduling path corresponding to the traffic to be scheduled, the scheduling path can be determined by manual analysis, or can be determined by machine learning or other means, and can be specifically set according to the actual application scenario.
[0063] S104, issue the above scheduling path to the above source node corresponding to the above target link, so as to transmit the above traffic to be scheduled from the above source node to the above target node based on the above scheduling path.
[0064] In the embodiments of the present application, the scheduling path is directly issued to the target link, so that the source node of the target link can modify the path of the traffic to be scheduled according to the scheduling path and transmit it according to the scheduling path, so as to transmit the traffic to be scheduled from the source node to the target node to be reached through the scheduling path.
[0065] In some embodiments, the traffic to be scheduled can be transmitted from the source node corresponding to the target link to the target node according to the scheduling path by means of label routing. The above label routing is a technology that assigns specific labels to service instances or traffic and routes the traffic to the specified instance or node according to the specific labels. By means of label routing for scheduling the traffic to be scheduled and gradually migrating the traffic to be scheduled from the target link to the scheduling path, it is possible to better avoid situations such as instantaneous interruption of the traffic to be scheduled and ensure the user experience.
[0066] In the embodiments of the present application, after determining the target link, the service traffic to be scheduled is determined from the service traffic corresponding to the target link, and the determined service traffic to be scheduled is scheduled according to the corresponding scheduling path, so that it is transmitted from the source node corresponding to the target link to the target node according to the scheduling path. Since the target link at least includes a to-be-congested link that is about to experience congestion, scheduling the service traffic corresponding to the target link can release the bandwidth resources of the target link in advance before the target link becomes congested to cope with future bursty bandwidth requirements of the target link, thereby effectively reducing the probability of congestion occurring in the target link in the future and reducing the situation of traffic scheduling reaction delay, improving network instantaneity and other performances and traffic scheduling efficiency, and being beneficial to improving the user experience.
[0067] In some embodiments, the above step S102 includes:
[0068] Determine the service traffic to be scheduled according to the service priority of the service traffic corresponding to the above target link.
[0069] The service priority of the service traffic is the priority of the service to which the service traffic belongs. This service priority can be set or input by the user, or can be determined by intelligent algorithms such as large models according to service characteristics such as service value or time sensitivity. The embodiments of the present application do not make specific limitations on the manner of determining the service priority.
[0070] In the embodiments of the present application, for the determined target link, the service traffic to be scheduled can be determined from the service traffic corresponding to the target link according to the service priority of the service traffic, so as to obtain the service traffic to be scheduled, so as to subsequently relieve congestion or avoid the occurrence of congestion through the scheduling of the service traffic to be scheduled, effectively ensuring the stable transmission of critical service traffic and ensuring the continuity of network services, etc., and improving network performance and user experience.
[0071] As an example, the service traffic to be scheduled can be determined from the service traffic corresponding to the target link in ascending order of service priority according to the exceeded bandwidth requirement of the target link and the bandwidth requirements of the respective service traffic corresponding to the target link. The exceeded bandwidth requirement can be the difference between the total bandwidth requirement corresponding to the target link (i.e., the sum of the bandwidth requirements of the respective service traffic corresponding to the target link) and the total bandwidth or bandwidth threshold of the target link (such as a threshold calculated according to the total bandwidth and the utilization threshold). Through the above processing, after scheduling the service traffic to be scheduled in the target link, the target link can meet the bandwidth requirements of the remaining high-service-priority service traffic, and the probability of congestion is relatively low, effectively ensuring the transmission of high-service-priority service traffic.
[0072] In some embodiments, the above step S101 includes:
[0073] Determine the predicted bandwidth utilization rate corresponding to the link. The above predicted bandwidth utilization rate is used to reflect the bandwidth load status of the above link within a set first future time period.
[0074] Determine the to-be-congested link according to the above predicted bandwidth utilization rate. The to-be-congested link includes the link whose predicted bandwidth utilization rate is greater than or equal to the first utilization rate threshold.
[0075] Optionally, the first future time period can be calculated by intelligent algorithms such as large models or deep learning networks, or can be obtained according to user settings or inputs, and can be specifically set according to the actual application scenario.
[0076] Optionally, the first utilization rate threshold can be calculated by intelligent algorithms such as large models, or can be obtained according to user settings or inputs. The embodiments of the present application do not specifically limit the method for determining the first utilization rate threshold.
[0077] It should be noted that the first utilization rate thresholds corresponding to different links can be different thresholds. For example, the first utilization rate thresholds corresponding to each link can be set according to the importance of the link.
[0078] As an example, for any link, first, the bandwidth demand of the service traffic corresponding to the link (i.e., the service traffic whose original link path includes this link) within the first future time period can be predicted according to the service cycle of the service traffic corresponding to the link. Furthermore, according to the bandwidth demand of the target service traffic within the first future time period, the bandwidth load status of the link within the first future time period can be determined to obtain the predicted bandwidth utilization rate. When determining the to-be-congested link, the importance of the link can be determined according to the service priority or other service characteristics of the service traffic corresponding to the link, so as to determine the first utilization rate threshold corresponding to the link according to this importance, and then determine whether the link is a to-be-congested link according to the predicted bandwidth utilization rate and the first utilization rate threshold corresponding to the link.
[0079] In some embodiments, when determining the bandwidth demand of the service traffic within the first future time period, the bandwidth demand of the service traffic within the first future time period can be determined according to the service cycle and service priority of the service traffic corresponding to the link.
[0080] In some embodiments, since the actual bandwidth utilization rate of the to-be-congested link in the first future time period may be higher than the predicted bandwidth utilization rate, the to-be-congested link cannot meet the bandwidth requirements of the remaining traffic in the first future time period, resulting in congestion of the to-be-congested link. Therefore, after scheduling the to-be-scheduled traffic in the to-be-congested link according to the scheduling path, if the to-be-congested link is still congested in the first future time period, traffic control can be performed on the to-be-congested link, that is, the traffic rate of the remaining traffic in the to-be-congested link is restricted through traffic control, thereby reducing the bandwidth resources occupied by the remaining traffic (i.e., reducing the future bandwidth utilization rate of the to-be-congested link), ensuring the transmission of traffic with high service priority while reducing the probability of congestion, thereby reducing the impact of link congestion and ensuring the user experience.
[0081] In the embodiments of the present application, the predicted bandwidth utilization rate of the link in the first future time period is obtained by predicting the bandwidth load status of the link, and then according to the corresponding first utilization threshold, it is determined whether the link will be congested in the first future time period, so as to more accurately determine the to-be-congested link, which helps to improve the accuracy of traffic scheduling.
[0082] In some embodiments, the above-mentioned determination of the predicted bandwidth utilization rate corresponding to the link includes:
[0083] Taking the historical traffic corresponding to the above-mentioned link as the input of the trained prediction model, and obtaining the above-mentioned predicted bandwidth utilization rate output by the above-mentioned prediction model. The above-mentioned historical traffic includes the traffic that has been transmitted by the above-mentioned link in history. The above-mentioned prediction model is used to predict the bandwidth load status of the above-mentioned link in the above-mentioned first future time period according to the above-mentioned historical traffic corresponding to the above-mentioned link, and obtain the above-mentioned predicted bandwidth utilization rate.
[0084] In some embodiments, the historical traffic corresponding to the link may include the traffic that has been transmitted by the link in a historical time period (such as the past month or the past week).
[0085] Optionally, the above-mentioned prediction model may be a model constructed based on network structures such as recurrent neural networks, graph neural networks, or transformers, or a general large model, or a model obtained by fine-tuning the general large model with the historical traffic corresponding to the link, which can be specifically set according to the actual application scenario.
[0086] In some embodiments, considering that historical traffic is time-based data, i.e., a type of time series data, to improve prediction accuracy, the prediction model can be a time series-based model, such as an Autoregressive Integrated Moving Average model (ARIMA), a Long Short-Term Memory (LSTM) network, or a Generalized Autoregressive Conditional Heteroskedasticity (GARCH) model, etc.
[0087] In the embodiments of the present application, directly predicting the predicted bandwidth utilization rate corresponding to the link through the pre-trained prediction model can fully analyze characteristics such as the periodicity of historical traffic, so as to quickly and accurately predict the bandwidth load status of the link in the first future time period, significantly improving the accuracy of the predicted bandwidth utilization rate. Furthermore, it provides accurate data support for subsequent traffic scheduling and improves the accuracy of traffic scheduling.
[0088] In some other embodiments, the bandwidth requirement corresponding to the link can be determined according to the historical traffic and the service priority of the traffic. The prediction model can be used to predict the traffic corresponding to the link in the first future time period (hypothetically called future traffic, i.e., the traffic that should be transmitted by the link in the first future time period) based on the historical traffic corresponding to the link, and analyze the bandwidth requirement corresponding to the future traffic in combination with the service priority of the future traffic, so as to construct a link load prediction table according to the future traffic and its bandwidth requirement output by the prediction model. The link load prediction table can record information such as the transmission time, bandwidth requirement, predicted bandwidth utilization rate, and the time window when the link may be congested (hypothetically called the predicted congestion time) corresponding to the future traffic of each link. After determining the link to be congested according to the link load prediction table, the traffic to be scheduled and the scheduling path can be determined in combination with the predicted congestion time corresponding to the target link.
[0089] In some embodiments, the above target link further includes a reserved link, and the above step S101 includes:
[0090] Determine the future bandwidth requirement corresponding to the link according to the bandwidth requirement of the target traffic corresponding to the link in the set second future time period, where the target traffic includes traffic with a service priority higher than the set priority threshold.
[0091] Determine the above reserved link according to the above future bandwidth requirement, where the reserved link includes a link whose difference between the above future bandwidth requirement and the current bandwidth requirement is greater than or equal to the set difference threshold.
[0092] Optionally, the second future time period can be calculated by intelligent algorithms such as large models or deep learning networks according to the service priority or other service characteristics of the target service traffic, or can be obtained according to user settings or inputs, and can be specifically set according to the actual application scenario. It should be noted that the second future time period and the first time period can be the same time period or different time periods.
[0093] Optionally, the above priority threshold and difference threshold can be calculated by intelligent algorithms such as large models or deep learning networks, or can be obtained according to user settings or inputs, and the embodiments of the present application do not make specific limitations on this.
[0094] Since the bandwidth requirement of the service traffic may increase significantly and may continue to increase, therefore, in order to further reduce the probability of link congestion, in the embodiments of the present application, the target link further includes a reserved link whose bandwidth requirement in the future (such as the bandwidth requirement in the second future time period) will increase significantly, so as to perform traffic scheduling on the reserved link and avoid the situation of link congestion caused by the significant increase in the bandwidth requirement of the service traffic.
[0095] When determining the reserved link, for each link, the bandwidth requirement of the service traffic corresponding to the link in the second future time period can be predicted, so as to determine the future bandwidth requirement corresponding to the link according to the future bandwidth requirements of the respective service traffic corresponding to the link. Furthermore, it is determined whether the bandwidth requirement of the link will increase significantly by judging whether the difference between the future bandwidth requirement corresponding to the link and the current bandwidth requirement is greater than or equal to the difference threshold, so as to determine the reserved link.
[0096] Among them, in the embodiments of the present application, in order to improve network performance while reducing unnecessary scheduling to reduce complexity, when determining the future bandwidth requirement corresponding to the link, the service traffic with a service priority higher than the set priority threshold can be determined first according to the service priority of the service traffic corresponding to the link, and it is used as the target service traffic, that is, the more important target service traffic in the link is determined according to the service priority, and it is judged whether its future bandwidth requirement will increase significantly, so as to schedule the other service traffic corresponding to the link in advance when it is judged that its future bandwidth requirement will increase significantly, so as to reserve bandwidth resources for the important target service traffic and ensure the stable transmission of important service traffic.
[0097] If the difference between the future bandwidth requirement corresponding to the link and the current bandwidth requirement is greater than or equal to the difference threshold (such as 10 Mbps, that is, 10 megabits per second), it can be considered that the future bandwidth requirement of the link will increase significantly, and it is used as the reserved link, and traffic scheduling is performed on the reserved link.
[0098] If the difference between the future bandwidth requirement and the current bandwidth requirement corresponding to a link is less than the difference threshold, it can be considered that the probability of a significant increase in the future bandwidth requirement of this link is small. At this time, traffic scheduling may not be performed on this link. In some embodiments, traffic restriction may be performed on the non-target traffic (i.e., traffic other than the target traffic) corresponding to this link within the second future time period, that is, the transmission rate of the non-target traffic (i.e., the bandwidth it occupies) is restricted, so as to ensure the stable transmission of the target traffic and help improve the user experience.
[0099] For example, assume that the traffic corresponding to link M includes: traffic A1 (service priority level 5), traffic A2 (service priority level 2), and traffic A3 (service priority level 3). Assume that the priority threshold is level 3. Then the target traffic corresponding to link M includes traffic A1. The future bandwidth requirement corresponding to link M is determined according to the bandwidth requirement of traffic A1 within the second future time period (such as the next 10 minutes) (assume it is 15 megabits per second). The difference between the future bandwidth requirement and the current bandwidth requirement corresponding to link M (assume the current bandwidth requirement is 6 megabits per second, and this current bandwidth requirement is determined according to the current bandwidth requirement of the target traffic) is determined to be 9 megabits per second. Assume that the difference threshold is 8 megabits per second. Then, based on this difference and the difference threshold, it can be determined that link M is a reserved link. At this time, traffic scheduling needs to be performed on one or more traffic (i.e., the traffic to be scheduled) in the traffic corresponding to link M.
[0100] It should be understood that at this time, the traffic to be scheduled in link M can be non-target traffic (i.e., the above traffic A2 and traffic A3) to reserve bandwidth resources for the target traffic whose future bandwidth requirement will increase significantly. Or, the traffic to be scheduled can also be the target traffic (i.e., the above traffic A1) with a significant increase in bandwidth requirement, so as to schedule the target traffic with a significant increase in future bandwidth requirement to other idle links in advance. Through the above processing, the stable transmission of important traffic is ensured.
[0101] In the embodiments of the present application, the future bandwidth requirement of the link is determined according to the bandwidth requirement of the more important target traffic within the second future time period, and whether the link is used as a reserved link that needs to reserve bandwidth is determined according to the size of the difference between the future bandwidth requirement and the current bandwidth requirement of the link relative to the difference threshold, so as to reserve bandwidth for the important target traffic through traffic scheduling of the reserved link in the future, that is, lock the bandwidth resources of the reserved link based on the bandwidth resources required by the target traffic in the future, effectively avoiding congestion of the reserved link and ensuring the stable transmission of the target traffic.
[0102] In some embodiments, the above step S103 includes:
[0103] Determine the above scheduling path corresponding to the to-be-scheduled service traffic based on the idle links, where the idle links include links with a current bandwidth utilization rate less than or equal to a second utilization threshold.
[0104] Optionally, the second utilization threshold can be calculated by an intelligent algorithm such as a large model, or obtained according to user settings or inputs. The embodiments of the present application do not specifically limit the method for determining the second utilization threshold. It should be noted that the above second utilization threshold is less than the first utilization threshold.
[0105] It should be understood that an idle link is a link in an idle state (such as a current bandwidth utilization rate less than or equal to the second utilization threshold). In some other embodiments, the idle links can include links with a predicted bandwidth utilization rate less than or equal to the second utilization threshold (such as 30%), that is, determine the scheduling path corresponding to the to-be-scheduled service traffic according to the links that are in an idle state within the first future time period, so that the possibility of congestion occurring when transmitting the to-be-scheduled service traffic according to the scheduling path is small, and the transmission effect of the to-be-scheduled service traffic is guaranteed. Or, the idle links can include links with both the current bandwidth utilization rate and the predicted bandwidth utilization rate less than or equal to the second utilization threshold. Or, the idle link can be a link with a bandwidth utilization rate (such as the current bandwidth utilization rate and / or the predicted bandwidth utilization rate) less than or equal to the second utilization threshold, and the remaining bandwidth is greater than or equal to the bandwidth required by the to-be-scheduled service traffic.
[0106] Optionally, when determining the scheduling path corresponding to the to-be-scheduled service traffic based on the idle links, the scheduling path corresponding to the to-be-scheduled service traffic can be determined from the idle links based on graph theory algorithms (such as Dijkstra's algorithm or Bellman-Ford algorithm, etc.) and optimization algorithms (such as genetic algorithm or simulated annealing algorithm, etc.). Since graph theory algorithms can abstract the network into a graph structure, but they may not be able to solve the problem of multi-objective optimization, while optimization algorithms can. Therefore, through the combination of graph theory algorithms and optimization algorithms, multi-dimensional factors such as the bandwidth, delay, and cost of the idle links can be better considered, so as to select the most suitable scheduling path for the to-be-scheduled service traffic, effectively avoid the occurrence of congestion, and at the same time improve the transmission stability of the service traffic.
[0107] As an example, the Dijkstra algorithm and the simulated annealing algorithm can be used to determine the optimal or near-optimal transmission path of the service traffic to be scheduled according to the idle links, and obtain the required scheduling path. Suppose the above traffic scheduling method is applied to a multi-data center scenario. Before determining the scheduling path, a graph (assumed to be called a link graph) can be constructed according to the network topology of the multi-data center (reflecting the internal network architecture of the data center and the interconnection links between data centers, etc.). The nodes in the link graph represent network devices such as routers, and the edges represent the links connecting these nodes. The weights of each edge can be used to reflect the bandwidth, latency, cost, etc. of the link.
[0108] When determining the scheduling path, calculate the shortest path from the source node corresponding to the target link to the target node based on the link graph, and this shortest path can be used as the initial solution. Then, randomly select two nodes from the current path (which is the above shortest path) through the simulated annealing algorithm, exchange the path segments between them, and generate a new path as the neighborhood solution; then, for each path, calculate its total cost (such as the total latency of the path, the standard deviation of the bandwidth utilization rate, or a comprehensive cost function, etc.); determine whether to accept the new path according to the cost difference between the new path and the current path to determine the latest current path. Subsequently, update the temperature according to the cooling strategy. When the latest temperature meets the requirements (such as dropping to the temperature threshold of 30°C) or the number of iterations reaches the set iteration threshold (such as 6 times), repeat the steps from determining the new path to determining the latest current path until the above requirements are met, and use the latest current path as the scheduling path.
[0109] In the embodiments of the present application, the scheduling path of the service traffic to be scheduled is determined according to the idle links, avoiding congestion of the links in the scheduling path caused by the scheduling of the service traffic to be scheduled, and ensuring network performance and user experience.
[0110] In some embodiments, when determining the scheduling path of the service traffic to be scheduled in the congested links, the future idle time periods of each link (such as the future time periods when the predicted bandwidth utilization rate of the link is less than or equal to the second utilization rate threshold) can be predicted first, and then the scheduling path of the service traffic to be scheduled can be determined in combination with the idle time periods of each link. That is, considering the idle time periods of the links, the service traffic to be scheduled is transmitted in different time periods by using the idle time periods of each link, making full use of the idle bandwidth resources and effectively improving the utilization rate of network resources.
[0111] For example, assume that the current time is 12:00, and the determined scheduling path for the to-be-scheduled traffic A in the to-be-congested link is: link path B1 from 12:00 to 14:00, and link path B2 from 14:00 to 18:00. Then, when scheduling the to-be-scheduled traffic A, within the time period from 12:00 to 14:00, the to-be-scheduled traffic A is transmitted through link path B1; within the time period from 14:00 to 18:00, link path B1 is switched to link path B2, and the to-be-scheduled traffic A is transmitted through link path B2.
[0112] In some embodiments, determining the above-mentioned scheduling path corresponding to the above-mentioned to-be-scheduled traffic based on the idle link includes:
[0113] In the case where there is a target idle link, determining the above-mentioned scheduling path corresponding to the above-mentioned to-be-scheduled traffic according to the above-mentioned target idle link, where the target idle link includes the idle link whose future bandwidth requirement is less than or equal to a set requirement threshold.
[0114] It should be understood that the requirement threshold can be a pre-set value or a value dynamically determined according to the bandwidth required by the to-be-scheduled traffic and the bandwidth of the idle link, and no specific requirements are made here.
[0115] Specifically, to fully ensure the stable transmission of important traffic corresponding to the link, before determining the scheduling path corresponding to the to-be-scheduled traffic according to the idle link, first determine the idle link whose future bandwidth requirement is less than or equal to a set requirement threshold (such as 10 megabits per second) according to the future bandwidth requirement corresponding to the idle link, and use it as the target idle link, and then determine the scheduling path according to the target idle link.
[0116] Since the future bandwidth requirement corresponding to the idle link can reflect the bandwidth requirement of the important target traffic in the idle link within the second future time period, when the future bandwidth requirement corresponding to the idle link is greater than the requirement threshold, it can be considered that the target traffic needs to occupy more bandwidth resources. Therefore, when determining the scheduling path, avoiding the idle link with a large bandwidth requirement of the target traffic within the second future time period can better avoid the situation that the to-be-scheduled traffic migration causes congestion to these idle links and affects the transmission of their target traffic, and effectively ensure the stable transmission of the to-be-scheduled traffic and the important target traffic.
[0117] In the case where there is no target idle link, the scheduling path can be directly determined according to the idle link, or the scheduling path can be not determined, and the traffic control can be directly performed on the target link, which can be specifically set according to actual application requirements.
[0118] As an example, in the case where there is no target idle link, the target time period of each idle link can be determined first. The target time period can be a future time period when the bandwidth requirement of the target service traffic corresponding to the idle link is less than or equal to the requirement threshold. After determining the target time period of each idle link, the scheduling path of the service traffic to be scheduled is determined by combining the target time periods of each idle link.
[0119] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution. The order of execution of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0120] Embodiment 2:
[0121] Corresponding to the traffic scheduling method described in the above embodiment, Figure 2 The structural block diagram of the traffic scheduling device provided by the embodiment of the present application is shown. For the convenience of description, only the parts related to the embodiment of the present application are shown.
[0122] Referring to Figure 2 , the device includes: a target link determination module 21, a service traffic to be scheduled determination module 22, a scheduling path determination module 23, and a scheduling module 24. Among them,
[0123] The target link determination module 21 is used to determine the target link, and the above target link at least includes the to-be-congested link that will be congested.
[0124] The service traffic to be scheduled determination module 22 is used to determine the service traffic to be scheduled according to the service traffic corresponding to the above target link.
[0125] The scheduling path determination module 23 is used to determine the scheduling path corresponding to the above service traffic to be scheduled. The above scheduling path is a link path for transmitting the above service traffic to be scheduled from the source node corresponding to the above target link to the target node.
[0126] The scheduling module 24 is used to send the above scheduling path to the above source node corresponding to the above target link, so as to transmit the above service traffic to be scheduled from the above source node to the above target node based on the above scheduling path.
[0127] In the embodiments of the present application, after determining the target link, the service traffic to be scheduled is determined from the service traffic corresponding to the target link, and the determined service traffic to be scheduled is scheduled according to the corresponding scheduling path, so that it is transmitted from the source node corresponding to the target link to the target node according to the scheduling path. Since the target link at least includes a to-be-congested link that is about to experience congestion, therefore, scheduling the service traffic corresponding to the target link can release the bandwidth resources of the target link in advance before the target link becomes congested to cope with the future burst bandwidth requirements of the target link, thereby effectively reducing the probability of the target link becoming congested in the future, improving the stability of link and traffic transmission, and further, can better optimize network performance and improve the user's network experience.
[0128] In some embodiments, the above-mentioned target link determination module 21 includes:
[0129] A bandwidth utilization prediction unit, configured to determine the predicted bandwidth utilization corresponding to the link, and the predicted bandwidth utilization is used to reflect the bandwidth load status of the link within a set first future time period.
[0130] A to-be-congested link determination unit, configured to determine the to-be-congested link according to the predicted bandwidth utilization, and the to-be-congested link includes a link whose predicted bandwidth utilization is greater than or equal to a first utilization threshold.
[0131] In some embodiments, the above-mentioned target link determination module 21 further includes:
[0132] A model prediction unit, configured to use the historical service traffic corresponding to the link as the input of a trained prediction model, and obtain the predicted bandwidth utilization output by the prediction model. The historical service traffic includes the service traffic that has been historically transmitted by the link, and the prediction model is used to predict the bandwidth load status of the link within the first future time period according to the historical service traffic corresponding to the link, so as to obtain the predicted bandwidth utilization.
[0133] In some embodiments, the above-mentioned target link further includes a reserved link, and the target link determination module 21 includes:
[0134] A future bandwidth demand determination unit, configured to determine the future bandwidth demand corresponding to the link according to the bandwidth demand of the target service traffic corresponding to the link within a set second future time period. The target service traffic includes service traffic whose service priority is higher than a set priority threshold.
[0135] A reserved link determination unit, configured to determine the reserved link according to the future bandwidth demand. The reserved link includes a link whose difference between the future bandwidth demand and the current bandwidth demand is greater than or equal to a set difference threshold.
[0136] In some embodiments, the above-mentioned scheduling path determination module 23 includes:
[0137] A first scheduling path determination unit, configured to determine the above-mentioned scheduling path corresponding to the service traffic to be scheduled based on idle links, where the idle links include links with a current bandwidth utilization rate less than or equal to a second utilization threshold.
[0138] In some embodiments, the above-mentioned scheduling path determination module 23 further includes:
[0139] A second scheduling path determination unit, configured to determine the above-mentioned scheduling path corresponding to the service traffic to be scheduled according to the above-mentioned target idle link when there is a target idle link, where the target idle link includes the above-mentioned idle links with a future bandwidth requirement less than or equal to a set requirement threshold.
[0140] In some embodiments, the above-mentioned service traffic to be scheduled determination module 22 includes:
[0141] A service traffic to be scheduled determination unit, configured to determine the above-mentioned service traffic to be scheduled according to the service priority of the service traffic corresponding to the above-mentioned target link.
[0142] It should be noted that for the information interaction, execution process, etc. between the above-mentioned devices / units, since they are based on the same concept as the method embodiments of the present application, their specific functions and the technical effects brought, for details, please refer to the method embodiment part, and will not be elaborated here.
[0143] Embodiment 3:
[0144] Figure 3 This is a schematic structural diagram of an electronic device provided in an embodiment of the present application. As Figure 3 shown, the electronic device 3 in this embodiment includes: at least one processor 30 ( Figure 3 only one processor is shown in the figure), a memory 31, and a computer program 32 stored in the memory 31 and executable on the at least one processor 30. When the processor 30 executes the computer program 32, the steps in any of the above-mentioned method embodiments are implemented.
[0145] The electronic device 3 may be a computing device such as a desktop computer, a notebook, a palm computer, and a cloud server. The electronic device may include, but is not limited to, a processor 30 and a memory 31. Those skilled in the art can understand that Figure 3 merely examples of the electronic device 3 are given, which do not constitute a limitation to the electronic device 3. It may include more or fewer components than shown in the figure, or combine some components, or different components. For example, it may also include input / output devices, network access devices, etc.
[0146] The so-called processor 30 may be a Central Processing Unit (CPU), and the processor 30 may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0147] In some embodiments, the memory 31 may be an internal storage unit of the electronic device 3, such as the hard disk or memory of the electronic device 3. In some other embodiments, the memory 31 may also be an external storage device of the electronic device 3, such as a plug-in hard disk equipped on the electronic device 3, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. Further, the memory 31 may also include both the internal storage unit of the electronic device 3 and the external storage device. The memory 31 is used to store an operating system, application programs, a BootLoader, data, and other programs, such as the program code of the computer program, etc. The memory 31 may also be used to temporarily store data that has been output or is to be output.
[0148] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above-mentioned division of each functional unit and module is used as an example. In actual applications, the above-mentioned functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiments may be integrated in a processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0149] An embodiment of the present application further provides a network device, which includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, and when the processor executes the computer program, the steps in any of the above method embodiments are implemented.
[0150] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments can be implemented.
[0151] An embodiment of the present application provides a computer program product, and when the computer program product runs on an electronic device, the electronic device can be made to execute the steps in any of the above method embodiments when executed.
[0152] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, to implement all or part of the processes in the above method embodiments of the present application, a computer program can be used to instruct relevant hardware to complete. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by a processor, the steps in any of the above method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the photographing device / electronic device, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disc, etc. In some jurisdictions, according to legislation and patent practice, the computer-readable medium may not be an electrical carrier signal and a telecommunication signal.
[0153] In the above embodiments, the descriptions of the respective embodiments have their own emphases. For parts not detailed or recorded in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0154] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed in this document can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professionals can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.
[0155] In the embodiments provided in the present application, it should be understood that the disclosed apparatus / network device and method can be implemented in other ways. For example, the apparatus / network device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces. The indirect coupling or communication connection of the apparatus or unit can be in electrical, mechanical or other forms.
[0156] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0157] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A traffic scheduling method, characterized in that: include: Determining a target link, wherein the target link at least includes a link to be congested that will be congested; Determine the service flow to be scheduled according to the service flow corresponding to the target link; Determine a scheduling path corresponding to the service flow to be scheduled, where the scheduling path is a link path used to transmit the service flow to be scheduled from a source node corresponding to the target link to a target node; The scheduling path is sent to the source node corresponding to the target link, so as to transmit the service traffic to be scheduled from the source node to the target node based on the scheduling path.
2. The flow scheduling method according to claim 1, characterized in that: The determining of the target link comprises: Determine a predicted bandwidth utilization rate corresponding to the link, where the predicted bandwidth utilization rate is used to reflect a bandwidth load state of the link within a set first future time period; The to-be-congested links are determined according to the predicted bandwidth utilization, and the to-be-congested links include links whose predicted bandwidth utilization is greater than or equal to a first utilization threshold.
3. The flow scheduling method according to claim 2, characterized in that: The determining of the predicted bandwidth utilization corresponding to the link includes: The historical business traffic corresponding to the link is used as the input of the trained prediction model to obtain the predicted bandwidth utilization output by the prediction model, wherein the historical business traffic includes the business traffic historically transmitted by the link, and the prediction model is used to predict the bandwidth load state of the link in the first future time period based on the historical business traffic corresponding to the link to obtain the predicted bandwidth utilization.
4. The traffic scheduling method according to claim 1, characterized in that: The target link also includes a reserved link, and determining the target link includes: Determining a future bandwidth demand corresponding to the link according to a bandwidth demand of a target service flow corresponding to the link within a set second future time period, wherein the target service flow includes service flow having a service priority higher than a set priority threshold; The reserved links are determined according to the future bandwidth demand, and the reserved links include links for which the difference between the future bandwidth demand and the current bandwidth demand is greater than or equal to a set difference threshold.
5. The traffic scheduling method according to claim 1, characterized in that: The determining a scheduling path corresponding to the service flow to be scheduled includes: The scheduling path corresponding to the to-be-scheduled service flow is determined based on an idle link, where the idle link includes a link whose current bandwidth utilization is less than or equal to a second utilization threshold.
6. The flow scheduling method according to claim 5, characterized in that: The determining, based on the idle link, the scheduling path corresponding to the service flow to be scheduled includes: In the case where there is a target idle link, the scheduling path corresponding to the to-be-scheduled service flow is determined according to the target idle link, and the target idle link includes the idle link whose future bandwidth demand is less than or equal to a set demand threshold.
7. The traffic scheduling method according to any one of claims 1 to 6, characterized in that: The determining the service flow to be scheduled according to the service flow corresponding to the target link includes: The service flow to be scheduled is determined according to the service priority of the service flow corresponding to the target link.
8. A flow scheduling device, characterized in that: include: A target link determination module, used to determine a target link, wherein the target link at least includes a link to be congested that will be congested; A module for determining the service flow to be scheduled, used to determine the service flow to be scheduled according to the service flow corresponding to the target link; A scheduling path determination module, used to determine a scheduling path corresponding to the service flow to be scheduled, wherein the scheduling path is a link path used to transmit the service flow to be scheduled from a source node corresponding to the target link to a target node; The scheduling module is used to send the scheduling path to the source node corresponding to the target link, so as to transmit the service traffic to be scheduled from the source node to the target node based on the scheduling path.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 7 is implemented.
10. A computer program product, characterized in that When the computer program product runs on an electronic device, the electronic device is enabled to execute the method according to any one of claims 1 to 7.
Citation Information
Cited By
State machine optimization method, device and equipment based on switch MSTP protocol, and storage medium
CN121396907A