Traffic scheduling method, device and computer program product

By acquiring business and network parameters and dynamically calculating traffic scheduling parameters, the problem of the token bucket algorithm's inability to guarantee service quality for different traffic categories is solved, thereby improving network performance and user satisfaction.

CN118802777BActive Publication Date: 2026-01-20CHINA MOBILE GROUP DESIGN INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410520591.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-04-28
Publication Date
2026-01-20
Estimated Expiration
2044-04-28

AI Technical Summary

Technical Problem

Existing token bucket algorithms struggle to guarantee service quality and user satisfaction across different traffic categories.

Method used

By acquiring business parameters and network parameters from business data, the target traffic category is determined, and traffic scheduling parameters, including token bucket filling rate, upper limit of waiting queue, token bucket capacity and transmission rate, are calculated based on these parameters and dynamically adjusted to adapt to network conditions.

Benefits of technology

This improved network performance, reliability, and energy efficiency, while ensuring service quality and user satisfaction across different traffic categories.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118802777B_ABST
    Figure CN118802777B_ABST
Patent Text Reader

Abstract

This application proposes a traffic scheduling method, device, and computer program product. The method includes: acquiring service parameters of service data and network parameters of the network used to transmit the service data, whereby the service parameters characterize the carrying requirements of the service data and the network parameters characterize the transmission quality of the network; determining the target traffic category to which the service parameters belong based on the service parameters; acquiring initial traffic scheduling parameters corresponding to the target traffic category; and determining the traffic scheduling parameters corresponding to the target traffic category based on the network parameters and the initial traffic scheduling parameters. Since network parameters characterize the transmission quality of the network and service parameters characterize the carrying requirements of the service data, the traffic scheduling parameters finally determined by combining the network parameters and service parameters can not only improve the network performance, reliability, and energy efficiency, but also ensure the quality of service and user satisfaction for different traffic categories.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of communication, and particularly relates to a traffic scheduling method, device and computer program product. BACKGROUND

[0002] Traffic scheduling refers to a process of analyzing network traffic and directing the traffic to optimal resources according to priorities.

[0003] The token bucket algorithm is one of commonly used traffic scheduling algorithms. The principle of the token bucket algorithm is that the system puts tokens into a bucket at a constant speed, and if a request needs to be processed, a token needs to be obtained from the bucket first, and when there is no token available in the bucket, the service is refused.

[0004] The current token bucket algorithm is difficult to guarantee the quality of service and user satisfaction of different traffic categories. SUMMARY

[0005] The present application proposes a traffic scheduling method, device and computer program product, which can alleviate the technical problem that the token bucket algorithm in the related art is difficult to guarantee the quality of service and user satisfaction of different traffic categories.

[0006] The first aspect embodiment of the present application proposes a traffic scheduling method, comprising:

[0007] obtaining a service parameter of service data and a network parameter of a network used for transmitting the service data, the service parameter being used to represent a bearing requirement of the service data, and the network parameter being used to represent a transmission quality of the network;

[0008] determining a target traffic category to which the service parameter belongs based on the service parameter;

[0009] obtaining a traffic scheduling initial parameter corresponding to the target traffic category;

[0010] determining a traffic scheduling parameter corresponding to the target traffic category based on the network parameter and the traffic scheduling initial parameter.

[0011] In one or more embodiments, the traffic scheduling parameter comprises a token filling rate of a target token bucket used for transmitting the service data of the target traffic category, the network parameter comprises an average delay parameter and an average packet loss rate, and the traffic scheduling initial parameter comprises an initial filling rate of the target token bucket;

[0012] determining a traffic scheduling parameter corresponding to the target traffic category based on the network parameter and the traffic scheduling initial parameter, comprising:

[0013] multiplying the average delay parameter and a first adjustment coefficient to obtain a first result; and multiplying the average packet loss rate and a second adjustment coefficient to obtain a second result;

[0014] adding the first result and the second result to obtain a third result;

[0015] subtracting a preset parameter and the third result to obtain a fourth result;

[0016] multiplying the initial fill rate and the fourth result to obtain the token fill rate.

[0017] In one or more embodiments, the traffic scheduling parameter comprises a current upper limit value of a waiting queue for buffering service data of the target traffic class; the network parameter comprises an average delay parameter and an average packet loss rate, and the traffic scheduling initial parameter comprises an initial upper limit value of a waiting queue for buffering service data of the target traffic class;

[0018] determining the traffic scheduling parameter corresponding to the target traffic class based on the network parameter and the traffic scheduling initial parameter, comprises:

[0019] multiplying the average delay parameter and a third adjustment coefficient to obtain a fifth result; and multiplying the average packet loss rate and a fourth adjustment coefficient to obtain a sixth result;

[0020] adding a preset parameter, the fifth result and the sixth result to obtain a seventh result;

[0021] multiplying the seventh result, the initial upper limit value and a burst factor to obtain the current upper limit value, the burst factor being used to measure a burst degree of traffic of the target traffic class.

