WO2008095397A1 - Procédé de planification de trafic et appareil apparenté - Google Patents

Procédé de planification de trafic et appareil apparenté Download PDF

Info

Publication number
WO2008095397A1
WO2008095397A1 PCT/CN2007/071409 CN2007071409W WO2008095397A1 WO 2008095397 A1 WO2008095397 A1 WO 2008095397A1 CN 2007071409 W CN2007071409 W CN 2007071409W WO 2008095397 A1 WO2008095397 A1 WO 2008095397A1
Authority
WO
WIPO (PCT)
Prior art keywords
queue
user
bandwidth
scheduling
information
Prior art date
Application number
PCT/CN2007/071409
Other languages
English (en)
French (fr)
Inventor
Chao Lv
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2008095397A1 publication Critical patent/WO2008095397A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Definitions

  • the present invention relates to the field of network traffic scheduling technologies, and in particular, to a traffic scheduling method and apparatus. Background of the invention
  • Internet The rapidly evolving Internet (Internet) interacts with and promotes the ever-increasing user needs.
  • users' demand for communication has gradually extended from low-speed services such as traditional telephone, fax, and telegraph to high-speed Internet access, video telephony, and video on demand.
  • low-speed services such as traditional telephone, fax, and telegraph
  • video telephony and video on demand.
  • QoS quality of service
  • TM Traffic Scheduling
  • the so-called scheduling means that the router allocates the transmission rate of the information stream to be sent based on certain reference factors, and guarantees the fairness of the transmission in the case of network congestion.
  • the information stream can be a video stream, an audio stream, or a data stream.
  • FIG. 1 is a schematic diagram of an existing five-level traffic scheduling scheme.
  • the five-level scheduling scheme performs traffic scheduling based on five reference factors: flow (flow), user (user), virtual local area network (VLAN), queue priority (class), and port (port).
  • flow flow
  • user user
  • VLAN virtual local area network
  • class queue priority
  • port port
  • An existing traffic scheduling scheme generally classifies packet data having the same source Internet Protocol (IP) address, destination IP address, source port number, destination port number, protocol number, and service type in the same stream, that is, the same Flow, and divide a queue based on a flow, wherein each queue discharges information of each message belonging to the same flow.
  • IP Internet Protocol
  • the existing traffic scheduling scheme performs traffic scheduling based on the flow, and the scheduling corresponds to the fifth-level scheduling in FIG.
  • the router searches for the scheduling parameters related to the packet data information according to the packet data information in the queue, calculates the scheduling result based on the scheduling parameters, and calculates the bandwidth that can be allocated for the queue, which is different.
  • the queues are configured with different priorities and corresponding bandwidths are allocated.
  • the scheduling can be implemented by using a scheduling algorithm such as absolute priority (SP) or weight round robin (WRR).
  • SP absolute priority
  • WRR weight round robin
  • the reference factor for the fourth level of scheduling is the user. A user may correspond to multiple flows.
  • the fourth-level scheduling is adopted so that the total bandwidth allocated to the user does not exceed the user.
  • Bandwidth purchased this level of scheduling can be achieved using the Virtual Clock Shaping (SHVC) algorithm.
  • the reference factor of the third-level scheduling is a virtual local area network (VLAN), which adjusts the bandwidth allocated to each queue according to the VLAN network plan; the weighted fair queue (WFQ) algorithm can be used to implement the level scheduling.
  • the reference factor of the second-level scheduling is the queue priority class. Through this level of scheduling, the information flow with higher priority is guaranteed to be dequeued first; the absolute priority (SP) algorithm can be used to implement the scheduling.
  • the reference factor for the first level of scheduling is the port (port), which is used for the outbound port. The traffic is shaped so that the information flow is sent out more uniformly; the WFQ algorithm can be used to implement the scheduling.
  • the circuit for implementing the scheduling first needs to perform the above-mentioned flow classification according to the received data, and then, in order to ensure the flow control requirement, it is necessary to first find the scheduling parameter corresponding to each item of the data added to the queue from the corresponding scheduling parameter table, and then based on the scheduling parameter.
  • the scheduling parameters calculate the scheduling result. Since the length and content of the actual data added to the queue change at any time, it is difficult to predict in advance, and if the existing traffic scheduling scheme needs to accurately control the traffic flow of each user, the number of queues that need to be set up may be large, such as Have
  • the existing traffic scheduling scheme needs to set up 32k queues to implement traffic scheduling, and to perform traffic scheduling for such a large number of queues, the complexity of the implementation circuit is inevitably higher. And it is difficult to achieve high speed scheduling. However, if the complexity of the circuit is minimized by the measures of the second, third or fourth level of scheduling, then the scheduling effect obtained will be difficult to meet the requirements of the network.
  • Embodiments of the present invention provide a traffic scheduling method, and a complexity of a streamed traffic scheduling circuit.
  • a traffic scheduling method includes:
  • the elements in the queue are the service type to which the information flow belongs User information corresponding to the business;
  • One of the queues corresponds to a service.
  • the embodiment of the invention further provides a traffic scheduling device, and the complexity of the implementation of the centralized traffic scheduling circuit.
  • a traffic scheduling device includes: a queue element configuration module and a bandwidth allocation module; wherein
  • a queue element configuration module configured to configure, as a queue element, user information corresponding to a service in a service type of the information flow to a queue corresponding to the service;
  • the bandwidth allocation module allocates bandwidth for the user corresponding to the element in the queue according to the service corresponding to the queue and the user information in the queue, and outputs the bandwidth allocation information.
  • the traffic scheduling method and device provided by the embodiment of the present invention customize the user information of the service corresponding to the queue as an element constituting the queue, and based on the user information and the corresponding service in the queue.
  • Traffic scheduling is performed because the types of services provided by the carrier are limited, and the bandwidth of the service is usually fixed. Therefore, the number of queues that can be divided is not too large, and the number of users in a queue and the bandwidth of the service are parameters. It is predictable. Therefore, when performing traffic scheduling, it is only necessary to allocate the bandwidth to the user identified by the user information in the queue according to the bandwidth of the service corresponding to the queue, which is difficult to predict according to the existing traffic scheduling scheme.
  • the traffic scheduling scheme of the embodiment of the present invention is easier to implement in the case where the actual data is subjected to traffic classification, and then the bandwidth is allocated by searching for the relevant traffic parameters. And the traffic scheduling based on the service, and the operator is configured according to the user of the service and the customized service during the network planning, so that the traffic scheduling policy of the embodiment of the present invention and the related configuration of the operator during network planning can be configured. Corresponding, so the scheduling results can better meet the network requirements. It can be seen that the traffic scheduling solution of the embodiment of the present invention is used to protect The result of the certificate scheduling can meet the network requirements, and the circuit complexity of the traffic scheduling can be effectively simplified. BRIEF DESCRIPTION OF THE DRAWINGS
  • 1 is a schematic diagram of an existing five-level traffic scheduling scheme
  • FIG. 2 is a flowchart of an overall scheme of traffic scheduling according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a traffic scheduling apparatus according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of traffic scheduling based on services in Embodiment 1 of the present invention
  • FIG. 5 is a schematic diagram of queue element emissions in an embodiment of the present invention
  • FIG. 6 is a schematic diagram of traffic scheduling according to Embodiment 2 of the present invention. Mode for carrying out the invention
  • the traffic scheduling method provided by the embodiment of the present invention does not perform traffic scheduling based on the received actual data, but performs traffic scheduling based on user and user customized services.
  • the traffic scheduling process in the embodiment of the present invention is not related to whether the actual service data exists in the queue.
  • the scheduling result is user information sent at a certain rate, that is, the user is provided with an opportunity to send data once.
  • FIG. 2 is a flowchart of an overall scheme for traffic scheduling according to an embodiment of the present invention. The process includes the following steps:
  • Step 201 Divide a queue corresponding to the service according to the service of the service type to which the information flow belongs.
  • the types of services to which information flows belong to three types: video services, audio services, and data services.
  • the specific type of service to which the information flow provided by the operator belongs The types of services are also limited.
  • For audio services operators can provide specific services at a basic rate of 64 kbytes/second (b/s), 128 kb/s or 256 kb/s.
  • the present invention divides the queue based on the specific service. If the operator only provides an audio service with a basic rate of 64 kb/s, the number of queues based on the audio service is also one, and the specific service corresponding to the queue is An audio service with a basic rate of 64 kb/s.
  • the process of dividing the queue may be: first classifying the types of services that the operator can provide, such as video services, audio services, and data services, by which the service type of the information traffic can be determined; and then based on the carrier's ability to provide The specific service of each service type is divided into queues.
  • the specific service of each service type is divided into queues.
  • the specific services of the video stream that the operator can provide are lMb/s, 2Mb/s, and 4Mb/s, then similarly, three queues can be further divided based on the three specific services;
  • the specific services of the flow are 256 kb/s, IMb/s and 10 Mb/s, and similarly, three queues can be divided based on the three specific services.
  • step 202 the user information corresponding to the service in the service type of the information flow is configured as a queue element in the queue corresponding to the service.
  • the user information at this location may be user identification (ID) information, such as the user's mobile number.
  • ID user identification
  • the user ID can be configured as an element in a queue corresponding to the specific service.
  • the actual application may include: If multiple users purchase the same service of the specific service, the ID information of the multiple users appears in the queue corresponding to the specific service, and each user ID corresponds to the queue. An element that assigns a number to the plurality of user IDs, and assigns each user ID to a position corresponding to the number in the queue according to the number; or If the operator provides multiple specific services, and one user purchases multiple specific services, the same element will appear in each queue corresponding to multiple specific services, that is, the purchase of multiple specific services. User ID information.
  • the basic method for forming a queue in the present invention may be that the foregoing queue is divided based on a specific service, and the user ID corresponding to the specific service is added as a corresponding queue element. queue.
  • Step 203 Obtain user information in the queue, and allocate bandwidth to the user corresponding to the element in the queue according to the service corresponding to the queue and the user information in the queue.
  • the traffic scheduling policy in the embodiment of the present invention is based on user information and corresponding specific services, rather than based on actual received information flows.
  • the bandwidth required by the carrier is fixed. Therefore, when performing traffic scheduling, the traffic scheduling parameters corresponding to the actual packet data in the queue need to be calculated.
  • the specific implementation of the scheduling policy in the embodiment of the present invention is relatively easy. This advantage with respect to the present invention will be described in detail below.
  • the queue element may be configured only when the queue element changes.
  • FIG. 3 is a schematic structural diagram of an embodiment of the apparatus, including: a queue element configuration module
  • the queue element configuration module 301 is configured to configure the user information corresponding to the service in the service type to which the information flow belongs as a queue element to the queue corresponding to the service;
  • the bandwidth allocation module 302 is configured to allocate bandwidth for the user corresponding to the element in the queue according to the service corresponding to the queue and the user information in the queue, and output the bandwidth allocation information.
  • the bandwidth allocation module 302 is specifically a first allocation module
  • a first allocation module configured to use, according to a bandwidth parameter of a service corresponding to the queue, the queue
  • the user corresponding to each element is allocated a corresponding bandwidth, and the user information is output as the bandwidth allocation information according to the corresponding rate of the bandwidth; the user information is a user identifier.
  • the first distribution module may specifically include:
  • a queue bandwidth allocation module configured to allocate a bandwidth for the queue according to a product of a bandwidth parameter of a service corresponding to a user in the queue and a number of elements in the queue, and send the information of the user identifier according to the corresponding rate of the bandwidth;
  • a user bandwidth allocation module configured to receive information about the user identifier from the queue bandwidth allocation module, schedule a user identifier corresponding to the information of the user identifier, and allocate a bandwidth allocated to the queue to the queue.
  • the user outputs the user identifier as the bandwidth allocation information according to the bandwidth rate allocated by the user.
  • the bandwidth allocation module 302 further includes: a second allocation module and/or a third allocation module; wherein
  • a second allocation module configured to receive the user identifier of the first allocation module, determine whether the user in the queue has data to be sent, and if yes, retain the bandwidth allocated to the user, and output the user identification information according to the bandwidth corresponding rate Otherwise, the bandwidth allocated to the user is released; the above determination may be implemented based on a pre-configured valid data identifier;
  • a third allocation module configured to receive the user identifier from the first allocation module or the second distribution module, add bandwidths allocated to the same user in each queue, and limit the obtained bandwidth to a preset Within the threshold, the user ID is then output at a rate corresponding to the total bandwidth allocated to the user.
  • the traffic scheduling apparatus of the embodiment of the present invention may further be based on the structure shown in FIG. 3 above, and further includes:
  • the queue scheduling module is configured to receive the foregoing information from the bandwidth allocation module, and allocate a higher priority to the queue corresponding to the service type with higher real-time performance according to the service type of the information flow. Priority, and according to the priority, the scheduling result of the queue with higher priority is output first.
  • the traffic scheduling scheme according to the embodiment of the present invention is described in detail below in conjunction with the two embodiments.
  • the scheduling object of the embodiment of the present invention is not the actual data, but the user IDs of the queues. Therefore, the obtained scheduling result is also the user ID.
  • the subsequent data sending unit receives the user ID, the user is sure to The length of the data unit is sent out, which is why the embodiment of the present invention is not the actual data, but the user is provided with an opportunity to send data once. It can be seen that, how many times the same user ID is sent in a unit time, the bandwidth actually used by the user can be determined, and if so, in the embodiment of the present invention, the actual bandwidth is allocated to the user by using the user. The number of opportunities to send data is reflected.
  • FIG. 4 is a schematic diagram of traffic scheduling based on a specific service according to Embodiment 1 of the present invention.
  • the traffic scheduling in this embodiment is a three-level scheduling.
  • the reference factors of the scheduling are the user and the specific service, the total bandwidth of the queue, and the queue priority. Since the five-level scheduling of the subsequent embodiment 2 is performed by adding two-level scheduling on the basis of the three-level scheduling of the first embodiment, the reference factors in the first embodiment and the second embodiment are maintained in order to correspond to the second embodiment. The same number of scheduling levels is also the same.
  • the information flow provided by the operator includes: a video stream, an audio stream, and a data stream, where the specific services of the provided video stream include: lMb/s, 2Mb/s, and 4Mb/s; audio stream Specific services include: 64 kbytes/second (b/s), 128 kb/s, and 256 kb/s; the specific services of the data stream include: 256 kb/s, IMb/s, and 10 Mb/s.
  • the scheduling of each stage of the present embodiment will be sequentially described.
  • the queue needs to be first divided based on the specific service.
  • the process of dividing the queue can be: First, according to the current carrier
  • the service type of the information flow on the network classifying the information streams that may be received, and may be divided into the video stream, the audio stream, and the data stream as described above; and then according to the above specific specifications provided by the operator for each type of service.
  • the service is divided into nine queues as shown in Figure 4.
  • the user ID information of each specific service is customized as an element in the corresponding queue, and is configured into the queue according to the number, as shown in Figure 5, in each queue.
  • the emissions are related user ID information, which is different from the message data information discharged in the queue of the existing traffic scheduling scheme.
  • the reference factors for the fifth level of scheduling are users and specific services.
  • the user priorities of the elements constituting the queue in each queue may be the same and will be the largest.
  • the bandwidth can also be the same, that is, the chances of each user corresponding to each element in a queue sending data are equal.
  • the so-called maximum bandwidth is the rate of the specific service corresponding to the queue.
  • the reference factor for this level of scheduling is the total bandwidth of the queue.
  • the principle of configuring scheduling parameters for each queue may be that the total bandwidth allocated to the queue is the product of the number of elements in the queue and the maximum bandwidth that the user corresponding to each element can be allocated. . Therefore, in this level of scheduling, the total bandwidth allocated for each queue can be the maximum bandwidth that the queue can allocate. Considering that the sum of the total bandwidth allocated for all queues may exceed the bandwidth of the output port, the weight of the bandwidth can be allocated for each queue during scheduling, that is, if the port bandwidth is 10M, and the total bandwidth of all queue allocations is 20M.
  • the total bandwidth of a queue calculated according to the principle of configuring the scheduling parameters is 2M, and the weight corresponding to the bandwidth allocated to the queue is 0.5, so that the bandwidth obtained by the actual queue is 1M, thereby ensuring fairness of scheduling. Sex.
  • different scheduling algorithms may be employed for different service types. For example, for audio services, the existing SHVC algorithm can be used to calculate the scheduling result; For video services or data services, you can choose to use the existing WFQ algorithm or WRR algorithm to calculate the scheduling result.
  • the bandwidth allocated to a queue is reflected by the number of times the user in the queue is sent to send data, or how many times the user ID is sent in a unit of time.
  • the user ID is not limited to which or which of the queues. Because all users in the same queue have the same priority, the chances of users corresponding to each element being equal are equal.
  • the scheduling result of the fourth level is the user ID sent according to the rate corresponding to the total bandwidth allocated to each queue.
  • the so-called corresponding rate refers to knowing the total bandwidth allocated to the queue. Then, based on the length of the data sent by the user each time, it can be learned that the unit time is sent further, and the fifth level scheduling can be scheduled at the fourth level.
  • the fifth level scheduling uses a round robin (RR) mechanism to evenly allocate the total bandwidth allocated to the queue to each user in the queue.
  • RR round robin
  • the average allocated bandwidth for each user is as follows: The number of times that all users in the queue send data in a unit time is determined according to the total bandwidth of the queue; the number of times the data is sent is proportionally allocated to the user corresponding to each element in the queue. That is, the number of times the queue sends the user ID in the unit time is equally distributed to the user corresponding to each element. For example, if the queue can send 10,000 user IDs per unit time, there are 1 thousand users in the queue, then each Each user has 10 chances to send data in a unit time. Accordingly, the fifth-level scheduling result is the user ID output at a rate corresponding to the bandwidth allocated to each user. The interpretation of the corresponding rate is related to the above. The content is similar.
  • the fourth level scheduling and the fifth level scheduling can be implemented interactively.
  • the rate relationship between some specific services may be a multiple relationship, such as the specific services corresponding to the video stream mentioned above, 2Mb/s of the specific service
  • the rate is obviously twice that of the specific service of the IMb/s, and there are fewer users actually purchasing a specific service with a higher rate. In this case, in order to avoid too many queues and reduce the number of re-opening of a queue.
  • the method used is: in the queue corresponding to the specific service of the IMb/s, the user ID of the specific service of the 2Mb/s is configured to the two elements in the queue, that is, two identical elements may appear in one queue, specifically
  • the method may be to assign two numbers to the user, and configure the user ID information to a position corresponding to the two assigned numbers in the queue; then, in the fifth level, the round-robin allocation of each element in each queue is performed.
  • the bandwidth the user who purchases the higher rate service can be allocated to the bandwidth corresponding to the queue twice, so that the bandwidth allocated to the user is guaranteed to be the bandwidth purchased by the user, and the number of queues is reduced, thereby saving the implementation. Scheduling circuit resources.
  • the reference factor for this level of scheduling is the service priority.
  • the purpose of this level of scheduling is to assign higher priority to queues with higher real-time requirements according to the real-time requirements of different types of services.
  • the first-level scheduling further assigns a higher priority to the queue corresponding to the audio service with higher real-time requirements among the three types of services, and prioritizes the bandwidth of each queue.
  • the user in the higher-level queue can obtain better quality of service, that is, the scheduling result of the queue with higher priority is output, and the scheduling result is also a user ID.
  • the existing SP scheduling algorithm can be used to calculate the scheduling result, that is, the priority is assigned to each queue based on the service characteristics.
  • the description of the first level of scheduling can come to an end.
  • FIG. 6 is a schematic diagram of traffic scheduling according to Embodiment 2 of the present invention.
  • the embodiment is based on the embodiment shown in FIG. 4, and based on the foregoing three-level scheduling, the third-level scheduling and the second-level scheduling are added to form an optimization scheme of five-level scheduling.
  • the fifth level due to the fifth level, the fourth level and the first level scheduling shown in FIG. 5 and the above FIG. 3
  • the scheduling of the same series number is the same, so it will not be described in detail, and the third-level and second-level scheduling shown in FIG. 6 will be mainly described in detail.
  • the reference factor for this level of scheduling is the user's valid data.
  • the scheduling result of the fourth-level scheduling is to provide the user with the opportunity to send data according to the user identifier sent at the rate corresponding to the total bandwidth allocated to each queue, without considering the user. Whether the allocated bandwidth is actually used, that is, whether the user's valid data exists, for example, the user purchases a certain telephone service, obviously, the user does not use the telephone service all the time, therefore, if the user always occupies the The bandwidth corresponding to the telephone service obviously causes a waste of bandwidth resources.
  • the role of the third level scheduling is to release the unoccupied bandwidth resources of the allocated users, or to discard the opportunity to send data to users who do not use the service.
  • a valid data identifier may be pre-configured, that is, the information amount of one bit (bit) is used to indicate whether the user has valid data to be sent, and if the indication exists, the bandwidth allocated to the user is reserved, that is, the user ID is Output, if the indication does not exist, release the bandwidth resource allocated to the user, that is, discard the user's current opportunity to send data, so that multiple users can share the bandwidth resource.
  • bit the information amount of one bit
  • a user may customize a plurality of specific services, and the role of the level scheduling is to limit the total bandwidth allocated to one user to a preset threshold, which may be the bandwidth actually customized by the user, or configured by the operator for the user. bandwidth. Since the bandwidth allocated to each element in each queue by the fourth-level scheduling is the bandwidth of the corresponding specific service, that is, the maximum bandwidth that the user who customizes the specific service may obtain, therefore, if one user customizes multiple Specific service, then in the fourth or fifth level scheduling result, if the bandwidth allocated to the user in each queue is added, it is likely that the sum of the obtained bandwidth exceeds the bandwidth actually customized by the user. , through the second level of scheduling, can be The sum of the bandwidths obtained by the user is limited.
  • the specific method may be: pre-configuring the total bandwidth parameter information purchased by the user; calculating the total bandwidth allocated by the same user based on the user ID information in each queue; The total bandwidth is compared with the pre-configured total bandwidth parameter information. If the former is greater than the latter, the total bandwidth allocated to the user may be reduced according to the queue bandwidth weight corresponding to each specific service customized by the user.
  • Another effect of the second-level scheduling is that the scheduling result of the fourth or third level is based on traffic shaping by the user, that is, the rate at which the user sends the information flow conforms to the traffic flow model.
  • the level of scheduling can be implemented by using the existing GCRA algorithm.
  • the specific method may be: pre-configuring a set of independent traffic parameters based on specific services customized by each user, so that traffic shaping is performed independently for each user, where the traffic parameters may include : The average rate of the specific service, the maximum rate that can be reached, etc.; then, the maximum rate of the traffic parameter is used as the bucket depth, and the tokens available for sending the data are calculated in combination with the last timestamp sent, if the number of tokens is sufficient Sending a unit of data, then the opportunity to send data by the user can be output.
  • the opportunity for the user to send data is discarded; after that, the average rate of the specific service is taken as The bucket is deep, and the number of tokens available for this time is calculated in combination with the time stamp of the last data sent. If the number of tokens is enough to send one unit of data, the opportunity for the user to send data can be output, indicating that the data sending unit will The actual data is sent out. If the number of tokens is not enough to send one unit of data, then Discard the opportunity for this user to send data. Through the above GCRA algorithm operation, the rate at which the user sends data can be better adjusted to make the rate of sending data as smooth as possible.
  • the fairness of the allocated bandwidth in the fourth-level scheduling can be ensured, and the bandwidth resources are shared among users.
  • the operator since the operator usually performs bandwidth planning of the network according to the number of users, it is possible to ensure the basic performance of the data transmitted by each port of the device while ensuring that each user has a suitable bandwidth.
  • the foregoing third-level scheduling may be scheduled after the fourth-level scheduling or the second-level scheduling. Since the function of the level is to filter out the invalid user's opportunity to send data, the scheduling may be reduced after the fourth-level scheduling. The amount of information transmission increases the operational efficiency of the circuit and effectively reduces the performance requirements of the circuit corresponding to the second-level scheduling. It should also be noted that if the user ID without valid data is removed from the queue at the fifth level of scheduling, the scheduling may still be performed according to the monitoring result of whether the user has valid data, compared with the above. In order to configure the user ID of a specific service to be queued, it is not necessary. Therefore, in practical applications, it is recommended to adopt the third-level scheduling after the fourth or second-level scheduling.
  • one-level port-based traffic shaping can be added.
  • the port-based traffic shaping can adopt a relatively mature existing technology, and Let me repeat.
  • the traffic scheduling method and device divides the user-defined information of the specific service corresponding to the queue as an element constituting the queue according to the specific service division queue provided by the operator, and is based on the queue.
  • the user information and the corresponding specific service are used for traffic scheduling. Because the types of specific services provided by the carrier are limited, and the bandwidth of the specific service is usually fixed, the number of queues that can be divided is not too large, and because of a queue. The parameters such as the number of users and the bandwidth of the specific service are predictable. Therefore, when performing traffic scheduling, the bandwidth can be allocated to the user identified by the user information in the queue according to the bandwidth of the specific service corresponding to the queue.
  • the traffic scheduling scheme of the embodiment of the present invention is easier to implement in comparison with the existing traffic scheduling scheme, which is required to perform traffic classification according to the unpredictable actual data, and then allocate bandwidth by searching for related traffic parameters.
  • the traffic scheduling is performed based on the specific service, and the operator is configured according to the specific service and the user who customizes the specific service during the network planning, so that the traffic scheduling policy of the embodiment of the present invention and the operator during network planning are The related configuration can correspond, so the scheduling result can be more satisfied. Network needs. It can be seen that the traffic scheduling scheme of the embodiment of the present invention ensures that the scheduling result can meet the network requirements, and can effectively implement the circuit complexity of the traffic scheduling, schedule software configuration management, reduce the probability of scheduling data errors, and improve scheduling efficiency.
  • the traffic scheduling policy of the embodiment of the present invention can correspond to the related configuration of the operator during network planning, the software parameter configuration for performing traffic scheduling can be further simplified.
  • the traffic scheduling policy in the embodiment of the present invention does not involve actual data
  • the scheduling is performed based on the user parameters that can be predicted and the bandwidth parameters of the specific service, and the obtained scheduling result is actually providing an opportunity for the user to send data once, and the sending is performed.
  • the data is transmitted to the data sending unit, and the data sending unit is instructed to send data according to the scheduling result, that is, according to a certain rate and priority. Therefore, in principle, the traffic scheduling policy according to the embodiment of the present invention is not used because If the scheduling error occurs, data loss or data transmission error occurs. Therefore, the reliability and correctness of data transmission can be effectively ensured, and the quality of service can be provided.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