[0022] In one or more embodiments, the traffic scheduling parameter comprises a token bucket capacity of a target token bucket for transmitting service data of the target traffic class; the network parameter comprises a network utilization rate; and the traffic scheduling initial parameter comprises an initial capacity of the target token bucket;

[0023] determining the traffic scheduling parameter corresponding to the target traffic class based on the network parameter and the traffic scheduling initial parameter, comprises:

[0024] in a case where the priority of the target token bucket is less than a priority threshold, multiplying the network utilization rate and a fifth adjustment coefficient to obtain an eighth result;

[0025] adding a preset parameter and the eighth result to obtain a ninth result;

[0026] The product of the initial capacity and the ninth result is calculated to obtain the token bucket capacity.

[0027] In one or more embodiments, the traffic scheduling parameter includes a transmission rate of service data of the target traffic class, and the network parameter includes network utilization;

[0028] Based on the network parameter and the traffic scheduling initial parameter, a traffic scheduling parameter corresponding to the target traffic class is determined, including:

[0029] The traffic scheduling initial parameter includes an initial transmission rate of service data of the target traffic class;

[0030] The product of the network utilization and a sixth adjustment coefficient is calculated to obtain a tenth result;

[0031] The sum of a preset parameter and the tenth result is calculated to obtain an eleventh result;

[0032] The product of the eleventh result and the initial transmission rate is calculated to obtain the transmission rate.

[0033] In one or more embodiments, the traffic scheduling initial parameter includes an initial transmission rate of service data of the target traffic class, including:

[0034] The weights of each traffic class in network traffic are obtained;

[0035] Based on the weight of the target traffic class included in the weights and the sum of the weights of each traffic class, a weight proportion of the target traffic class is calculated;

[0036] The product of the weight proportion and a total bandwidth of the network is calculated to obtain the initial transmission rate.

[0037] In one or more embodiments, further comprising:

[0038] In a case where the traffic scheduling parameter is determined, the traffic scheduling parameter is stored in a hash table.

[0039] The second aspect embodiment of the application provides a traffic scheduling device, including:

[0040] A first obtaining module is configured to obtain a service parameter of service data and a network parameter of a network used for transmitting the service data, the service parameter being used to represent a bearing requirement of the service data, and the network parameter being used to represent a transmission quality of the network;

[0041] A first determining module is configured to determine a target traffic class to which the service parameter belongs based on the service parameter.

[0042] The second obtaining module is configured to obtain a traffic scheduling initial parameter corresponding to the target traffic category.

[0043] The second determining module is configured to determine a traffic scheduling parameter corresponding to the target traffic category based on the network parameter and the traffic scheduling initial parameter.

[0044] The third aspect 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, and the processor executes the computer program to implement the method of the first aspect.

[0045] The fourth aspect of the present application provides a computer program product, including computer readable code or a non-volatile computer readable storage medium carrying computer readable code, when the computer readable code is executed in the processor of the electronic device, the processor in the electronic device executes the method of the first aspect.

[0046] The technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages:

[0047] In the embodiments of the present application, the traffic scheduling parameter is finally determined based on the network parameter and the traffic scheduling initial parameter by classifying the service data. Since the network parameter can represent the transmission quality of the network and the service parameter can represent the bearing demand of the service data, the traffic scheduling parameter finally determined by combining the network parameter and the service parameter can not only improve the performance, reliability and energy efficiency of the network, but also guarantee the quality of service and user satisfaction of different traffic categories.

[0048] Additional aspects and advantages of the present application will be made apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0049] Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description, with reference to the drawings in which:

[0050] In the drawings:

[0051] Figure 1 A flowchart of a traffic scheduling method provided by an embodiment of the present application is shown;

[0052] Figure 2 A structural diagram of a traffic scheduling device provided by an embodiment of the present application is shown;

[0053] Figure 3 Fig. 1 shows a structural schematic diagram of an electronic device according to an embodiment of the present application;

[0054] Figure 4 Fig. 2 shows a schematic diagram of a storage medium according to an embodiment of the present application. DETAILED DESCRIPTION

[0055] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the following will be combined with the accompanying drawings for the embodiments of the present application to clearly and completely describe the technical solutions of the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. The components of the embodiments of the present application described and shown in the accompanying drawings can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the claimed present application, but only represents selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.

[0056] It should be noted that: similar reference numerals and letters represent similar items in the following drawings, therefore, once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings.

[0057] The term "and / or" in the present application is only used to describe an association relationship, which means that there can be three relationships, for example, A and / or B can mean that A exists alone, A and B exist together, and B exists alone. In addition, the term "at least one" in the present application means any one of multiple or any combination of at least two of multiple, for example, including at least one of A, B and C can mean including any one or more elements selected from the set consisting of A, B and C.

[0058] In the related art, the token bucket algorithm is used for flow scheduling operation. Although the token bucket algorithm can allow burst transmission, it cannot distinguish and optimize different categories of flow transmission, and cannot consider factors such as network energy efficiency and service quality. The algorithm can only generate and consume tokens at a fixed rate, and it is difficult to guarantee the service quality and user satisfaction of different flow categories.

[0059] To alleviate the problems in the related art, an embodiment of the present application provides a traffic scheduling method, device and computer program product. The method comprises: obtaining a service parameter of service data and a network parameter of a network used for transmitting the service data, the service parameter being used to represent a bearing requirement of the service data, and the network parameter being used to represent a transmission quality of the network; determining a target traffic class to which the service parameter belongs based on the service parameter; obtaining a traffic scheduling initial parameter corresponding to the target traffic class; and determining a traffic scheduling parameter corresponding to the target traffic class based on the network parameter and the traffic scheduling initial parameter. Since the network parameter can represent the transmission quality of the network, and the service parameter can represent the bearing requirement of the service data, the traffic scheduling parameter finally determined by combining the network parameter and the service parameter can not only improve the performance, reliability and energy efficiency of the network, but also guarantee the quality of service and user satisfaction of different traffic classes.

[0060] To facilitate the understanding of the present embodiment, first, a traffic scheduling method disclosed by the present application is introduced in detail. The execution subject of the traffic scheduling method provided by the present application is generally a computer device with certain computing capability, which for example includes a terminal device or a server or other processing device. The terminal device can be a user equipment (UE), a mobile device, a user terminal, a terminal, a cellular phone, a cordless phone, a personal digital assistant (PDA), a handheld device, a computing device, etc. In some possible implementation manners, the traffic scheduling method can be realized by a processor calling computer readable instructions stored in a memory.

[0061] Referring to FIG. 1, Figure 1 The method provided by the present application comprises steps 101-104, wherein:

[0062] In step 101, a service parameter of service data and a network parameter of a network used for transmitting the service data are obtained.

[0063] In the present embodiment, the service parameter is used to represent a bearing requirement of the service data, such as a low-latency, large-bandwidth, low-jitter or high-security bearing requirement. In applications, the service parameter includes but is not limited to a QoS (Quality of Service) level.

[0064] In the present embodiment, the network parameter is used to represent a transmission quality of the network. In applications, the network parameter includes but is not limited to a network utilization rate, a delay average delay parameter, an average packet loss rate, etc.

[0065] In step 102, a target traffic class to which the service parameter belongs is determined based on the service parameter.

[0066] In this embodiment, the traffic categories of the service data include, but are not limited to, a low-latency category, a large-bandwidth category, a low-jitter category, a high-security category, and the like.

[0067] In this embodiment, the correspondence between the values of the different service parameters and the traffic categories is pre-configured, so that after the service parameters of the service data are obtained, the target traffic category can be obtained by querying the correspondence. Taking the service parameter including a quality of service level as an example, different quality of service level intervals can be pre-configured for the four categories of low-latency category, large-bandwidth category, low-jitter category, and high-security category, so that after the current quality of service level of the service data is obtained, the target traffic category can be obtained by querying the pre-configured correspondence using the quality of service level.

[0068] Step 103: Obtain a traffic scheduling initial parameter corresponding to the target traffic category.

[0069] In this embodiment, the traffic scheduling initial parameter is an initial parameter in the transmission process of the service data corresponding to the traffic category, and the traffic scheduling initial parameter includes, but is not limited to, an initial capacity of a target token bucket for transmitting the service data of the traffic category, an initial filling rate, an initial upper limit value of a waiting queue corresponding to the target token bucket, an initial transmission rate of the service data of the traffic category, and the like.

[0070] In this embodiment, each traffic category corresponds to a token bucket and a waiting queue for transmitting the service data of the traffic category, wherein the token bucket initially generates tokens at an initial filling rate, and when the network transmits network data packets at an initial transmission rate, a corresponding number of tokens must be obtained from the token bucket first, and the size of the network data packet determines the number of tokens that need to be consumed. If the number of tokens in the token bucket is insufficient to transmit the network data packet, the network data packet is put into the waiting queue for transmission when there are enough tokens in the token bucket.

[0071] Step 104: Determine a traffic scheduling parameter corresponding to the target traffic category based on the network parameter and the traffic scheduling initial parameter.

[0072] In this embodiment, the traffic scheduling parameter includes, but is not limited to, a token filling rate of a target token bucket for transmitting the service data of the target traffic category, a current upper limit value of a waiting queue for buffering the service data of the target traffic category, a token bucket capacity of the target token bucket for transmitting the service data of the target traffic category, and / or a transmission rate of the service data of the target traffic category.

[0073] The step 104 is described below with respect to each of the above traffic scheduling parameters.

[0074] First, when the traffic scheduling parameter includes a token filling rate of a target token bucket for transmitting service data of a target traffic class, the network parameter includes an average delay parameter and an average packet loss rate, the traffic scheduling initial parameter includes an initial filling rate of the target token bucket, and step 104 can include the following steps:

[0075] a product of the average delay parameter and a first adjustment coefficient is calculated to obtain a first result, and a product of the average packet loss rate and a second adjustment coefficient is calculated to obtain a second result;

[0076] a sum of the first result and the second result is calculated to obtain a third result;

[0077] a difference between the preset parameter and the third result is calculated to obtain a fourth result;

[0078] a product of the initial filling rate and the fourth result is calculated to obtain the token filling rate.

[0079] In this embodiment, in order to cope with network congestion or failure and the like, a feedback control mechanism is adopted, that is, the filling rate of the token bucket is dynamically adjusted according to the delay and the packet loss rate of the network.

[0080] Feedback control is a method of dynamically adjusting system parameters, which calculates the error of the system according to the output and the desired target of the system, and then adjusts the input of the system according to the size and direction of the error, so that the output of the system gradually approaches the desired target. Feedback control can cope with changes and disturbances of the system, and improve the stability and robustness of the system.

[0081] wherein the calculation formula of the token filling rate can be:

[0082] f i =f i 0 (1-ad-βp) (1)

[0083] wherein f i is the filling rate of the token bucket of the i-th traffic class, f i 0 is the initial value thereof, d is the average delay parameter of the network, p is the average packet loss rate of the network, a is the first adjustment coefficient, β is the second adjustment coefficient, and the preset parameter is 1.

[0084] Secondly, when the traffic scheduling parameter includes a current upper limit value of a waiting queue for buffering service data of a target traffic class, the network parameter includes an average delay parameter and an average packet loss rate, the traffic scheduling initial parameter includes an initial upper limit value of a waiting queue for buffering service data of a target traffic class, and step 104 can include the following steps:

[0085] Based on the network parameters and the initial parameters of the traffic scheduling, the traffic scheduling parameters corresponding to the target traffic class are determined, including:

[0086] The product of the average delay parameter and the third adjustment coefficient is calculated to obtain a fifth result, and the product of the average packet loss rate and the fourth adjustment coefficient is calculated to obtain a sixth result;

[0087] The sum of the preset parameter, the fifth result and the sixth result is calculated to obtain a seventh result;

[0088] The product of the seventh result, the initial upper limit value and the burst factor is calculated to obtain the current upper limit value, and the burst factor is used to measure the burst degree of the traffic of the target traffic class.

[0089] Consistent with the principle of calculating the token filling rate described above, in order to deal with network congestion or failure and the like, the mechanism of feedback control is still adopted, that is, the upper limit of the waiting queue is dynamically determined according to the delay and the packet loss rate of the network.

[0090] The calculation formula of the current upper limit value of the waiting queue can be:

[0091]

[0092] Wherein, q i is the current upper limit value of the waiting queue of the i-th traffic class, is the initial value, BF i is the burst factor (Burstiness Factor, BF) of the i-th traffic class, which is used to measure the burst degree of the traffic, and is usually represented by the ratio of the average rate and the peak rate of the traffic, u is the network utilization rate, d is the average delay parameter of the network, p is the average packet loss rate of the network, γ is the third adjustment coefficient, and δ is the fourth adjustment coefficient.

[0093] It should be understood that the burst factor can be calculated by measuring the rate and the peak rate in a period of time. The burst factor is the ratio of the average value of the rate to the average value of the peak rate in this period of time.

[0094] The meanings of formula (1) and formula (2) are that the token bucket filling rate and the upper limit of the waiting queue of each traffic class are dynamically adjusted according to the network delay and the packet loss rate. If the network delay and the packet loss rate increase, it means that the network quality becomes worse, so the filling rate of the token bucket should be reduced, the traffic sending should be reduced, and the upper limit of the waiting queue should be increased to increase the traffic cache, so as to reduce the network congestion and packet loss, and improve the network stability. On the contrary, if the network delay and the packet loss rate decrease, it means that the quality of the network becomes better, so the filling rate of the token bucket should be increased, the sending of the traffic should be increased, and the upper limit of the waiting queue should be reduced to reduce the traffic cache, so as to improve the network utilization rate and efficiency.

[0095] In the application, in order to improve the network energy efficiency, the network utilization and traffic burst can also be considered, so that the upper limit value of the waiting queue of each traffic class is inversely proportional to its utilization and burst, that is, the higher the utilization and burst, the lower the upper limit of the waiting queue, thereby reducing network congestion and delay and improving transmission quality.

[0096] Secondly, the traffic scheduling parameter includes the token bucket capacity of the target token bucket of the service data of the target traffic class; the network parameter includes network utilization; the traffic scheduling initial parameter includes the initial capacity of the target token bucket; and the step 104 can include:

[0097] In the case where the priority of the target token bucket is less than the priority threshold, the product of the network utilization and the fifth adjustment coefficient is calculated to obtain an eighth result;