流量调度方法及装置
技术领域
本发明涉及网络的流量调度技术领域, 尤其涉及一种流量调度方法 及装置。 发明背景
迅速发展的因特网 (Internet ) 与不断提高的用户需求之间相互 影响并相互促进。 如今, 用户对通信的需求已从传统的电话、 传真、 电报等低速业务逐渐向高速的 Internet接入、 可视电话、 视频点播等 宽带业务领域延伸。 因此, 日益倶增的网络流量, 以及用户对服务质 量越来越高的要求, 都对作为 Internet核心设备的路由器性能及服务 质量 (QoS )提出越来越高的要求。
现有技术为保证 Internet的 QoS性能, 目前采用流量调度( TM ) 技术对网络流量进行调度, 以减少报文丟失率、 降低报文传送时延及 时延抖动。 所谓调度, 指的是路由器基于某些的参考因素, 对待发送 的信息流的发送速率进行调配, 并在网络拥堵的情况下, 保证发送的 公平性。 信息流可以是视频流、 音频流或数据流等。
参见图 1 , 图 1是现有五级流量调度方案的示意图。 该五级调度 方案分别基于流 (Flow ) 、 用户 (user ) 、 虚拟局域网 ( VLAN ) 、 队列优先级(class ) 和端口 (port ) 该五个参考因素进行流量调度。 为了实现调度,现有流量调度方案在调度之前需要将接收到的信息流 按照一定的规则进行分类,以便于对不同类的信息流采用适用的调度 算法以实现调度。现有流量调度方案通常将信息流中具有相同源网际 协议 (IP ) 地址、 目的 IP地址、 源端口号、 目的端口号、 协议号及 服务类型的报文数据分别归为同一类, 即同一个流, 并基于一个流划 分一个队列,其中每个队列中排放的就是属于同一个流的各报文数据 信息。
现有流量调度方案基于流进行流量调度,该调度对应于图 1中的 第五级调度。在第五级级调度中,路由器根据队列中的报文数据信息, 查找与该报文数据信息相关的调度参数, 基于调度参数计算调度结 果, 即算出能够为该队列分配的带宽, 为不同的队列配置不同的优先 级, 分配相应的带宽, 该调度可采用绝对优先级 (SP ) 或权重轮循 ( WRR ) 等调度算法来实现。 第四级调度的参考因素是用户。 一个 用户可能对应多个流, 因此, 若第五级调度结果出现分配给该用户的 总带宽超过用户购买的带宽的情况,那么通过第四级调度以使分配给 用户的总带宽不超过该用户购买的带宽; 可采用虚拟时钟整形 ( SHVC ) 算法实现该级调度。 第三级调度的参考因素是虚拟局域网 ( VLAN ) , 该级调度按 VLAN网络规划对分配给各队列的带宽进行 调整; 可采用加权公平队列 (WFQ ) 算法实现该级调度。 第二级调 度的参考因素是队列优先级(class ) , 通过该级调度, 保证具有较高 优先级的信息流先出队;可采用绝对优先级( SP )算法实现该级调度。 第一级调度的参考因素是端口 (port ) , 该级调度的作用是对出端口 的流量进行整形, 以使信息流较均勾地发送出去; 可采用 WFQ算法 实现该级调度。
发明者在研究中发现,现有技术是一种数据驱动型的流量调度技 术。 所谓数据驱动指的是, 负责流量调度的网络节点在接收到报文数 据时, 才进行流量调度。 实现调度的电路首先需要根据接收到的数据 进行上述的流分类, 然后为保证流量控制的要求, 需要从相应的调度 参数表中先查找加入队列的每一项数据对应的调度参数,然后再基于 调度参数计算出调度结果。由于加入队列的实际数据的长度和内容随 时发生变化, 事先很难预测, 并且, 若现有流量调度方案需要精确控 制每个用户的业务流, 那么所需要设立的队列数量可能较大, 如现有
4k个用户, 每个用户有 8个流, 那么现有流量调度方案需要设立 32k 个队列来实现流量调度, 而要对如此众多的队列进行流量调度, 其实 现电路的复杂度必然会较高, 并且难以实现高速调度。 而如果通过筒 化第二级、 第三级或四级调度的措施, 来尽量筒化电路的复杂度, 那 么得到的调度效果将很难满足网络的要求。
因此, 现有流量调度方案存在的问题是, 基于接收到的数据进行 流量调度, 导致电路实现的复杂度较高。 发明内容
本发明实施例提供一种流量调度方法, 筒化流量调度电路实现的复 杂度。
一种流量调度方法, 包括:
获取队列中的用户信息; 所述队列中的元素为信息流所属业务类型 的业务所对应的用户信息;
根据所述队列对应的业务及队列中的用户信息, 为队列中的元素对 应的用户分配带宽;
一个所述队列对应一种业务。
本发明实施例还提供一种流量调度装置, 筒化流量调度电路实现的 复杂度。
一种流量调度装置, 包括: 队列元素配置模块和带宽分配模块; 其 中,
队列元素配置模块, 用于将与信息流所属业务类型中业务对应的用 户信息, 作为队列元素配置到所述业务对应的队列中;
带宽分配模块, 根据队列对应的业务及队列中的用户信息, 为队列 中的元素对应的用户分配带宽, 将带宽分配信息输出。
本发明实施例提供的流量调度方法及装置, 按照由运营商提供的业 务划分队列, 将定制与队列对应的业务的用户信息作为组成该队列的元 素, 且基于队列中的用户信息及对应的业务进行流量调度, 由于运营商 提供的业务的种类有限, 且业务的带宽通常是固定的, 因此, 可划分出 的队列数不会太大, 且由于一个队列中的用户数与业务的带宽等参数是 可以预知的, 因此在进行流量调度时, 可只需根据与队列对应的业务的 带宽, 为队列中的用户信息所标识的用户分配该带宽, 相比较现有流量 调度方案中需要根据难以预测的实际数据进行流分类, 之后再通过查找 相关流量参数分配带宽的做法而言, 本发明实施例的流量调度方案更易 于实现。 并且, 由于基于业务进行流量调度, 而运营商在网络规划时也 是基于业务与定制业务的用户进行配置的, 这就使本发明实施例的流量 调度策略与运营商在网络规划时的相关配置能够对应, 因此使调度结果 更加能够满足网络需求。 可见, 采用本发明实施例的流量调度方案, 保 证调度结果能够满足网络需求的同时, 可有效筒化流量调度的电路复杂 度。 附图简要说明
图 1是现有五级流量调度方案的示意图;
图 2是本发明实施例提供的流量调度总体方案的流程图;
图 3是本发明实施例提供的流量调度装置的结构示意图;
图 4是本发明实施例 1中基于业务进行流量调度的示意图; 图 5是本发明实施例中队列元素排放示意图;
图 6是本发明实施例 2进行流量调度的示意图。 实施本发明的方式
为使本发明实施例技术方案和优点更加清楚, 下面将结合附图作进 一步详细描述。
与背景技术中提及的现有流量调度方案不同的是, 本发明实施例提 供的流量调度方法不是基于接收到的实际数据进行流量调度, 而是基于 用户及用户定制的业务进行流量调度, 因此, 本发明实施例中的流量调 度过程与队列中是否存在实际的业务数据并不相关, 调度结果为按一定 的速率发送的用户信息, 也即为用户提供一次发送数据的机会。
参见图 2, 图 2是本发明实施例提供的流量调度总体方案的流程图。 该流程包括以下步骤:
步骤 201、 根据信息流所属业务类型的业务, 划分与业务对应的队 列。
在现有网络业务中, 信息流所属业务类型通常不外乎三类: 视频业 务、 音频业务和数据业务。 运营商所提供的信息流所属业务类型的具体 业务的种类也是有限的,如对于音频业务,运营商可提供基本速率为 64k 字节 /秒(b/s )、 128kb/s或 256kb/s等的具体业务。 本发明基于具体业务 来划分队列, 如运营商只提供一个基本速率为 64kb/s的音频业务, 那么 基于该音频业务所划分出的队列个数也是一个, 且该队列所对应的具体 业务即是基本速率为 64kb/s的音频业务。
进一步讲, 实际应用中, 由于运营商可提供的具体业务通常是多种, 相应地, 划分出的队列也会有多个。 划分队列的过程可以是: 先对运营 商能够提供的业务类型进行分类, 如分为视频业务、 音频业务和数据业 务, 通过该分类即可确定信息流量所属业务类型; 然后再基于运营商能 够提供的每种业务类型的具体业务来划分队列, 如上述提及的, 音频流 的具体业务有三种, 相应地, 基于该三种具体业务, 可划分出与该三种 具体业务分别对应的 3个队列; 另外, 若运营商可提供的视频流的具体 业务是 lMb/s、 2Mb/s和 4Mb/s, 那么类似地, 基于该三种具体业务可再 划分出 3 个队列; 若提供的数据流的具体业务是 256kb/s、 IMb/s 和 10Mb/s, 那么类似地, 基于该三种具体业务也可划分出 3个队列。
步骤 202、 将与信息流所属业务类型中业务对应的用户信息, 作为 队列元素配置到业务对应的队列中。
该处的用户信息可以是用户标识( ID )信息, 如用户的手机号码等。 实际应用中, 若用户购买了一个具体业务的服务, 如基本速率为 64kb/s 的音频业务, 那么可将该用户 ID作为与该具体业务对应的队列中的元 素, 配置到该队列中。
实际应用中可能出现的情况包括: 多个用户购买了同一个的具体业 务的服务, 那么与该具体业务对应的队列中, 会出现该多个用户的 ID 信息, 每个用户 ID对应组成该队列的一个元素, 为该多个用户 ID分配 编号, 按照编号将各个用户 ID 配置到该队列中与编号对应的位置; 或 者, 运营商提供多种具体业务, 并且一个用户购买了多个具体业务的服 务, 那么在与多个具体业务分别对应的各队列中会出现相同的一个元 素, 即该购买多个具体业务的用户 ID信息。
当然, 实际可能出现的情况并不会限于上述几种, 但本发明中形成 队列的基本做法可以是上述基于具体业务划分队列, 并将该具体业务对 应的用户 ID作为组成对应的队列元素加入该队列。
步骤 203、 获取队列中的用户信息, 根据队列对应的业务及队列中 的用户信息, 为队列中的元素对应的用户分配带宽。
本发明实施例的流量调度策略基于用户信息及对应的具体业务进 行,而不是基于实际接收到的信息流进行。 由于运营商提供的具体业务, 其所需带宽较固定, 因此, 在进行流量调度时, 相对现有流量调度方案 中, 需要通过查找与队列中的实际报文数据相对应的流量参数, 计算调 度结果这一做法而言, 本发明实施例的调度策略的具体实现较为筒易。 有关本发明的该优点, 将在下文中作详细说明。
在实际应用中, 若队列已基于具体业务划分, 那么可不需再执行上 述步骤 201 , 而只需在队列元素有变动时, 配置队列元素即可。
本发明实施例还基于上述流量调度方法提供一种流量调度装置。 参 见图 3, 图 3是该装置实施例的结构示意图, 包括: 队列元素配置模块
301和带宽分配模块 302; 其中,
队列元素配置模块 301 , 用于将与信息流所属业务类型中业务对应 的用户信息, 作为队列元素配置到所述业务对应的队列中;
带宽分配模块 302,用于根据队列对应的业务及队列中的用户信息, 为队列中的元素对应的用户分配带宽, 将带宽分配信息输出。
带宽分配模块 302具体为第一分配模块; 其中,
第一分配模块, 用于根据与队列对应的业务的带宽参数, 为该队列 中每个元素所对应的用户分配相应的带宽, 按该带宽相应速率将用户信 息输出, 作为带宽分配信息; 所述用户信息为用户标识。
第一分配模块具体可包括:
队列带宽分配模块和用户带宽分配模块; 其中,
队列带宽分配模块, 用于根据与队列中用户对应的业务的带宽参数 和队列中元素个数的乘积, 为该队列分配带宽, 按该带宽相应速率发送 用户标识的信息;
用户带宽分配模块, 用于接收来自队列带宽分配模块的所述用户标 识的信息, 将与所述用户标识的信息对应的用户标识调度出队, 将分配 给该队列的带宽分配到该队列中的用户, 按用户分得的带宽相应速率将 用户标识输出, 作为带宽分配信息。
带宽分配模块 302进一步包括: 第二分配模块和 /或第三分配模块; 其中,
第二分配模块, 用于接收第一分配模块的上述用户标识, 判断队列 中的该用户是否存在需要发送的数据,若是,保留分配给该用户的带宽, 按该带宽相应速率将用户标识信息输出; 否则, 释放分配给该用户的带 宽; 上述判断可基于预先配置的有效数据标识来实现;
第三分配模块, 用于接收来自第一分配模块或第二分配模块的所述 用户标识, 将各队列中分配给同一个用户的带宽相加, 且将得到的带宽 之和限制在预先设定的阈值内, 之后按将分配给该用户的总带宽相应的 速率将该用户标识输出。
本发明实施例的流量调度装置还可基于上述图 3所示的结构, 进一 步包括:
队列调度模块, 用于接收来自带宽分配模块的上述信息, 根据信息 流量所属业务类型, 为实时性较高的业务类型对应的队列分配较高的优 先级, 且按照所述优先级, 将优先级较高的队列的调度结果优先输出。 下面结合两个实施例对本发明实施例给出的流量调度方案作详细说 明。
由于本发明实施例的调度对象不是实际数据, 而是组成队列的一个 个用户 ID, 因此, 得到的调度结果也是用户 ID, 后续的数据发送单元 接到该用户 ID后, 再将该用户的一定长度的数据单元发送出去, 这也 是之所以说本发明实施例调度出来的不是实际数据, 而是为用户提供一 次发送数据的机会的原因。 可见, 单位时间内发送同一个用户 ID多少 次, 就能够决定该用户实际使用的带宽是多少, 反之, 若知道因此, 本 发明实施例中, 为用户分配实际的带宽的多少, 通过为该用户提供多少 次发送数据的机会体现出来。
实施例 1:
参见图 4, 图 4是本发明实施例 1中基于具体业务进行流量调度的 示意图。 本实施例的流量调度是三级调度, 调度的参考因素分别是用户 和具体业务、 队列总带宽及队列优先级。 由于后续实施例 2的五级调度 是在实施例 1的三级调度基础上增加两级调度而进行的, 因此, 为了与 实施例 2相对应, 保持实施例 1中与实施例 2中参考因素相同的调度级 数的编号也相同。 本实施例中, 设运营商提供的信息流包括: 视频流、 音频流和数据流,其中,所提供的视频流的具体业务包括: lMb/s、 2Mb/s 和 4Mb/s;音频流的具体业务包括: 64k字节 /秒( b/s )、 128kb/s和 256kb/s; 数据流的具体业务包括: 256kb/s、 IMb/s和 10Mb/s。 接下来, 依次说明 本实施例的各级调度。
第五级调度:
在该级调度中, 为实现本发明实施例的流量调度, 需要先基于具体 业务划分出队列。 划分队列的过程可以是: 首先根据目前运营商所提供 的网络上信息流的业务类型, 对可能接收到的信息流进行分类, 可分为 如上所述的视频流、 音频流和数据流; 然后再根据运营商针对每一类业 务所提供的上述具体业务, 划分出如图 4所示的 9个队列; 之后, 将定 制每个具体业务的用户 ID信息作为对应的队列中的元素, 按照编号配 置到该队列中, 参见图 5, 每个队列中排放的是相关用户 ID信息, 不同 于现有流量调度方案的队列中排放的报文数据信息。
第五级调度的参考因素是用户及具体业务。 该级调度中, 由于每个 队列中的用户所购买的是相同的具体业务, 因此, 每个队列中组成该队 列的各元素对应的用户优先级可以是相同的, 并且将被分得的最大带宽 也可以相同, 也就是说, 一个队列中每个元素所对应的用户发送数据的 机会均等的。 所谓最大带宽即该队列所对应的具体业务的速率。
另外,如果是贵宾级用户,那么可考虑为该用户单独开辟一个队列, 配置该队列的做法可参照上述相关说明。
第四级调度:
该级调度的参考因素是队列总带宽。 具体地说, 该级调度中, 为每 个队列配置调度参数的原则可以是, 分配给该队列的总带宽是该队列中 的元素个数与各元素对应的用户能够被分配的最大带宽的乘积。 因此, 该级调度中, 为每个队列分配的总带宽可以是该队列所能够分配到的最 大带宽。 考虑到为所有队列分配的总带宽之和可能超过输出端口的带 宽,在调度时,可为各个队列分配带宽的权重, 即如果端口带宽为 10M, 而所有队列分配的总带宽之和却有 20M,设依据上述配置调度参数的原 则算出的某队列的总带宽为 2M, 则由为该队列分配带宽时对应的权重 为 0.5, 可得实际该队列得到的带宽为 1M, 以此保证调度的公平性。 在 实现调度, 即计算调度结果时, 对于不同的业务类型, 可采用不同的调 度算法。 如, 对于音频业务, 可采用现有 SHVC算法计算调度结果; 对 于视频业务或数据业务等, 可根据实际情况, 选择采用现有 WFQ算法 或 WRR算法计算调度结果。 而分配给某队列的带宽通过为该队列中的 用户提供多少次发送数据的机会体现出来, 或者说单位时间内发送多少 次用户 ID, 该处的用户 ID并不限于队列中的哪个或哪几个, 由于同一 队列中所有用户优先级相同, 因此每个元素对应的用户获得机会的几率 均等, 相应地, 第四级的调度结果就是按照分配给各队列的总带宽相应 的速率发送的用户标识, 所谓相应的速率指的是知道了分配给队列的总 带宽, 那么基于用户每次发送数据的长度, 就能够获知单位时间内发送 进一步讲, 上述第五级调度可在第四级调度的基础上进行, 在第四 级调度为每个队列分配了总带宽后, 第五级调度采用轮循 ( RR )机制, 将分配给该队列的总带宽, 平均分配给该队列中的每个用户。 该为每个 用户平均分配带宽体现在: 根据队列的总带宽确定该队列中所有用户在 单位时间内发送数据的次数; 将该发送数据的次数按比例分配给该队列 中各元素对应的用户。 即将该队列在单位时间内发送用户 ID 的次数均 分给每个元素对应的用户,如该队列单位时间内可发送的用户 ID数为 1 万个, 该队列中有 1千个用户, 那么每个用户在单位时间内有 10次发 送数据的机会, 相应地, 第五级调度结果就是按分配给每个用户的带宽 相应的速率输出的该用户 ID,对于相应的速率的解释与上文相关内容类 似。 第四级调度与第五级调度可交互实现。
还需要说明的是, 若运营商提供的具体业务种类较多, 并且有些具 体业务之间的速率关系可能是倍数关系, 如上述与视频流对应的各个具 体业务中, 2Mb/s 的具体业务的速率显然是 IMb/s的具体业务的速率的 2倍, 而实际购买具有较高速率的具体业务的用户较少, 这样情况下, 为了避免划分出的队列数太多以及减少重新开设一个队列的资源, 可采 用的做法是: 在 IMb/s具体业务对应的队列中, 将购买 2Mb/s具体业务 的该用户 ID配置给该队列中的两个元素, 即一个队列中可能出现两个 相同的元素, 具体的做法可以是为该用户分配两个编号, 将该用户 ID 信息配置到该队列中与分配的两个编号分别对应的位置; 那么在第五级 调度为每个队列中的各元素轮循分配带宽时, 该购买较高速率业务的用 户能够两次被分配到与该队列对应的带宽, 这样, 既可保证分配该用户 的带宽是该用户所购买的带宽, 又减少队列数, 进而节约实现调度的电 路资源。
有关第五级和第四级调度的说明至此可告一段落。
第一级调度:
该级调度的参考因素是业务优先级, 该级调度的目的是为了根据不 同业务类型的实时性需求, 将较高的优先级赋予对实时性要求较高的队 列。
基于第四级调度的调度结果,第一级调度进一步为上述三种业务中, 对实时性要求较高的音频业务对应的队列分配较高优先级, 在保证各队 列带宽的情况下, 使优先级较高的队列中的用户能够获得较好的服务质 量,即将优先级较高的队列的调度结果输出,该调度结果也是某用户 ID。
该级调度在具体实现时, 可采用现有 SP调度算法, 计算出调度结 果, 即基于业务特性, 为各队列分配优先级。
有关第一级调度的说明至此可告一段落。
实施例 2:
参见图 6, 图 6是本发明实施例 2进行流量调度的示意图。 为提供 更好的调度性能和参数, 本实施例基于图 4所示实施例, 在上述三级调 度基础上, 增加第三级调度和第二级调度, 形成一个五级调度的优化方 案。 其中, 由于图 5所示的第五级、 第四级和第一级调度与上述图 3所 示的相同级数编号的调度相同, 因此不作赘述, 主要对图 6所示的第三 级和第二级调度作详细说明。
第三级调度:
该级调度的参考因素是用户的有效数据。 由上述关于第四级调度的 文字说明可知, 第四级调度的调度结果是按照分配给各队列的总带宽相 应的速率发送的用户标识, 来为用户提供发送数据的机会, 而并没有考 虑用户实际是否在使用被分配的带宽, 即用户的有效数据是否存在, 如 用户购买的是某种电话业务, 显然, 用户不会每时每刻都在使用该电话 业务, 因此, 若用户一直占用该电话业务对应的带宽, 那么显然会造成 带宽资源的浪费。 该第三级调度的作用在于, 释放分配的用户的不被占 用的带宽资源, 或者说将提供给并未使用业务的用户的发送数据的机会 丟弃。 在具体实现时, 可预先配置一个有效数据标识, 即采用一个比特 ( bit ) 的信息量指示用户是否存在需要发送的有效数据, 若指示存在, 则保留分配给该用户的带宽, 即将该用户 ID输出, 若指示不存在, 则 将分配给该用户的带宽资源释放, 即丟弃用户的本次发送数据的机会, 使多个用户能够共享带宽资源。
第二级调度:
该级调度的参考因素用户。 一个用户可能定制多个具体业务, 该级 调度的作用在于将分配给一个用户的总带宽限制在预先设定的阈值内, 该阈值可以是用户实际定制的带宽, 或者是运营商为用户配置的带宽。 由于第四级调度所分配给每个队列中每个元素的带宽是对应的具体业 务的带宽, 也就是说是定制该具体业务的用户可能获得的最大带宽, 因 此, 若一个用户定制了多个具体业务, 那么在第四或第五级的调度结果 中, 若将各队列中分配给该用户的带宽相加, 那么很可能出现所得到的 带宽之和超过了该用户实际定制的带宽的情况, 通过第二级调度, 可对 用户得到的带宽之和作限制, 具体做法可以是: 预先配置用户购买的总 带宽参数信息; 基于各队列中的用户 ID信息, 计算出同一个用户所分 得的总带宽; 将该用户分得的总带宽与预先配置的总带宽参数信息进行 比较, 若前者大于后者, 则可按照该用户定制的各具体业务所对应的队 列带宽权重, 减少分配给该用户的总带宽。
第二级调度的另一个作用结果是对第四或第三级的调度结果, 基于 用户进行流量整形, 即, 使用户发送信息流的速率符合业务流量模型。 该级调度可采用现有 GCRA算法实现, 具体做法可以是: 预先基于每个 用户定制的具体业务配置一套独立的流量参数, 以便对每个用户独立地 进行流量整形, 其中, 流量参数可包括: 该具体业务平均的速率、 可能 达到的最大速率等; 然后, 将流量参数的最大速率作为桶深, 并结合上 次发送的时标计算本次发送数据可用的令牌, 若令牌数足够发送一个单 位数据, 那么可将本次用户发送数据的机会输出, 若令牌数并不足够发 送一个单位数据, 那么将本次用户发送数据的机会丟弃; 之后, 将具体 业务的平均速率作为桶深, 并结合上次发送数据的时标计算本次可用的 令牌数, 若令牌数足够发送一个单位数据, 那么可将本次用户发送数据 的机会输出, 即可指示数据发送单元将实际数据发送出去, 若令牌数并 不足够发送一个单位数据, 那么将本次用户发送数据的机会丟弃。 经过 上述 GCRA算法运算, 能够对用户发送数据的速率作较好的调整, 使发 送数据的速率尽量平滑。 因此, 经过第二级调度, 能够保证第四级调度 中分配带宽的公平性, 实现带宽资源在用户间的共享。 并且, 由于运营 商通常按照用户数量进行网络的带宽规划, 因此, 能够在保证每个用户 分得适合的带宽的情况下, 保证设备的各个端口的发送数据的基本性 能。
有关第二级调度的说明至此告一段落。 另外, 上述第三级调度可安排在第四级调度或第二级调度之后, 由 于该级的作用是过滤掉无效的用户发送数据的机会, 因此, 安排在第四 级调度之后, 可减少后续的信息传输量, 提高电路的运行效率, 并有效 降低第二级调度所对应的电路的性能要求。 还需要说明的是, 如果在第 五级调度时就将无有效数据的用户 ID从队列中剔出, 那么可能会导致 调度仍需依据对用户是否存在有效数据的监控结果来进行, 相对上述只 需将定制具体业务的用户 ID配置到队列中的做法而言, 未必筒便。 因 此, 在实际应用中, 推荐采用在第四或第二级调度之后进行第三级调度 的做法。
为了使发送数据的速率更加均匀, 即使流量整形效果更好, 在实际 应用中, 还可增加一级基于端口的流量整形, 有关基于端口的流量整形 可采用较为成熟的现有技术, 在此不再赘述。
综上所述, 本发明实施例提供的流量调度方法及装置, 按照由运营 商提供的具体业务划分队列, 将定制与队列对应的具体业务的用户信息 作为组成该队列的元素, 且基于队列中的用户信息及对应的具体业务进 行流量调度, 由于运营商提供的具体业务的种类有限, 且具体业务的带 宽通常是固定的, 因此, 可划分出的队列数不会太大, 且由于一个队列 中的用户数与具体业务的带宽等参数是可以预知的, 因此在进行流量调 度时, 可只需根据与队列对应的具体业务的带宽, 为队列中的用户信息 所标识的用户分配该带宽, 相比较现有流量调度方案中需要根据难以预 测的实际数据进行流分类, 之后再通过查找相关流量参数分配带宽的做 法而言, 本发明实施例的流量调度方案更易于实现。 并且, 由于基于具 体业务进行流量调度, 而运营商在网络规划时也是基于具体业务与定制 具体业务的用户进行配置的, 这就使本发明实施例的流量调度策略与运 营商在网络规划时的相关配置能够对应, 因此使调度结果更加能够满足 网络需求。 可见, 采用本发明实施例的流量调度方案, 保证调度结果能 够满足网络需求的同时, 可有效筒化流量调度的电路复杂度, 调度软件 配置管理工作, 降低调度数据出错几率, 并提高调度效率。
进一步讲, 由于本发明实施例的流量调度策略能够与运营商在网络 规划时的相关配置能够对应, 因此还能够使进行流量调度的软件参数配 置更为筒便。
另外, 由于本发明实施例的流量调度策略并未涉及实际数据, 调度 基于可以预知的用户参数及具体业务的带宽参数进行, 所得到的调度结 果其实是提供一次用户发送数据的机会, 将该发送数据的机会传送到数 据发送单元, 指示该数据发送单元按照调度结果, 即按照一定的速率和 优先级等信息发送数据, 因此, 原则上讲, 采用本发明实施例的流量调 度策略, 不会因为调度出错而造成数据丟失或数据发送出错的情况, 因 此, 能够有效保证数据传输的可靠性与正确性, 提供服务质量。