[0098] The sum of the preset parameter and the eighth result is calculated to obtain a ninth result;

[0099] The product of the initial capacity and the ninth result is calculated to obtain the token bucket capacity.

[0100] It should be understood that in actual application, when the priority of the data packet of the transmitted service data is low, the data packet can be directly discarded or marked as low priority for transmission when the network is idle. In order to avoid excessive suppression of low-priority traffic, the embodiment adopts a sliding window mechanism, that is, the low-priority token bucket capacity is dynamically adjusted according to the network utilization.

[0101] The sliding window is a method of dynamically adjusting system parameters, which calculates the system idle degree according to the utilization of the system, and then adjusts the system transmission rate and the token bucket capacity according to the size and direction of the idle degree, so that the system transmission rate and the token bucket capacity adapt to the utilization of the system. The sliding window can fully utilize system resources, while avoiding system overload and waste.

[0102] The calculation formula for calculating the token bucket capacity can be:

[0103]

[0104] Wherein, c i is the token bucket capacity of the i th traffic class, is its initial value, u is the network utilization, η is the fifth adjustment coefficient, and 1 is the preset parameter.

[0105] Finally, the traffic scheduling parameter includes the transmission rate of the service data of the target traffic class, and the network parameter includes the network utilization;

[0106] Based on the network parameter and the traffic scheduling initial parameter, the traffic scheduling parameter corresponding to the target traffic class is determined, including:

[0107] The initial transmission rate of the service data of the target traffic class is obtained.

[0108] The product of the network utilization rate and the sixth adjustment coefficient is calculated to obtain a tenth result.

[0109] The sum of the preset parameter and the tenth result is calculated to obtain an eleventh result.

[0110] The product of the eleventh result and the initial transmission rate is calculated to obtain the transmission rate.

[0111] In order to avoid excessive suppression of low-priority traffic, the sliding window mechanism is still used, that is, the transmission rate is dynamically determined according to the network utilization rate.

[0112] The calculation formula of the transmission rate can be:

[0113]

[0114] Wherein, s i is the sending rate of the i-th traffic class, is the initial value, u is the network utilization rate, ∈ is the sixth adjustment coefficient, and 1 is the preset parameter.

[0115] The meanings of formula (4) and formula (5) are that the transmission rate and the token bucket capacity of each traffic class are dynamically adjusted according to the network utilization rate. If the network utilization rate increases, it means that the network idle degree decreases, so the transmission rate should be reduced, the sending of traffic should be reduced, the token bucket capacity should be increased, and the traffic cache should be increased. In this way, network overload and packet loss can be avoided, and network robustness can be improved. On the contrary, if the network utilization rate decreases, it means that the network idle degree increases, so the transmission rate should be increased, the sending of traffic should be increased, the token bucket capacity should be reduced, and the traffic cache should be reduced. In this way, network resources can be fully utilized, and network efficiency can be improved.

[0116] In this embodiment, the initial transmission rate can be obtained based on the weight of the traffic class. In specific implementation, obtaining the initial transmission rate of the service data of the target traffic class can include:

[0117] Obtaining the weight of each traffic class in the network traffic;

[0118] Based on the weight of the target traffic class included in the weight and the sum of the weights of each traffic class, the weight proportion of the target traffic class is calculated.

[0119] The product of the weight proportion and the total network bandwidth is calculated to obtain the initial transmission rate.

[0120] To balance the service quality and user satisfaction of different traffic classes, the initial transmission rate of each traffic class is made proportional to its weight by adopting the proportional fairness index. The present embodiment is based on proportional fairness for allocating network resources. Proportional fairness requires that the transmission rate of each traffic class is proportional to its weight, i.e. the higher the weight of a traffic class, the higher the transmission rate it should obtain, and vice versa. This can guarantee the service quality and user satisfaction of different traffic classes, while avoiding some extreme cases, such as some traffic classes being completely ignored or occupying all resources.

[0121] wherein the formula for calculating the initial transmission rate based on the traffic classes is:

[0122]

[0123] wherein r i is the initial transmission rate of the i-th traffic class, w i is the weight of the i-th traffic class, R is the total network bandwidth, and n is the total number of traffic classes. The meaning of this formula is that the transmission rate of each traffic class is equal to the product of its weight in all traffic classes and the total network bandwidth, which can guarantee that the sum of the transmission rates of all traffic classes is equal to the total network bandwidth, i.e. the resources are fully utilized, while also guaranteeing the principle of proportional fairness.

[0124] In one or more embodiments, a hash table is used to store the traffic scheduling parameters in the case of determining the traffic scheduling parameters.

[0125] A hash table, also known as a hash table, is a data structure that stores records using key-value pairs. Its core idea is to map the key (key) to a fixed position (index) through a hash function, so as to realize fast data access, insertion, deletion, etc.

[0126] In the present embodiment, for each traffic class, a token bucket is maintained, and tokens are added to the token bucket at its token bucket filling rate. If the token bucket is full, the excess tokens are discarded. In order to quickly find and update the state of the token bucket, while reducing the algorithm overhead and complexity, a hash table is used to store the token bucket information of each traffic class, including the token bucket capacity, the current number of tokens, the last update time, etc., and a bitmap technique is used to record whether the token bucket of each traffic class is full or not, so as to quickly judge whether excess tokens need to be discarded. Among them, the hash table technique can save space, only the key and the corresponding value need to be stored, without additional pointers or links, and can realize fast insertion, search and deletion, etc.; the bitmap technique can greatly compress the space, only a single bit is needed to represent a data, without storing the data itself.

[0127] In the scheme provided by the embodiment, the traffic scheduling parameters are finally determined by classifying the service data and combining the network parameters with the traffic scheduling initial parameters based on the network parameters. Since the network parameters can represent the transmission quality of the network and the service parameters can represent the bearing demand of the service data, the traffic scheduling parameters finally determined by combining the network parameters and the service parameters can not only improve the performance, reliability and energy efficiency of the network, but also guarantee the quality of service and user satisfaction of different traffic categories.

[0128] The embodiment of the application further provides a traffic scheduling device for executing the traffic scheduling method provided by any of the above embodiments. As shown in the figure, the device comprises: Figure 2

[0129] The first obtaining module 21 is configured to obtain the service parameters of the service data and the network parameters of the network for transmitting the service data, wherein the service parameters are used to represent the bearing demand of the service data, and the network parameters are used to represent the transmission quality of the network.

[0130] The first determining module 22 is configured to determine the target traffic category to which the service parameters belong based on the service parameters.

[0131] The second obtaining module 23 is configured to obtain the traffic scheduling initial parameters corresponding to the target traffic category.

[0132] The second determining module 24 is configured to determine the traffic scheduling parameters corresponding to the target traffic category based on the network parameters and the traffic scheduling initial parameters.

[0133] In one or more embodiments, the traffic scheduling parameters comprise a token filling rate of a target token bucket for transmitting the service data of the target traffic category, the network parameters comprise an average delay parameter and an average packet loss rate, and the traffic scheduling initial parameters comprise an initial filling rate of the target token bucket.

[0134] The second determining module 24 is configured to:

[0135] calculate the product of the average delay parameter and a first adjustment coefficient to obtain a first result, and calculate the product of the average packet loss rate and a second adjustment coefficient to obtain a second result;

[0136] calculate the sum of the first result and the second result to obtain a third result;

[0137] calculate the difference between a preset parameter and the third result to obtain a fourth result;

[0138] calculate the product of the initial filling rate and the fourth result to obtain the token filling rate.

[0139] ​In one or more embodiments, the traffic scheduling parameter comprises a current upper limit value of a waiting queue for buffering service data of the target traffic class; the network parameter comprises an average delay parameter and an average packet loss rate, and the traffic scheduling initial parameter comprises an initial upper limit value of a waiting queue for buffering service data of the target traffic class.

[0140] The second determining module 24 is configured to:

[0141] calculate a product of the average delay parameter and a third adjustment coefficient to obtain a fifth result, and calculate a product of the average packet loss rate and a fourth adjustment coefficient to obtain a sixth result;

[0142] calculate a sum of a preset parameter, the fifth result and the sixth result to obtain a seventh result;

[0143] calculate a product of the seventh result, the initial upper limit value and a burst factor to obtain the current upper limit value, the burst factor being used to measure a burst degree of traffic of the target traffic class.

[0144] In one or more embodiments, the traffic scheduling parameter comprises a token bucket capacity of a target token bucket for transmitting service data of the target traffic class; the network parameter comprises a network utilization rate; and the traffic scheduling initial parameter comprises an initial capacity of the target token bucket.

[0145] The second determining module 24 is configured to:

[0146] in a case where the priority of the target token bucket is less than a priority threshold, calculate a product of the network utilization rate and a fifth adjustment coefficient to obtain an eighth result;

[0147] calculate a sum of a preset parameter and the eighth result to obtain a ninth result;

[0148] calculate a product of the initial capacity and the ninth result to obtain the token bucket capacity.

[0149] In one or more embodiments, the traffic scheduling parameter comprises a transmission rate of service data of the target traffic class, and the network parameter comprises a network utilization rate.

[0150] The second determining module 24 is configured to:

[0151] the traffic scheduling initial parameter comprises an initial transmission rate of service data of the target traffic class;

[0152] calculate a product of the network utilization rate and a sixth adjustment coefficient to obtain a tenth result;

[0153] calculate a sum of a preset parameter and the tenth result to obtain an eleventh result;

[0154] calculating a product of the eleventh result and the initial transmission rate, to obtain the transmission rate.

[0155] In one or more embodiments, the second determining module 24 is configured to:

[0156] obtain weights of each traffic class in the network traffic;