Claims

权利要求书
1、 一种流量调度方法, 其特征在于, 包括:
获取队列中的用户信息; 所述队列中的元素为信息流所属业务类型 的业务所对应的用户信息;
根据所述队列对应的业务及队列中的用户信息, 为队列中的元素对 应的用户分配带宽;
一个所述队列对应一种业务。
2、根据权利要求 1所述的方法, 其特征在于, 所述用户信息为用户 标识 ID信息。
3、根据权利要求 1或 2所述的方法, 其特征在于, 所述队列由一个 或多个所述用户信息对应的元素组成。
4、 根据权利要求 3所述的方面, 其特征在于, 所述队列中, 有两个 或两个以上元素相同。
5、根据权利要求 1或 2所述的方法, 其特征在于, 所述为队列中的 元素对应的用户分配带宽的步骤包括:
根据与队列对应的业务的带宽参数, 为该队列中每个元素所对应的 用户分配相应的带宽。
6、根据权利要求 5所述的方法, 其特征在于, 所述为该队列中每个 元素所对应的用户分配相应的带宽的步骤包括:
将所述队列所对应的业务的带宽参数与队列中的元素个数相乘, 得 出分配给该队列的总带宽;
将所述总带宽按比例分配给该队列中各元素分别对应的用户。
7、根据权利要求 6所述的方法, 其特征在于, 所述将分配给该队列 的总带宽按比例分配给该队列中各元素分别对应的用户的步骤包括: 将分配给该队列的总带宽平均分配给该队列中各元素分别对应的用 户;
或者, 将所述总带宽乘以为该队列分配带宽时对应的权重所得到的 带宽, 平均分配给该队列中各元素分别对应的用户。
8、根据权利要求 6所述的方法, 其特征在于, 所述将所述总带宽按 根据所述总带宽确定该队列中所有用户在单位时间内发送数据的次 数; 将该发送数据的次数按比例分配给该队列中各元素对应的用户。
9、根据权利要求 5所述的方法, 其特征在于, 所述为队列中的元素 对应的用户分配带宽的步骤进一步包括:
判断用户是否存在需要发送的数据, 若是, 保留分配给该用户的带 宽; 否则, 释放分配给该用户的带宽。
10、 根据权利要求 5或 9所述的方法, 其特征在于, 所述为队列中 的元素对应的用户分配带宽的步骤进一步包括:
若多个队列中存在同一个用户信息, 则将各队列中分配给该用户的 带宽相加, 且将得到的带宽之和限制在预先设定的阈值内。
11、 根据权利要求 5或 9所述的方法, 其特征在于, 所述为该队列 中每个元素所对应的用户分配相应的带宽后, 该方法进一步包括: 根据所述业务进行流量整形处理。
12、 根据权利要求 1所述的方法, 其特征在于, 所述为队列中的元 素对应的用户分配带宽后, 该方法进一步包括:
根据信息流所属业务类型, 为实时性较高的业务类型对应的队列分 配较高的优先级。
13、 一种流量调度装置, 其特征在于, 包括:,
队列元素配置模块, 用于将与信息流所属业务类型中业务对应的用 户信息, 作为队列元素配置到所述业务对应的队列中; 带宽分配模块, 根据队列对应的业务及队列中的用户信息, 为队列 中的元素对应的用户分配带宽, 将带宽分配信息输出。
14、根据权利要求 13所述的装置, 其特征在于, 所述带宽分配模块 具体为:
第一分配模块, 用于根据与队列对应的业务的带宽参数, 为该队列 中每个元素所对应的用户分配相应的带宽, 按该带宽相应速率将用户信 息输出, 作为带宽分配信息;
所述用户信息为用户标识。
15、根据权利要求 14所述的装置, 其特征在于, 所述第一分配模块 包括:
队列带宽分配模块, 用于根据与队列中用户对应的业务的带宽参数 和队列中元素个数的乘积, 为该队列分配带宽, 按该带宽相应速率发送 用户标识的信息;
用户带宽分配模块, 用于接收来自队列带宽分配模块的所述用户标 识的信息, 将与所述用户标识的信息对应的用户标识调度出队, 将分配 给该队列的带宽分配到该队列中的用户, 按用户分得的带宽相应速率将 用户标识输出, 作为带宽分配信息。
16、根据权利要求 14所述的装置, 其特征在于, 所述带宽分配模块 进一步包括:
第二分配模块, 用于接收所述第一分配模块输出的所述用户标识, 判断队列中的该用户是否存在需要发送的数据, 若是, 保留分配给该用 户的带宽, 按该带宽相应速率将用户标识信息输出; 否则, 释放分配给 该用户的带宽。
17、根据权利要求 14所述的装置, 其特征在于, 所述带宽分配模块 进一步包括:
第三分配模块, 用于接收来自所述第一分配模块的所述用户标识, 将各队列中分配给同一个用户的带宽相加, 且将得到的带宽之和限制预 先设定的阈值内, 之后按分配给该用户的总带宽相应的速率将该用户标 识输出。
18、根据权利要求 13所述的装置, 其特征在于, 所述装置进一步包 括:
队列调度模块, 用于接收来带宽分配模块的所述信息, 根据信息流 量所属业务类型, 为实时性较高的业务类型对应的队列分配较高的优先 级, 且按照所述优先级, 将优先级较高的队列的调度结果优先输出。
PCT/CN2007/071409 2007-02-05 2007-12-29 Procédé de planification de trafic et appareil apparenté WO2008095397A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710003485XA CN101009655B (zh) 2007-02-05 2007-02-05 流量调度方法及装置
CN200710003485.X 2007-02-05

Publications (1)

Publication Number Publication Date
WO2008095397A1 true WO2008095397A1 (fr) 2008-08-14

Family

ID=38697796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/071409 WO2008095397A1 (fr) 2007-02-05 2007-12-29 Procédé de planification de trafic et appareil apparenté

Country Status (2)

Country Link
CN (1) CN101009655B (zh)
WO (1) WO2008095397A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137464A (zh) * 2010-01-25 2011-07-27 中兴通讯股份有限公司 一种基站系统及其Abis口数据的发送方法
CN108243119A (zh) * 2016-12-26 2018-07-03 中兴通讯股份有限公司 一种提升rb资源利用率的调度的方法及装置
CN111565323A (zh) * 2020-03-23 2020-08-21 视联动力信息技术股份有限公司 一种流量控制方法、装置、电子设备及存储介质
CN113906720A (zh) * 2019-06-12 2022-01-07 华为技术有限公司 流量调度方法、设备及存储介质

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009655B (zh) * 2007-02-05 2011-04-20 华为技术有限公司 流量调度方法及装置
CN101772083A (zh) * 2008-12-30 2010-07-07 华为技术有限公司 一种带宽分配方法、装置和系统
CN101499973B (zh) * 2009-03-11 2012-05-23 中兴通讯股份有限公司 一种交换机实现全线速调度业务流的方法
CN102300261B (zh) * 2010-06-25 2014-02-12 普天信息技术研究院有限公司 一种hs-dsch的容量分配方法
CN103024456B (zh) 2011-09-27 2016-02-24 腾讯科技(深圳)有限公司 一种在线视频播放方法及视频播放服务器
CN103379038B (zh) * 2012-04-12 2018-08-03 南京中兴新软件有限责任公司 一种流量调度的装置及方法
US8804523B2 (en) 2012-06-21 2014-08-12 Microsoft Corporation Ensuring predictable and quantifiable networking performance
CN102857440A (zh) * 2012-08-17 2013-01-02 杭州华三通信技术有限公司 数据处理方法与交换机
CN103023812B (zh) * 2012-11-23 2018-07-31 上海寰创通信科技股份有限公司 一种多用户带宽均衡配置方法
CN103037415B (zh) * 2012-12-12 2016-07-06 深信服网络科技(深圳)有限公司 网络分析方法及系统
US20140226571A1 (en) * 2013-02-13 2014-08-14 Qualcomm Incorporated Apparatus and method for enhanced application coexistence on an access terminal in a wireless communication system
CN105159781B (zh) * 2015-08-25 2018-11-27 广东欧珀移动通信有限公司 调节智能终端应用网速的方法、装置和智能终端
CN105591970A (zh) * 2015-08-31 2016-05-18 杭州华三通信技术有限公司 一种流量控制的方法和装置
CN107404454B (zh) * 2016-05-18 2021-08-03 中国移动通信集团广东有限公司 通话质量调整方法及装置
CN110868357A (zh) * 2018-08-27 2020-03-06 中兴通讯股份有限公司 网络流量控制方法、vtep设备和存储介质
CN109246023A (zh) * 2018-11-16 2019-01-18 锐捷网络股份有限公司 流量控制方法、网络设备及存储介质
CN111491015B (zh) * 2020-03-31 2022-11-11 北京金山云网络技术有限公司 预热任务处理方法及系统、代理服务器、服务中心
CN111970544B (zh) * 2020-08-31 2022-10-18 咪咕视讯科技有限公司 下行流量的调度策略调整方法、服务器及可读存储介质
CN114268590B (zh) * 2021-11-24 2024-04-30 成都安恒信息技术有限公司 一种基于vpp的保障带宽的系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1490993A (zh) * 2003-09-15 2004-04-21 北京港湾网络有限公司 宽带网络接入设备用户多业务系统实现方法
CN1501592A (zh) * 2002-11-19 2004-06-02 电子科技大学 一种新的用于通信技术的多址方法
CN1842019A (zh) * 2005-03-28 2006-10-04 华为技术有限公司 一种业务带宽动态控制方法
CN1853382A (zh) * 2003-07-15 2006-10-25 硅系统设计公司 在电信系统中根据服务质量和服务类型动态管理资源的方法
US20070127487A1 (en) * 2005-12-07 2007-06-07 Electronics And Telecommunications Research Institute Method for managing service bandwidth by customer port and EPON system using the same
CN101009655A (zh) * 2007-02-05 2007-08-01 华为技术有限公司 流量调度方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6917590B1 (en) * 1998-11-13 2005-07-12 Sprint Communications Company L.P. Method and system for connection admission control
US6882623B1 (en) * 2000-02-08 2005-04-19 Native Networks Technologies Ltd. Multi-level scheduling method for multiplexing packets in a communications network
GB2375927B (en) * 2001-05-26 2004-09-29 Cambridge Broadband Ltd Method and apparatus for communications bandwidth allocation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501592A (zh) * 2002-11-19 2004-06-02 电子科技大学 一种新的用于通信技术的多址方法
CN1853382A (zh) * 2003-07-15 2006-10-25 硅系统设计公司 在电信系统中根据服务质量和服务类型动态管理资源的方法
CN1490993A (zh) * 2003-09-15 2004-04-21 北京港湾网络有限公司 宽带网络接入设备用户多业务系统实现方法
CN1842019A (zh) * 2005-03-28 2006-10-04 华为技术有限公司 一种业务带宽动态控制方法
US20070127487A1 (en) * 2005-12-07 2007-06-07 Electronics And Telecommunications Research Institute Method for managing service bandwidth by customer port and EPON system using the same
CN101009655A (zh) * 2007-02-05 2007-08-01 华为技术有限公司 流量调度方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137464A (zh) * 2010-01-25 2011-07-27 中兴通讯股份有限公司 一种基站系统及其Abis口数据的发送方法
CN102137464B (zh) * 2010-01-25 2014-09-10 中兴通讯股份有限公司 一种基站系统及其Abis口数据的发送方法
CN108243119A (zh) * 2016-12-26 2018-07-03 中兴通讯股份有限公司 一种提升rb资源利用率的调度的方法及装置
CN113906720A (zh) * 2019-06-12 2022-01-07 华为技术有限公司 流量调度方法、设备及存储介质
CN113906720B (zh) * 2019-06-12 2024-05-10 华为技术有限公司 流量调度方法、设备及存储介质
CN111565323A (zh) * 2020-03-23 2020-08-21 视联动力信息技术股份有限公司 一种流量控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN101009655A (zh) 2007-08-01
CN101009655B (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
WO2008095397A1 (fr) Procédé de planification de trafic et appareil apparenté
KR100608904B1 (ko) 서비스 품질 보장을 위한 시스템 및 방법
CN101964758A (zh) 一种基于区分服务的队列调度方法
US9548872B2 (en) Reducing internal fabric congestion in leaf-spine switch fabric
CN107454015B (zh) 一种基于OF-DiffServ模型的QoS控制方法及系统
CN101436987A (zh) QoS服务的调度配置方法和装置
WO2014173367A2 (zh) 实现QoS的方法、系统、设备及计算机存储介质
US9940471B2 (en) Virtual output queue authorization management method and device, and computer storage medium
CN101286949A (zh) 基于IEEE802.16d标准的无线Mesh网MAC层资源调度策略
Homg et al. An adaptive approach to weighted fair queue with QoS enhanced on IP network
JP4163044B2 (ja) 帯域制御方法およびその帯域制御装置
US8248932B2 (en) Method and apparatus for fairly sharing excess bandwidth and packet dropping amongst subscribers of a data network
CN110636011A (zh) 电力通信业务数据流智能调度方法、装置及终端设备
CN112600684B (zh) 云业务的带宽管理及配置方法及相关装置
US7433953B1 (en) Methods and apparatus for reducing arbitration delay in channelized systems by use of additional scheduling hierarchy
WO2014173466A1 (en) Method for operating a wireless network and a wireless network
WO2016082603A1 (zh) 一种调度器及调度器的动态复用方法
CN100466593C (zh) 一种支持多业务的综合队列调度的实现方法
WO2007085159A1 (fr) Procédé et système de contrôle de la qos
KR20120055947A (ko) 가입자 인지 플로우별 QoS 제공 방법 및 장치
JP2946462B1 (ja) パケット・スケジューリング制御方法
US20090073878A1 (en) Usage based queuing with accounting for wireless access points
CN102769566B (zh) 一种多级调度系统配置、变更方法和装置
WO2022135202A1 (zh) 业务流的调度方法、装置及系统
US6904056B2 (en) Method and apparatus for improved scheduling technique

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07846235

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07846235

Country of ref document: EP

Kind code of ref document: A1