[0157] calculate a weight proportion of the target traffic class based on a weight of the target traffic class included in the weights and a sum of the weights of each traffic class;

[0158] calculate a product of the weight proportion and a total bandwidth of the network, to obtain the initial transmission rate.

[0159] In one or more embodiments, the apparatus is further configured to:

[0160] In a case where the traffic scheduling parameter is determined, the traffic scheduling parameter is stored in a hash table.

[0161] The traffic scheduling apparatus provided by the embodiments of the present application and the traffic scheduling method provided by the embodiments of the present application are based on the same inventive concept and have the same beneficial effects as the method adopted, run or implemented by the traffic scheduling apparatus.

[0162] The embodiments of the present application further provide an electronic device for executing the traffic scheduling method described above. Please refer to Figure 3 which shows a schematic diagram of an electronic device provided by some embodiments of the present application. As shown in Figure 3 The electronic device 3 includes a processor 300, a memory 301, a bus 302 and a communication interface 303, the processor 300, the communication interface 303 and the memory 301 are connected through the bus 302; the memory 301 stores a computer program which can run on the processor 300, and the processor 300 runs the computer program to execute the traffic scheduling method provided by any one of the preceding embodiments of the present application.

[0163] The memory 301 can include a high-speed random access memory (RAM: Random Access Memory) and can also include a non-volatile memory such as at least one disk memory. The communication interface 303 can be wired or wireless, and can be used for communication between the apparatus and at least one other network element, and can use the Internet, a wide area network, a local area network, a metropolitan area network, etc.

[0164] The bus 302 can be an ISA bus, a PCI bus, an EISA bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like. The memory 301 is configured to store programs, and the processor 300 executes the programs after receiving execution instructions. The flow scheduling method disclosed in any of the embodiments of the present application can be applied to the processor 300 or implemented by the processor 300.

[0165] The processor 300 can be an integrated circuit chip with processing capability. In the implementation process, each step of the above method can be completed by an integrated logic circuit or an instruction in the form of software in the processor 300. The processor 300 described above can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), and the like; or can be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a ready programmable gate array (FPGA), or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Each method, step, and logic block diagram disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, or other mature storage media in the art. The storage medium is located in the memory 301, and the processor 300 reads the information in the memory 301 and combines the hardware to complete the steps of the above method.

[0166] The electronic device provided by the embodiments of the present application and the flow scheduling method provided by the embodiments of the present application have the same beneficial effects as the method they adopt, run, or implement.

[0167] The embodiments of the present application also provide a computer readable storage medium corresponding to the flow scheduling method provided in the foregoing embodiments. Please refer to Figure 4 The computer readable storage medium shown is an optical disc 30, and a computer program (i.e., a program product) is stored on the optical disc 30. When the processor runs the computer program, the flow scheduling method provided in any of the foregoing embodiments is executed.

[0168] It is to be noted that examples of the computer-readable storage medium can also include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical, magnetic storage mediums, and the like, which are not listed one by one here.

[0169] The computer-readable storage medium provided by the above embodiments of the present application has the same beneficial effects as the method adopted, run or implemented by the application program stored therein, based on the same inventive concept.

[0170] It should be noted that:

[0171] In the specification provided herein, a large number of specific details are described. However, it can be understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known structures and technologies are not shown in detail in order not to obscure the understanding of the present specification.

[0172] Similarly, it is to be understood that, in the above description of exemplary embodiments of the present application, various features of the present application are sometimes grouped together in a single embodiment, figure, or description of a related aspect. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed application requires more features than are explicitly recited in each claim. Rather, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following, in this application are hereby expressly incorporated into this detailed description, with each claim acting as a separate embodiment of the present application. The claims are not to be construed as reflecting an intention that the application requires more features than are explicitly recited in each claim.

[0173] Furthermore, those skilled in the art will recognize that references in the specification to "one embodiment", "an embodiment", "an example embodiment", means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment, and some embodiments can be widely different from other embodiments. In addition, it is to be understood that the phraseology "cause to be" and variations thereof, as used herein is expressly not intended to refer to a cause-and-effect relationship in the ordinary sense of that phrase, but encompasses any type of relationship wherein the effect in some way results from or is otherwise associated with the action or actions.

[0174] The above description is only the preferred embodiment of the present application, but the protection scope of the present application is not limited to this, and any person skilled in the art can easily think of changes or replacements within the technical scope disclosed by the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A traffic scheduling method, characterized in that, include: The service parameters for acquiring service data and the network parameters for transmitting the service data are obtained. The service parameters are used to characterize the carrying requirements of the service data, and the network parameters are used to characterize the transmission quality of the network. Based on the business parameters, determine the target traffic category to which the business parameters belong; Obtain the initial parameters for traffic scheduling corresponding to the target traffic category; Based on the network parameters and the initial parameters for traffic scheduling, determine the traffic scheduling parameters corresponding to the target traffic category; The traffic scheduling parameters include the transmission rate of the service data of the target traffic category, and the network parameters include network utilization. Based on the network parameters and the initial traffic scheduling parameters, the traffic scheduling parameters corresponding to the target traffic category are determined, including: The initial parameters for traffic scheduling include the initial transmission rate of the service data for the target traffic category; Calculate the product of the network utilization rate and the sixth adjustment coefficient to obtain the tenth result; Calculate the sum of the preset parameters and the tenth result to obtain the eleventh result; The transmission rate is obtained by multiplying the eleventh result by the initial transmission rate. Obtaining the initial parameters for traffic scheduling includes the initial transmission rate of service data for the target traffic category, including: Obtain the weights of each traffic category in network traffic; The weight percentage of the target traffic category is calculated based on the sum of the weights of the target traffic category and the weights of each traffic category included in the weights. The initial transmission rate is obtained by multiplying the weight percentage by the total network bandwidth.

2. The method according to claim 1, characterized in that, The traffic scheduling parameters include the token filling rate of the target token bucket for transmitting service data of the target traffic category; the network parameters include the average latency parameter and the average packet loss rate; and the initial traffic scheduling parameters include the initial filling rate of the target token bucket. Based on the network parameters and the initial traffic scheduling parameters, the traffic scheduling parameters corresponding to the target traffic category are determined, including: Calculate the product of the average delay parameter and the first adjustment coefficient to obtain a first result; and calculate the product of the average packet loss rate and the second adjustment coefficient to obtain a second result; Calculate the sum of the first result and the second result to obtain the third result; The difference between the preset parameters and the third result is calculated to obtain the fourth result; The token filling rate is obtained by multiplying the initial filling rate by the fourth result.

3. The method according to claim 1, characterized in that, The traffic scheduling parameters include the current upper limit of the waiting queue for caching service data of the target traffic category; the network parameters include the average latency parameter and the average packet loss rate; and the traffic scheduling initial parameters include the initial upper limit of the waiting queue for caching service data of the target traffic category. Based on the network parameters and the initial traffic scheduling parameters, the traffic scheduling parameters corresponding to the target traffic category are determined, including: The product of the average delay parameter and the third adjustment coefficient is calculated to obtain the fifth result; and the product of the average packet loss rate and the fourth adjustment coefficient is calculated to obtain the sixth result. The seventh result is obtained by summing the preset parameters, the fifth result, and the sixth result. The current upper limit is obtained by multiplying the seventh result, the initial upper limit, and the burst factor. The burst factor is used to measure the burstiness of the traffic in the target traffic category.

4. The method according to claim 1, characterized in that, The traffic scheduling parameters include the token bucket capacity of the target token bucket for transmitting service data of the target traffic category; the network parameters include network utilization; and the traffic scheduling initial parameters include the initial capacity of the target token bucket. Based on the network parameters and the initial traffic scheduling parameters, the traffic scheduling parameters corresponding to the target traffic category are determined, including: If the priority of the target token bucket is less than the priority threshold, calculate the product of the network utilization and the fifth adjustment coefficient to obtain the eighth result; Calculate the sum of the preset parameters and the eighth result to obtain the ninth result; The token bucket capacity is obtained by multiplying the initial capacity by the ninth result.

5. The method according to any one of claims 1-4, characterized in that, Also includes: Given the determined traffic scheduling parameters, a hash table is used to store the traffic scheduling parameters.

6. A flow scheduling device, characterized in that, include: The first acquisition module is used to acquire service parameters of the service data and network parameters of the network used to transmit the service data. The service parameters are used to characterize the carrying requirements of the service data, and the network parameters are used to characterize the transmission quality of the network. The first determining module is used to determine the target traffic category to which the service parameters belong based on the service parameters; The second acquisition module is used to acquire the initial parameters for traffic scheduling corresponding to the target traffic category; The second determining module is used to determine the traffic scheduling parameters corresponding to the target traffic category based on the network parameters and the initial traffic scheduling parameters; The traffic scheduling parameters include the transmission rate of the service data of the target traffic category, and the network parameters include network utilization. The second determining module is used for: The initial parameters for traffic scheduling include the initial transmission rate of the service data for the target traffic category; Calculate the product of the network utilization rate and the sixth adjustment coefficient to obtain the tenth result; Calculate the sum of the preset parameters and the tenth result to obtain the eleventh result; The transmission rate is obtained by multiplying the eleventh result by the initial transmission rate. The second determining module is used for: Obtain the weights of each traffic category in network traffic; The weight percentage of the target traffic category is calculated based on the sum of the weights of the target traffic category and the weights of each traffic category included in the weights. The initial transmission rate is obtained by multiplying the weight percentage by the total network bandwidth.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the computer program to implement the method as described in any one of claims 1-5.

8. A computer program product, characterized in that, Includes computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in a processor of an electronic device, the processor in the electronic device performs the method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Traffic control method and device

    CN101959236A

  • Traffic control method and equipment

    CN102238635A