WO2021254202A1 - 数据调度方法、设备和存储介质 - Google Patents
数据调度方法、设备和存储介质 Download PDFInfo
- Publication number
- WO2021254202A1 WO2021254202A1 PCT/CN2021/098666 CN2021098666W WO2021254202A1 WO 2021254202 A1 WO2021254202 A1 WO 2021254202A1 CN 2021098666 W CN2021098666 W CN 2021098666W WO 2021254202 A1 WO2021254202 A1 WO 2021254202A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- target
- scheduling
- tunnel
- scheduling node
- pseudowire
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000013507 mapping Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000004378 air conditioning Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
Definitions
- the embodiments of the present application relate to the technical field of hierarchical flow control, and in particular, to a data scheduling method, device, and storage medium.
- Quality of Service (Quality of Service, QoS) technology is a security mechanism of the network to solve problems such as network delay and congestion.
- the current QoS technology can only map the message to different sending queues according to the priority field in the message, and then realize sending queue scheduling and bandwidth allocation through different scheduling algorithms between the sending queues.
- the scheduling basis of the above-mentioned QoS technology is based on the different priorities of the messages, and its basis is relatively single, which leads to the limited application scenarios of the current QoS technology.
- the embodiments of the present application propose a data scheduling method, device, and storage medium.
- the embodiment of the present application provides a data scheduling method.
- the method includes the following steps: determining a target tunnel corresponding to the data to be scheduled according to user indication information of the data to be scheduled; putting the data to be scheduled into the The priority field of the scheduling data corresponds to the target priority sub-queue; through the target tunnel scheduling node corresponding to the target tunnel, scheduling the target priority queue to which the target priority sub-queue belongs; scheduling through the target port corresponding to the target port A node that schedules data in the target tunnel scheduling node; wherein, the target port is a port corresponding to the target tunnel.
- the embodiment of the present application also proposes a data scheduling device.
- the device includes a memory, a processor, a program stored in the memory and running on the processor, and a program for implementing the processor and the A data bus for connection and communication between memories.
- the program is executed by the processor, the steps of the foregoing method are implemented.
- the embodiment of the present application provides a storage medium for computer-readable storage.
- the storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to realize the foregoing Method steps.
- FIG. 1 is a flowchart of a data scheduling method provided by an embodiment
- FIG. 2 is a flowchart of a data scheduling method provided by another embodiment
- FIG. 3 is a schematic structural diagram of a data scheduling device provided by an embodiment
- FIG. 4 is a schematic structural diagram of a service access unit in a data scheduling device provided by an embodiment
- FIG. 5 is a schematic structural diagram of a hierarchical scheduling unit in a data scheduling device provided by an embodiment
- FIG. 6 is a schematic diagram of the principle of bandwidth allocation when the tunnel scheduling node is an empty node according to an embodiment
- FIG. 7 is a schematic diagram of the principle of bandwidth allocation when the pseudowire scheduling node is an empty node according to an embodiment
- FIG. 8 is a flowchart of a data scheduling method provided by another embodiment
- Fig. 9 is a schematic diagram corresponding to Fig. 8.
- FIG. 10 is a flowchart of a data scheduling method provided by still another embodiment
- Fig. 11 is a schematic diagram corresponding to Fig. 10;
- FIG. 12 is a flowchart of a data scheduling method provided by another embodiment
- Figure 13 is a schematic diagram corresponding to Figure 12;
- FIG. 14 is a flowchart of a data scheduling method provided by another embodiment
- Fig. 15 is a schematic diagram corresponding to Fig. 14;
- FIG. 16 is a schematic structural diagram of a data scheduling device provided by an embodiment
- Fig. 17 is a schematic structural diagram of a data scheduling device provided by an embodiment.
- This embodiment provides a data scheduling method, which includes: determining the target tunnel corresponding to the data to be scheduled according to user indication information of the data to be scheduled, and putting the data to be scheduled into the target priority sub-field corresponding to the priority field of the data to be scheduled.
- a data scheduling method which includes: determining the target tunnel corresponding to the data to be scheduled according to user indication information of the data to be scheduled, and putting the data to be scheduled into the target priority sub-field corresponding to the priority field of the data to be scheduled.
- the target tunnel scheduling node corresponding to the target tunnel scheduling the target priority queue to which the target priority sub-queue belongs, scheduling the node through the target port corresponding to the target port, scheduling the data in the target tunnel scheduling node, where the target port is The port corresponding to the target tunnel.
- the data scheduling method can determine the target tunnel corresponding to the data to be scheduled according to the user indication information of the data to be scheduled, schedule the target priority queue where the data to be scheduled is located through the target tunnel scheduling node corresponding to the target tunnel, and then use the corresponding target port
- the target port scheduling node scheduling the data in the target tunnel scheduling node, because the target tunnel is determined according to the user indication information of the data to be scheduled, so that the priority field of the data to be scheduled and the user indication information can be combined to schedule the data to be scheduled That is, different flow control methods are provided for different users to meet the needs of users, improve the scheduling flexibility of QoS technology, and at the same time, reduce the maintenance cost of operators.
- Fig. 1 is a flowchart of a data scheduling method provided by an embodiment. This embodiment is applicable to scenarios where data is scheduled. This embodiment can be executed by a data scheduling device, which can be implemented by software and/or hardware, and the data scheduling device can be integrated into a communication device with packet switching function, and the communication device with packet switching function Can be set in the packet switching system. As shown in Figure 1, the data scheduling method provided in this embodiment includes the following steps:
- Step 101 Determine the target tunnel corresponding to the data to be scheduled according to the user indication information of the data to be scheduled.
- the communication device with the packet switching function may be an optical transport network (Optical Transport Network, OTN) device.
- OTN optical Transport Network
- the OTN device can be connected to the switch through a Packet Transport Network (PTN) device.
- PTN Packet Transport Network
- the data to be scheduled in this embodiment may be data in a multi-protocol label switching (Multi-Protocol Label Switching, MPLS) system.
- MPLS Multi-Protocol Label Switching
- the user indication information may include: the device port (port) that receives the data to be scheduled and/or the number of the virtual local area network (Virtual Local Area Network, VLAN) where the scheduling data is located.
- the device port that receives the to-be-scheduled data refers to the port through which a communication device with a packet switching function receives the to-be-scheduled data. It should be noted that the user indication information may or may not be encapsulated in the to-be-scheduled data, and this embodiment is not limited thereto.
- the to-be-scheduled data of different users is transmitted on different tunnels. That is, the tunnel corresponds to the user.
- the data scheduling apparatus may determine the target tunnel corresponding to the to-be-scheduled data according to the user indication information in the to-be-scheduled data. In this embodiment, there may be multiple data to be scheduled. In step 101, the data scheduling apparatus may determine the target tunnel corresponding to the data to be scheduled according to the user indication information of each data to be scheduled.
- the user indication information may be an identifier of a device port, for example, "port 1".
- Step 102 Put the to-be-scheduled data into the target priority sub-queue corresponding to the priority field of the to-be-scheduled data.
- the to-be-scheduled data itself is encapsulated with a priority field.
- the length of the priority field may be 3 bits.
- the corresponding priority can be determined.
- the priority corresponds to the priority sub-queue. Therefore, the target priority sub-queue corresponding to the data to be scheduled can be determined according to the priority field of the data to be scheduled. .
- the target priority sub-queue belongs to the target priority queue.
- the target priority queue in this embodiment includes multiple priority sub-queues including the target priority sub-queue.
- the priority queue may have a mapping relationship with the tunnel. After the target tunnel corresponding to the data to be scheduled is determined in step 101, in step 102, the target priority queue corresponding to the target tunnel can be determined according to the mapping relationship between the priority queue and the tunnel and the target tunnel, and then according to The priority field of the data to be scheduled determines the corresponding target priority sub-queue.
- the target priority queue includes 8 priority sub-queues: sub-queue 0, sub-queue 1, sub-queue 2, sub-queue 3, ..., sub-queue 7, and the priority field of the data to be scheduled is 110.
- the priority field it is determined that the priority of the data to be scheduled is 6, and the corresponding sub-queue is sub-queue 6. Therefore, in step 102, the to-be-scheduled data is put into the sub-queue 6.
- the data to be scheduled is put into the target priority sub-queue and waits for scheduling.
- Step 103 Scheduling the target priority queue to which the target priority sub-queue belongs through the target tunnel scheduling node corresponding to the target tunnel.
- the target tunnel corresponds to the target tunnel scheduling node.
- the target tunnel scheduling node is used to schedule data in the target priority queue.
- the target priority sub-queue corresponds to the third target minimum required bandwidth.
- the target priority queue is a collection of at least two priority sub-queues, and the at least two priority sub-queues include the target priority sub-queue. That is, the target priority queue is a set of multiple priority sub-queues including the target priority sub-queue, and each priority sub-queue corresponds to the third minimum required bandwidth.
- the target tunnel scheduling node corresponds to the maximum required bandwidth of the first target. When the priority sub-queue is the target priority sub-queue, the third target minimum required bandwidth and the third minimum required bandwidth represent the same concept.
- the target priority sub-queues included in the target priority queue when the sum of the traffic of all priority sub-queues included in the target priority queue is greater than the first target maximum required bandwidth, it indicates that the target tunnel is congested. In this implementation, it is necessary to determine the third actual bandwidth corresponding to the target priority sub-queue according to the third target minimum required bandwidth corresponding to the target priority sub-queue, and send the data in the target priority sub-queue according to the third actual bandwidth .
- the process of determining the third actual bandwidth may be: determining the sum of the third minimum required bandwidth of all priority sub-queues in the target priority queue connected to the target tunnel scheduling node, and subtracting the first target maximum required bandwidth The remaining bandwidth after the sum of the third minimum required bandwidth of all priority sub-queues is allocated according to the preset third bandwidth allocation rule, the third target allocation bandwidth corresponding to the target priority sub-queue is determined, and the target priority sub-queue The sum of the corresponding third target minimum required bandwidth and the third target allocated bandwidth is determined as the third actual bandwidth corresponding to the data in the target priority sub-queue.
- This allocation method can ensure that when the target tunnel is congested, the minimum required bandwidth of each priority sub-queue is guaranteed first.
- the preset third bandwidth allocation rule here may be to allocate all the remaining bandwidth to several priority sub-queues with higher priority, or to allocate each priority sub-queue according to a certain preset ratio. This embodiment is not limited to this.
- the sum of the traffic of all priority sub-queues included in the target priority queue refers to the sum of the traffic of data in all priority sub-queues included in the target priority queue.
- the traffic or bandwidth in this embodiment all refer to the data transmission rate.
- the target tunnel scheduling node schedules the data in the target priority queue, the data will flow into the target tunnel. Since the target tunnel corresponds to the target tunnel scheduling node, it can also be said that data will flow into the target tunnel scheduling node.
- Step 104 Schedule data in the target tunnel scheduling node through the target port scheduling node corresponding to the target port.
- the target port is the port corresponding to the target tunnel.
- enterprise users' VoIP calls need to ensure low latency and high real-time performance.
- individual users browsing the web are not sensitive to the browsing network speed. Therefore, separate bandwidth control is required for data of different users.
- a target port scheduling node corresponding to the target port is set.
- the target port scheduling node may be connected to at least two tunnel scheduling nodes, and the at least two tunnel scheduling nodes include the target tunnel scheduling node. That is, the target port scheduling node is connected to multiple tunnel scheduling nodes including the target tunnel scheduling node.
- each tunnel corresponds to the data of one user. Therefore, the target port scheduling node can schedule multiple tunnels, that is, the data of multiple users, so as to provide different flow control methods for different users to meet the needs of users.
- the demand of QoS improves the scheduling flexibility of QoS technology.
- the target tunnel scheduling node corresponds to the first target minimum required bandwidth.
- the target port scheduling node corresponds to the target total bandwidth.
- the data in the multiple tunnel scheduling nodes can be sent from the target port at the same time.
- the target port scheduling node when the sum of all data traffic in at least two tunnel scheduling nodes connected by the target port scheduling node is greater than the target total bandwidth, it is determined that the target port is congested; when the target port is congested, the node is scheduled through the target port, and according to The first target minimum required bandwidth determines the first actual bandwidth corresponding to the data in the target tunnel scheduling node; the target port scheduling node sends the data in the target tunnel scheduling node according to the first actual bandwidth.
- each of the at least two tunnel scheduling nodes corresponds to the first minimum required bandwidth.
- the process of determining the first actual bandwidth can be: determining the sum of the first minimum required bandwidth of all tunnel scheduling nodes connected to the target port scheduling node; subtracting the total target bandwidth from the sum of the first minimum required bandwidth and the remaining bandwidth according to the pre-defined Set the first bandwidth allocation rule to allocate, and determine the first target allocation bandwidth corresponding to the target tunnel scheduling node; determine the target tunnel scheduling as the target tunnel scheduling by the sum of the first target minimum required bandwidth corresponding to the target tunnel scheduling node and the first target allocation bandwidth The first actual bandwidth corresponding to the data in the node.
- the preset first bandwidth allocation rule here may be to allocate all the remaining bandwidth in the target port scheduling node to several tunnel scheduling nodes with a higher first minimum required bandwidth, or to allocate to each tunnel scheduling node according to a certain preset ratio node. This embodiment is not limited to this.
- third target minimum required bandwidth, third minimum required bandwidth, first target maximum required bandwidth, first target minimum required bandwidth, first minimum required bandwidth, and target total bandwidth may all be pre-configured.
- the user may configure the data scheduling apparatus in advance, or other equipment may configure the data scheduling apparatus.
- This embodiment provides a data scheduling method, which includes: determining the target tunnel corresponding to the data to be scheduled according to user indication information of the data to be scheduled, and putting the data to be scheduled into the target priority sub-field corresponding to the priority field of the data to be scheduled.
- a data scheduling method which includes: determining the target tunnel corresponding to the data to be scheduled according to user indication information of the data to be scheduled, and putting the data to be scheduled into the target priority sub-field corresponding to the priority field of the data to be scheduled.
- the target tunnel scheduling node corresponding to the target tunnel scheduling the target priority queue to which the target priority sub-queue belongs, scheduling the node through the target port corresponding to the target port, scheduling the data in the target tunnel scheduling node, where the target port is The port corresponding to the target tunnel.
- the data scheduling method can determine the target tunnel corresponding to the data to be scheduled according to the user instruction information of the data to be scheduled, schedule the target priority queue where the data to be scheduled is located through the target tunnel scheduling node corresponding to the target tunnel, and then use the corresponding target port
- the target port scheduling node scheduling the data in the target tunnel scheduling node, because the target tunnel is determined according to the user indication information of the data to be scheduled, so that the priority field of the data to be scheduled and the user indication information can be combined to schedule the data to be scheduled That is, different flow control methods are provided for different users to meet the needs of users, improve the scheduling flexibility of QoS technology, and at the same time, reduce the maintenance cost of operators.
- Fig. 2 is a flowchart of a data scheduling method provided by another embodiment.
- the data scheduling method provided in this embodiment includes the following steps:
- Step 201 Determine the target tunnel corresponding to the data to be scheduled according to the user indication information of the data to be scheduled.
- Step 202 Put the to-be-scheduled data into the target priority sub-queue corresponding to the priority field of the to-be-scheduled data.
- Step 203 Determine the target pseudowire corresponding to the data to be scheduled according to the service indication information of the data to be scheduled.
- the target pseudowire is connected to the target tunnel.
- the target tunnel may connect at least two pseudo wires, the at least two pseudo wires including the target pseudo wires.
- the at least two pseudowires may be pseudowire 1 and pseudowire 2, where pseudowire 1 may be a target pseudowire.
- the service indication information in this embodiment may be the device port receiving the data to be scheduled and/or the number of the VLAN where the scheduling data is located.
- the target tunnel corresponding to the data to be scheduled can be determined according to the mapping relationship between the pseudowire and the tunnel and the target pseudowire.
- the user indication information may be the mapping relationship between the pseudo wire and the tunnel.
- this embodiment can not only realize the scheduling of data of different users, but also realize the scheduling of data of different services of the same user, which further improves the flexibility of scheduling.
- the network speeds of different service requirements of the same user are different.
- the VoIP service of individual users needs to ensure low latency and high real-time performance, and they are not sensitive to the network speed when browsing the web.
- separate bandwidth control can be performed for different services of different users, and the maintenance cost of the operator can be reduced.
- Fig. 3 is a schematic structural diagram of a data scheduling device provided by an embodiment.
- the device includes a service access unit 31 and a service hierarchical scheduling unit 32.
- the tunnel corresponds to the tunnel scheduling node
- the pseudo wire corresponds to the pseudo wire scheduling node
- the port corresponds to the port scheduling node.
- Each message corresponds to different priority sub-queues according to different priorities.
- Bandwidth allocation is performed on each scheduling node, that is, the maximum required bandwidth and the minimum required bandwidth are set, which can realize the flow control of different services of different users.
- Fig. 4 is a schematic structural diagram of a service access unit in a data scheduling device provided by an embodiment.
- users passing through the same port are divided into different tunnels, and different services of users are divided into different pseudowires.
- enterprise user 1 is on tunnel 1
- the voip service of enterprise user 1 is on the pseudowire PW11
- the network transmission service is on the pseudowire PW12
- the business n of enterprise user 1 is on the pseudowire PW1n
- the personal user 2 is on the tunnel On 2
- the call of individual user 2 is on the pseudowire PW23, and the network transmission service is on the pseudowire PW24
- User n is on the tunnel n
- the service 1 of the user n is on the pseudowire PWn1
- the service 2 is on the pseudowire PWn2 On,...
- business n is on the pseudowire PWnn.
- tunnel 1, tunnel 2, ... and tunnel n connect ports.
- the port here refers to the port that sends out data in the data scheduling device.
- Fig. 5 is a schematic structural diagram of a hierarchical scheduling unit in a data scheduling device provided by an embodiment. As shown in Figure 5, it is divided into four scheduling levels under one port: the first level of scheduling is port-level scheduling, that is, the port scheduling node, all scheduling will be aggregated to the port scheduling node, and the port can be shaped, allocated and flow controlled; The second level of scheduling is the tunnel scheduling node. The service access unit assigns different users to different tunnels. This reflects different users on the tunnel scheduling node. The maximum and minimum bandwidth can be configured according to the needs of users. Distributed flow control; the third level of scheduling is the PW scheduling node. Different services of the same user are mapped to different PWs. Different services are reflected on this scheduling node.
- the first level of scheduling is port-level scheduling, that is, the port scheduling node, all scheduling will be aggregated to the port scheduling node, and the port can be shaped, allocated and flow controlled
- the second level of scheduling is the tunnel scheduling node.
- the service access unit
- the maximum and minimum bandwidth can be configured according to the needs of the service.
- Distribution flow control the last level of scheduling is the queue scheduling node. This level is divided into multiple priority scheduling sub-queues according to the priority of the message. Illustratively, 8 priority scheduling sub-queues can be assigned to each The bandwidth of the queue is controlled, and packets are scheduled according to priority.
- Step 204 Scheduling the target priority queue to which the target priority sub-queue belongs through the target pseudowire scheduling node corresponding to the target pseudowire.
- the target priority queue, the target pseudowire scheduling node, the target tunnel scheduling node, and the target port scheduling node are connected in sequence.
- the pseudo wire scheduling node schedules data in the priority queue
- the tunnel scheduling node schedules data in its corresponding pseudo wire scheduling node
- the port scheduling node schedules data in its corresponding tunnel scheduling node.
- step 201 determines the target tunnel corresponding to the data to be scheduled
- step 203 determines the target pseudowire corresponding to the data to be scheduled
- step 202 puts the data to be scheduled into the data to be scheduled
- the priority field corresponds to the target priority sub-queue. It should be noted that there is no timing relationship between step 201 and step 203.
- step 204 is executed to schedule the target priority queue to which the target priority sub-queue belongs through the target pseudowire scheduling node corresponding to the target pseudowire.
- the target priority sub-queue corresponds to the third target minimum required bandwidth.
- the target pseudowire scheduling node corresponds to the maximum required bandwidth of the second target.
- the target priority queue is a collection of multiple priority sub-queues including the target priority sub-queue, and each priority sub-queue corresponds to the third minimum required bandwidth.
- the specific scheduling process of step 204 may be: when the sum of the traffic of all priority sub-queues included in the target priority queue is less than or equal to the second target maximum demand bandwidth, multiple priority sub-queues The data in can pass the target pseudowire at the same time.
- the specific scheduling process of step 204 may be: when the sum of the traffic of all priority sub-queues included in the target priority queue is greater than the maximum required bandwidth of the second target, determining that the target pseudowire is congested; When the target pseudowire is congested, the target pseudowire scheduling node determines the third actual bandwidth corresponding to the target priority subqueue according to the third target minimum required bandwidth corresponding to the target priority subqueue; 3. The actual bandwidth sends the data in the target priority sub-queue.
- the process of determining the third actual bandwidth may be: determining the sum of the third minimum required bandwidth of all priority sub-queues in the target priority queue connected to the target pseudowire scheduling node, and subtracting the second target maximum required bandwidth After removing the sum of the third minimum required bandwidth of all priority sub-queues, the remaining bandwidth is allocated according to the preset third bandwidth allocation rule, the third target allocation bandwidth corresponding to the target priority sub-queue is determined, and the target priority sub-queue is determined. The sum of the third target minimum required bandwidth corresponding to the queue and the third target allocated bandwidth is determined as the third actual bandwidth corresponding to the data in the target priority sub-queue.
- This allocation method can ensure that when the target pseudowire is congested, the minimum required bandwidth of each priority sub-queue is guaranteed first.
- the target pseudowire scheduling node schedules the data in the target priority queue, the data will flow into the target pseudowire. Since the target pseudowire corresponds to the target pseudowire scheduling node, it can also be said that data will flow into the target pseudowire scheduling node.
- Step 205 Schedule data in the target pseudowire scheduling node through the target tunnel scheduling node corresponding to the target tunnel.
- the data in the target pseudowire scheduling node is scheduled through the target tunnel scheduling node corresponding to the target tunnel.
- the target pseudowire scheduling node corresponds to the second target minimum required bandwidth.
- the target tunnel scheduling node corresponds to the maximum required bandwidth of the first target.
- the at least two pseudowire scheduling nodes connected by the target tunnel scheduling node include the target pseudowire scheduling node. That is, the target tunnel scheduling node is connected to at least two pseudowire scheduling nodes including the target pseudowire scheduling node.
- the specific scheduling process of step 205 may be: when the sum of all data traffic in at least two pseudowire scheduling nodes connected to the target tunnel scheduling node is less than or equal to the maximum required bandwidth of the first target, multiple The data in the pseudowire scheduling node can pass through the target tunnel at the same time.
- the specific scheduling process in step 205 may be: when the sum of all data traffic in at least two pseudowire scheduling nodes connected to the target tunnel scheduling node is greater than the first target maximum required bandwidth, determine the target tunnel Congestion; when the target tunnel is congested, the node is scheduled through the target tunnel, and the second actual bandwidth corresponding to the data in the target pseudowire scheduling node is determined according to the minimum required bandwidth of the second target; the node is scheduled through the target tunnel, according to the second actual bandwidth Send the data in the target pseudowire scheduling node.
- each of the at least two pseudowire scheduling nodes corresponds to the second minimum required bandwidth.
- the process of determining the second actual bandwidth may be: determining the sum of the second minimum required bandwidth of all pseudowire scheduling nodes connected to the target tunnel scheduling node; and the remaining after subtracting the sum of the second minimum required bandwidth from the first target maximum required bandwidth
- the bandwidth is allocated according to the preset second bandwidth allocation rule, and the second target allocation bandwidth corresponding to the target pseudowire scheduling node is determined; the sum of the second target minimum required bandwidth corresponding to the target pseudowire scheduling node and the second target allocation bandwidth , It is determined as the second actual bandwidth corresponding to the data in the target pseudowire scheduling node.
- the target tunnel scheduling node schedules the data in the target pseudowire, the data will flow into the target tunnel. Since the target tunnel corresponds to the target tunnel scheduling node, it can also be said that data will flow into the target tunnel scheduling node.
- Step 206 Schedule data in the target tunnel scheduling node through the target port scheduling node corresponding to the target port.
- the target port is the port corresponding to the target tunnel.
- the target tunnel scheduling node corresponds to the first target minimum required bandwidth.
- the target port scheduling node corresponds to the target total bandwidth.
- the data in the at least two tunnel scheduling nodes can be sent from the target port at the same time .
- the target port scheduling node when the sum of all data traffic in at least two tunnel scheduling nodes connected by the target port scheduling node is greater than the target total bandwidth, it is determined that the target port is congested; when the target port is congested, the node is scheduled through the target port, and According to the minimum required bandwidth of the first target, the first actual bandwidth corresponding to the data in the target tunnel scheduling node is determined; the node is scheduled through the target port, and the data in the target tunnel scheduling node is sent according to the first actual bandwidth.
- each of the at least two tunnel scheduling nodes corresponds to the first minimum required bandwidth.
- the process of determining the first actual bandwidth can be: determining the sum of the first minimum required bandwidth of all tunnel scheduling nodes connected to the target port scheduling node; subtracting the total target bandwidth from the sum of the first minimum required bandwidth and the remaining bandwidth according to the pre-defined Set the first bandwidth allocation rule to allocate, and determine the first target allocation bandwidth corresponding to the target tunnel scheduling node; determine the target tunnel scheduling as the target tunnel scheduling by the sum of the first target minimum required bandwidth corresponding to the target tunnel scheduling node and the first target allocation bandwidth The first actual bandwidth corresponding to the data in the node.
- the foregoing implementation process of determining the first actual bandwidth, determining the second actual bandwidth, and determining the bandwidth of the third actual bandwidth when the scheduling node is congested can ensure the minimum required bandwidth of the scheduling node at the previous level without affecting the normal operation of the service.
- the target tunnel corresponds to the target tunnel scheduling node.
- the specific determination process may be: if it is determined that the target tunnel has a corresponding tunnel scheduling node in the second mapping relationship according to the preset second mapping relationship between the tunnel and the tunnel scheduling node and the target tunnel, then the second mapping relationship is:
- the tunnel scheduling node corresponding to the target tunnel is determined to be the target tunnel scheduling node; if according to the preset second mapping relationship between the tunnel and the tunnel scheduling node and the target tunnel, it is determined that the target tunnel does not have a corresponding tunnel scheduling node in the second mapping relationship ,
- the empty tunnel scheduling node connected under the target port scheduling node is determined as the target tunnel scheduling node.
- the first maximum required bandwidth of the empty tunnel scheduling node is the bandwidth remaining after subtracting the first maximum required bandwidth of other connected tunnel scheduling nodes from the total target bandwidth of the target port scheduling node.
- the tunnel scheduling node corresponding to the target tunnel in the second mapping relationship is determined to be the target tunnel scheduling node.
- the tunnel scheduling node in the second mapping relationship has been pre-configured with the maximum and minimum bandwidth. If there is no tunnel scheduling node corresponding to the target tunnel in the preset second mapping relationship, the empty tunnel scheduling node connected to the target port scheduling node needs to be determined as the target tunnel scheduling node.
- the empty tunnel scheduling node does not have a pre-configured maximum and minimum bandwidth. Therefore, it is necessary to subtract the first maximum required bandwidth of other connected tunnel scheduling nodes from the total target bandwidth of the target port node to determine the remaining bandwidth of the empty tunnel scheduling node. A maximum demand bandwidth.
- the target pseudowire corresponds to the target pseudowire scheduling node. After the target pseudowire is determined in step 203, before step 204, in one embodiment, it is also necessary to determine the target pseudowire scheduling node corresponding to the target pseudowire.
- the specific determination process may be: if it is determined that the target pseudowire has a corresponding pseudowire scheduling node in the first mapping relationship according to the preset pseudowire and the first mapping relationship of the pseudowire scheduling node and the target pseudowire, then the first mapping relationship In a mapping relationship, the pseudowire scheduling node corresponding to the target pseudowire is determined to be the target pseudowire scheduling node; if the preset pseudowire and the first mapping relationship of the pseudowire scheduling node and the target pseudowire are used, it is determined that the target pseudowire is located If there is no corresponding pseudo-wire scheduling node in the first mapping relationship, the empty pseudo-wire scheduling node connected under the target tunnel scheduling node is determined as the target pseudo-wire scheduling node.
- the second maximum required bandwidth of the empty pseudowire scheduling node is the bandwidth remaining
- the pseudowire scheduling node corresponding to the target pseudowire in the first mapping relationship is determined as the target pseudowire scheduling node.
- the pseudowire scheduling node in the first mapping relationship has been pre-configured with the maximum and minimum bandwidth. If there is no pseudowire scheduling node corresponding to the target pseudowire in the preset first mapping relationship, the empty pseudowire scheduling node connected under the target tunnel scheduling node needs to be determined as the target pseudowire scheduling node.
- the empty pseudowire scheduling node does not have a pre-configured maximum and minimum bandwidth. Therefore, the remaining bandwidth after subtracting the second maximum required bandwidth of other connected pseudowire scheduling nodes from the target total bandwidth of the target tunnel node is required to determine the empty pseudowire scheduling The second maximum required bandwidth of the node.
- the empty pseudowire scheduling node refers to the pseudowire scheduling node that is not bound to the pseudowire.
- the empty tunnel scheduling node refers to a tunnel scheduling node that is not bound to the tunnel.
- Fig. 6 is a schematic diagram of the principle of bandwidth allocation when the tunnel scheduling node is an empty node according to an embodiment.
- the second layer tunnel scheduling node has a free node.
- the total bandwidth allocated by the port is 100Mbps
- the bandwidth allocated by the tunnel scheduling node 1 is 20Mbps
- the bandwidth allocated by the tunnel scheduling node 2 is 30Mbps. All other services go to the empty tunnel scheduling node.
- 20 Mbps refers to the maximum required bandwidth of tunnel scheduling node 1
- 30 Mbps refers to the maximum required bandwidth of tunnel scheduling node 2.
- FIG. 7 is a schematic diagram of the principle of bandwidth allocation when the pseudowire scheduling node is an empty node according to an embodiment.
- the allocated bandwidth of the tunnel is 80Mbps
- the allocated bandwidth of PW1 is 40Mbps
- the allocated bandwidth of PW2 is 10Mbps, so other PW services under this tunnel are empty.
- the above method of allocating bandwidth for air-conditioning nodes can ensure that services without bandwidth control are also available with appropriate bandwidth to meet the bandwidth requirements of other services. At the same time, it can ensure that the bandwidth of low-level nodes does not exceed the bandwidth of high-level nodes to ensure bandwidth allocation. rationality.
- the target tunnel corresponding to the data to be scheduled in addition to determining the target tunnel corresponding to the data to be scheduled based on the user indication information of the data to be scheduled, the target tunnel corresponding to the data to be scheduled can also be determined based on the service indication information of the data to be scheduled.
- the corresponding target port scheduling node, scheduling the data in the target tunnel scheduling node can not only provide different flow control methods for different users, but also provide different flow control methods for different services of different users, which further improves Flexibility of scheduling.
- the first scenario is a scenario where the target pseudowire scheduling node is an empty pseudowire scheduling node.
- the maximum and minimum bandwidth can be configured on the tunnel scheduling node to achieve the purpose of controlling traffic.
- Fig. 8 is a flowchart of a data scheduling method provided by another embodiment. As shown in Figure 8, the data scheduling method includes the following steps:
- Step 801 Obtain the corresponding relationship between the pseudowire and the tunnel configured by the user, configure the committed information rate (Committed Information Rate, CIR) and the highest information rate (Peak Information Rate, PIR) of the tunnel scheduling node, and create a scheduling hierarchy tree according to requirements.
- CIR Committed Information Rate
- PIR Peak Information Rate
- the scheduling hierarchy tree refers to the level of scheduling: four levels of scheduling are allocated, the first level is port scheduling, the second level is tunnel scheduling node scheduling, the third level is assigned empty pseudowire scheduling node scheduling, and the fourth level is queues. Scheduling.
- Step 802 Determine the target pseudowire corresponding to the data to be scheduled according to the port or port+vlan of the data to be scheduled.
- Step 803 According to the configured corresponding relationship between the pseudo wire and the tunnel, determine the target tunnel corresponding to the multiple pseudo wires including the target pseudo wire.
- Step 804 Bind the target tunnel to the assigned target tunnel scheduling node.
- Step 805 The data to be scheduled enters the target priority queue corresponding to the target tunnel scheduling node according to different priorities.
- Step 806 In the target priority queue, scheduling is performed according to the priority, and it is imported into the upper-level scheduling node.
- Step 807 Pass through the empty pseudowire scheduling node, and merge into the upper-level scheduling node.
- Step 808 The target tunnel scheduling node controls the outgoing rate of the data to be scheduled according to the allocated flow, and merges it into the target port scheduling node.
- Step 809 The target port scheduling node aggregates the traffic and sends the data to be scheduled.
- Fig. 9 is a schematic diagram corresponding to Fig. 8. As shown in Figure 9, the priority queue includes 8 priority sub-queues, and the target pseudowire scheduling node is an empty pseudowire scheduling node.
- the second scenario is a scenario where the target tunnel scheduling node is an empty tunnel scheduling node.
- the maximum and minimum bandwidth can be configured on the pseudowire scheduling node to achieve the purpose of controlling traffic.
- Fig. 10 is a flowchart of a data scheduling method provided by still another embodiment. As shown in Figure 10, the data scheduling method includes the following steps:
- Step 1001 Obtain the corresponding relationship between the pseudowire and the tunnel configured by the user, configure the CIR and PIR of the pseudowire scheduling node, and create a scheduling hierarchy tree according to requirements.
- the scheduling hierarchy tree refers to the level of scheduling: four levels of scheduling are allocated, the first level is port scheduling, the second level is empty tunnel scheduling node scheduling, the third level is allocated pseudowire scheduling node scheduling, and the fourth level is queues Scheduling.
- Step 1002 Determine the target pseudowire corresponding to the data to be scheduled according to the port or port+vlan of the data to be scheduled.
- Step 1003 According to the configured correspondence between the pseudowire and the tunnel, determine the target tunnel corresponding to the multiple pseudowires including the target pseudowire.
- Step 1004 Bind the target pseudowire to the allocated target pseudowire scheduling node.
- Step 1005 The data to be scheduled enters the target priority queue corresponding to the target pseudowire scheduling node according to different priorities.
- Step 1006 In the target priority queue, perform scheduling according to the priority, and import it to the upper-level scheduling node.
- Step 1007 The target pseudowire scheduling node controls the outgoing rate of the data to be scheduled according to the allocated flow, and merges it into the upper-level scheduling node.
- Step 1008 Pass through the empty tunnel scheduling node and import the target port scheduling node.
- Step 1009 The target port scheduling node aggregates the traffic and sends the data to be scheduled.
- Fig. 11 is a schematic diagram corresponding to Fig. 10. As shown in Figure 11, the priority queue includes 8 priority sub-queues, and the target tunnel scheduling node is an empty tunnel scheduling node.
- the third scenario is a scenario where neither the target tunnel scheduling node nor the target pseudowire scheduling node is an air-conditioning node.
- the maximum and minimum bandwidth can be configured on the tunnel scheduling node, and the maximum and minimum bandwidth can be configured on the pseudowire scheduling node to achieve the purpose of controlling traffic.
- FIG. 12 is a flowchart of a data scheduling method provided by another embodiment. As shown in Figure 12, the data scheduling method includes the following steps:
- Step 1201 Obtain the correspondence between the pseudowire and the tunnel configured by the user, configure the CIR and PIR of the tunnel scheduling node, configure the CIR and PIR of the pseudowire scheduling node, and create a scheduling hierarchy tree according to requirements.
- the scheduling hierarchy tree refers to the level of scheduling: four levels of scheduling are allocated, the first level is port scheduling, the second level is tunnel scheduling node scheduling, the third level is assigned pseudowire scheduling node scheduling, and the fourth level is queue scheduling. .
- Step 1202 Determine the target pseudowire corresponding to the data to be scheduled according to the port or port+vlan of the data to be scheduled.
- Step 1203 According to the configured correspondence between the pseudowire and the tunnel, determine the target tunnel corresponding to the multiple pseudowires including the target pseudowire.
- Step 1204 Bind the target pseudowire to the allocated target pseudowire scheduling node.
- Step 1205 The data to be scheduled enters the target priority queue corresponding to the target pseudowire scheduling node according to different priorities.
- Step 1206 On the target priority queue, if the bandwidth of the upper scheduling node (that is, the target pseudowire scheduling node) is congested, the messages will be scheduled according to the priority queue to ensure that high priority messages are scheduled first.
- the bandwidth of the upper scheduling node that is, the target pseudowire scheduling node
- Step 1207 The messages after queue scheduling are imported into the target pseudowire scheduling node, and the target pseudowire scheduling node controls the message export rate according to the assigned flow rate, and then is imported into the upper-level scheduling node (that is, the target tunnel scheduling node).
- Step 1208 The messages dispatched by the target pseudowire scheduling node are imported into the target tunnel scheduling node, and the target tunnel scheduling node controls the message export rate according to the assigned flow rate, and then is imported into the upper-level scheduling node (ie, the target port scheduling node).
- Step 1209 The target port scheduling node aggregates the traffic and sends the data to be scheduled.
- Fig. 13 is a schematic diagram corresponding to Fig. 12. As shown in Figure 13, the priority queue includes 8 priority sub-queues. Neither the target pseudowire scheduling node nor the target tunnel scheduling node is an air-conditioning node.
- the fourth scenario is a scenario where the target tunnel scheduling node and/or the target pseudowire scheduling node is an air-conditioning node. In this scenario, it is a combination of various situations.
- FIG. 14 is a flowchart of a data scheduling method provided by another embodiment.
- Fig. 15 is a schematic diagram corresponding to Fig. 14. As shown in Figure 14, the data scheduling method includes the following steps:
- Step 1401 Obtain the correspondence between the pseudowire and the tunnel configured by the user, configure the CIR and PIR of the tunnel scheduling node, configure the CIR and PIR of the pseudowire scheduling node, and create a scheduling hierarchy tree according to requirements.
- the scheduling in the figure is divided into four layers.
- the first layer is a port scheduling node
- the second layer is a tunnel scheduling node
- the third layer is a pseudowire scheduling node
- the fourth layer is a queue scheduling node.
- the first part, pseudo-wire scheduling node 1 and pseudo-wire scheduling node 2 are common tunnel scheduling node 1.
- the user configures the bandwidth control of tunnel scheduling node 1, and at the same time configures the bandwidth control of pseudo-wire scheduling node 1, and pseudo-wire scheduling node 2 does not configure bandwidth control .
- the pseudowire scheduling node 2 is allocated to the empty pseudowire scheduling node, and the remaining bandwidth is allocated to it. The remaining bandwidth is the bandwidth of the tunnel scheduling node 1 minus the bandwidth allocated by the pseudowire scheduling node 1.
- the user configures the bandwidth control of the tunnel scheduling node 2, and the pseudowire scheduling node under it does not configure bandwidth control. Assign empty pseudowire scheduling nodes to the third layer, and all pseudowire scheduling nodes under the tunnel scheduling node 2. The data in the line all go to the scheduling node.
- the pseudowire scheduling node 3 belongs to the tunnel scheduling node 3. The user only configures the bandwidth control of the pseudowire scheduling node 3.
- the tunnel scheduling node 3 allocates the empty tunnel scheduling node, and the bandwidth is the port bandwidth minus the tunnel scheduling node 1 and tunnel scheduling The remaining bandwidth after the bandwidth allocated by node 2.
- the fourth part belongs to the 4-level scheduling assigned by the port by default, and all other services that are not assigned to the scheduling node under this port go to this scheduling level.
- Step 1402 Determine the target pseudowire corresponding to the data to be scheduled according to the port or port+vlan of the data to be scheduled.
- Step 1403 According to the configured correspondence between the pseudowire and the tunnel, determine the target tunnel corresponding to the multiple pseudowires including the target pseudowire.
- Step 1404 The data in the pseudowire scheduling node 1 is processed according to the processing flow of the third scenario.
- Step 1405 The traffic in the pseudowire scheduling node 2 is not limited, and the traffic flows into the tunnel scheduling node 1.
- the tunnel scheduling node 1 uniformly controls the traffic of the pseudowire scheduling node 1 and the pseudowire scheduling node 2 according to CIR and PIR.
- Step 1406 The data in the tunnel scheduling node 2 is processed according to the processing flow of the first scenario.
- Step 1407 The data in the pseudowire scheduling node 3 is processed according to the processing flow of the second scenario.
- Step 1408 other services of the local port use the four-layer scheduling corresponding to the port, and process them according to the remaining bandwidth.
- the data scheduling methods provided in the above four scenarios can not only provide different flow control methods for different users, but also provide different flow control methods for different services of different users, which further improves the flexibility of scheduling.
- FIG. 16 is a schematic structural diagram of a data scheduling device provided by an embodiment. As shown in FIG. 16, the data scheduling device provided in this embodiment includes the following modules: a first determining module 161, a putting module 162, a first scheduling module 163, and a second scheduling module 164.
- the first determining module 161 is configured to determine the target tunnel corresponding to the data to be scheduled according to the user indication information of the data to be scheduled.
- the putting module 162 is configured to put the to-be-scheduled data into the target priority sub-queue corresponding to the priority field of the to-be-scheduled data.
- the first scheduling module 163 is configured to schedule the target priority queue to which the target priority sub-queue belongs through the target tunnel scheduling node corresponding to the target tunnel.
- the second scheduling module 164 is configured to schedule data in the target tunnel scheduling node through the target port corresponding to the target port.
- the target port is the port corresponding to the target tunnel.
- the device further includes: a second determining module and a third scheduling module.
- the second determining module is configured to determine the target pseudowire corresponding to the data to be scheduled according to the service indication information of the data to be scheduled.
- the third scheduling module is configured to schedule the target priority queue to which the target priority sub-queue belongs through the target pseudowire scheduling node corresponding to the target pseudowire.
- the target priority queue, the target pseudowire scheduling node, the target tunnel scheduling node, and the target port scheduling node are connected in sequence.
- the first scheduling module 163 is specifically configured to schedule data in the target pseudowire scheduling node through the target tunnel scheduling node corresponding to the target tunnel.
- the target tunnel scheduling node corresponds to the first target minimum required bandwidth.
- the target port scheduling node corresponds to the target total bandwidth.
- the at least two tunnel scheduling nodes connected by the target port scheduling node include the target tunnel scheduling node. That is, the target port scheduling node is connected to multiple tunnel scheduling nodes including the target tunnel scheduling node.
- the second scheduling module 164 is specifically configured to determine that the target port is congested when the sum of all data traffic in at least two tunnel scheduling nodes connected by the target port scheduling node is greater than the target total bandwidth; When congested, the node is scheduled through the target port, and the first actual bandwidth corresponding to the data in the target tunnel scheduling node is determined according to the minimum required bandwidth of the first target; the node is scheduled through the target port, and the target tunnel scheduling node is sent according to the first actual bandwidth. The data.
- each of the at least two tunnel scheduling nodes corresponds to the first minimum required bandwidth.
- the second scheduling module 164 is specifically configured to: determine the connection of the target port scheduling node The sum of the first minimum required bandwidth of all tunnel scheduling nodes; the remaining bandwidth after the total target bandwidth is subtracted from the sum of the first minimum required bandwidth, is allocated according to the preset first bandwidth allocation rule, and the corresponding to the target tunnel scheduling node is determined The first target allocation bandwidth; the sum of the first target minimum required bandwidth corresponding to the target tunnel scheduling node and the first target allocation bandwidth is determined as the first actual bandwidth corresponding to the data in the target tunnel scheduling node.
- the target pseudowire scheduling node corresponds to the second target minimum required bandwidth.
- the target tunnel scheduling node corresponds to the maximum required bandwidth of the first target.
- the at least two pseudowire scheduling nodes connected by the target tunnel scheduling node include the target pseudowire scheduling node. That is, the target tunnel scheduling node is connected to multiple pseudowire scheduling nodes including the target pseudowire scheduling node.
- the first scheduling module 163 is specifically configured to determine that the target tunnel is congested when the sum of all data traffic in at least two pseudowire scheduling nodes connected to the target tunnel scheduling node is greater than the maximum required bandwidth of the first target; When the node is scheduled through the target tunnel, and according to the minimum required bandwidth of the second target, the second actual bandwidth corresponding to the data in the target pseudowire scheduling node is determined; the node is scheduled through the target tunnel, and the target pseudowire scheduling node is sent according to the second actual bandwidth. Data in.
- each of the at least two pseudowire scheduling nodes corresponds to the second minimum required bandwidth.
- the first scheduling module 163 is specifically configured to: determine the connection of the target tunnel scheduling node The sum of the second minimum required bandwidth of all pseudowire scheduling nodes; the remaining bandwidth after subtracting the sum of the second minimum required bandwidth from the maximum required bandwidth of the first target, is allocated according to the preset second bandwidth allocation rule, and the target is determined The second target allocation bandwidth corresponding to the pseudowire scheduling node; the sum of the second target minimum required bandwidth corresponding to the target pseudowire scheduling node and the second target allocation bandwidth is determined as the second actual value corresponding to the data in the target pseudowire scheduling node bandwidth.
- the target priority sub-queue corresponds to the third target minimum required bandwidth
- the target pseudowire scheduling node corresponds to the second target maximum required bandwidth
- the target priority queue is a set of at least two priority sub-queues, with at least two priorities
- the level sub-queue includes the target priority sub-queue. That is, the target priority queue is a set of multiple priority sub-queues including the target priority sub-queue, and each priority sub-queue corresponds to the third minimum required bandwidth.
- the third scheduling module is specifically configured to determine that the target pseudowire is congested when the sum of the traffic of all priority sub-queues included in the target priority queue is greater than the maximum required bandwidth of the second target; when the target pseudowire is congested, pass The target pseudowire scheduling node determines the third actual bandwidth corresponding to the target priority subqueue according to the third target minimum required bandwidth corresponding to the target priority subqueue; through the target pseudowire scheduling node, the target priority is sent according to the third actual bandwidth The data in the sub-queue.
- the device further includes: a third determining module and a fourth determining module.
- the third determining module is configured to determine that the target pseudowire has a corresponding pseudowire scheduling node in the first mapping relationship according to the preset pseudowire and the first mapping relationship of the pseudowire scheduling node and the target pseudowire, then In the first mapping relationship, the pseudowire scheduling node corresponding to the target pseudowire is determined to be the target pseudowire scheduling node.
- the fourth determining module is configured to determine that the target pseudowire does not have a corresponding pseudowire scheduling node in the first mapping relationship according to the preset pseudowire and the first mapping relationship of the pseudowire scheduling node and the target pseudowire.
- the empty pseudowire scheduling node connected under the target tunnel scheduling node is determined as the target pseudowire scheduling node.
- the second maximum required bandwidth of the empty pseudowire scheduling node is the bandwidth remaining after the first target maximum required bandwidth of the target tunnel scheduling node minus the second maximum required bandwidth of other connected pseudowire scheduling nodes.
- the device further includes: a fifth determining module and a sixth determining module.
- the fifth determining module is configured to if it is determined that the target tunnel has a corresponding tunnel scheduling node in the second mapping relationship according to the preset second mapping relationship between the tunnel and the tunnel scheduling node and the target tunnel, then the second mapping relationship is , The tunnel scheduling node corresponding to the target tunnel is determined as the target tunnel scheduling node.
- the sixth determining module is configured to, if it is determined that the target tunnel does not have a corresponding tunnel scheduling node in the second mapping relationship according to the preset second mapping relationship between the tunnel and the tunnel scheduling node, and the target tunnel, then the target port scheduling node The empty tunnel scheduling node connected below is determined as the target tunnel scheduling node.
- the first maximum required bandwidth of the empty tunnel scheduling node is the bandwidth remaining after subtracting the first maximum required bandwidth of other connected tunnel scheduling nodes from the total target bandwidth of the target port scheduling node.
- the data scheduling device provided in this embodiment is configured to execute the data scheduling method of any of the foregoing embodiments.
- the implementation principles and technical effects of the data scheduling device provided in this embodiment are similar, and will not be repeated here.
- Fig. 17 is a schematic structural diagram of a data scheduling device provided by an embodiment.
- the data scheduling device includes a processor 171 and a memory 172; the number of processors 171 in the data scheduling device may be one or more.
- one processor 171 is taken as an example;
- the processor 171 and the memory 172; may be connected by a bus or in other ways.
- the connection by a bus is taken as an example.
- the memory 172 can be used to store software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the data scheduling method in the embodiment of the present application (for example, the first data scheduling device in the data scheduling device).
- the processor 171 runs the software programs, instructions, and modules stored in the memory 172, thereby implementing various functional applications and data processing of the data scheduling device, that is, realizing the aforementioned data scheduling method.
- the memory 172 may mainly include a program storage area and a data storage area.
- the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the data scheduling device.
- the memory 172 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
- the embodiment of the present application also provides a storage medium containing computer-executable instructions.
- the computer-executable instructions are used to execute a data scheduling method when executed by a computer processor, and the method includes:
- the data in the target tunnel scheduling node is scheduled through the target port scheduling node corresponding to the target port; wherein, the target port is a port corresponding to the target tunnel.
- a storage medium containing computer-executable instructions provided by this application is not limited to the method operations described above, and can also perform related operations in the data scheduling method provided by any embodiment of this application. .
- the data scheduling method, device and storage medium proposed in this application include: determining the target tunnel corresponding to the data to be scheduled according to the user indication information of the data to be scheduled, and putting the data to be scheduled into the priority field corresponding to the target priority of the data to be scheduled In the first-level sub-queue, the target tunnel scheduling node corresponding to the target tunnel is used to schedule the target priority queue to which the target priority sub-queue belongs, and the target port scheduling node corresponding to the target port is used to schedule the data in the target tunnel scheduling node, where, The target port is the port corresponding to the target tunnel.
- the data scheduling method can determine the target tunnel corresponding to the data to be scheduled according to the user instruction information of the data to be scheduled, schedule the target priority queue where the data to be scheduled is located through the target tunnel scheduling node corresponding to the target tunnel, and then use the corresponding target port
- the target port scheduling node scheduling the data in the target tunnel scheduling node, because the target tunnel is determined according to the user indication information of the data to be scheduled, so that the priority field of the data to be scheduled and the user indication information can be combined to schedule the data to be scheduled That is, different flow control methods are provided for different users to meet the needs of users, improve the scheduling flexibility of QoS technology, and at the same time, reduce the maintenance cost of operators.
- the various embodiments of the present application can be implemented in hardware or dedicated circuits, software, logic or any combination thereof.
- some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, microprocessor, or other computing device, although the application is not limited thereto.
- the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may consist of several physical components.
- the components are executed cooperatively.
- Certain physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit .
- a processor such as a central processing unit, a digital signal processor, or a microprocessor
- Such software may be distributed on a computer-readable medium, and the computer-readable medium may include a computer storage medium (or a non-transitory medium) and a communication medium (or a transitory medium).
- computer storage medium includes volatile and non-volatile data implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data).
- Information such as computer-readable instructions, data structures, program modules, or other data.
- Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other storage technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or Any other medium used to store desired information and that can be accessed by a computer.
- communication media usually contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as carrier waves or other transmission mechanisms, and may include any information delivery media. .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims (12)
- 一种数据调度方法,包括:根据待调度数据的用户指示信息,确定所述待调度数据对应的目标隧道;将所述待调度数据放入所述待调度数据的优先级字段对应的目标优先级子队列中;通过所述目标隧道对应的目标隧道调度节点,调度所述目标优先级子队列所属的目标优先级队列;通过目标端口对应的目标端口调度节点,调度所述目标隧道调度节点中的数据;其中,所述目标端口为所述目标隧道对应的端口。
- 根据权利要求1所述的方法,其中,所述通过所述目标隧道对应的目标隧道调度节点,调度所述目标优先级子队列所属的目标优先级队列之前,所述方法还包括:根据所述待调度数据的业务指示信息,确定所述待调度数据对应的目标伪线;通过所述目标伪线对应的目标伪线调度节点,调度所述目标优先级子队列所属的目标优先级队列;其中,所述目标优先级队列、所述目标伪线调度节点、所述目标隧道调度节点以及所述目标端口调度节点依次连接。
- 根据权利要求2所述的方法,其中,所述通过所述目标隧道对应的目标隧道调度节点,调度所述目标优先级子队列所属的目标优先级队列,包括:通过所述目标隧道对应的目标隧道调度节点,调度所述目标伪线调度节点中的数据。
- 根据权利要求3所述的方法,其中,所述目标隧道调度节点对应第一目标最小需求带宽;所述目标端口调度节点对应目标总带宽;所述目标端口调度节点连接的至少两个隧道调度节点包括所述目标隧道调度节点;所述通过目标端口对应的目标端口调度节点,调度所述目标隧道调度节点中的数据,包括:当所述目标端口调度节点连接的所述至少两个隧道调度节点中所有数据流量的总和,大于所述目标总带宽时,确定所述目标端口拥塞;在所述目标端口拥塞时,通过所述目标端口调度节点,并根据所述第一目标最小需求带宽,确定所述目标隧道调度节点中的数据对应的第一实际带宽;通过所述目标端口调度节点,根据所述第一实际带宽发送所述目标隧道调度节点中的数据。
- 根据权利要求4所述的方法,其中,所述至少两个隧道调度节点中的每个隧道调度节点对应第一最小需求带宽;所述通过所述目标端口调度节点,并根据所述第一目标最小需求带宽,确定所述目标隧道调度节点中的数据对应的第一实际带宽,包括:确定所述目标端口调度节点连接的所有隧道调度节点的第一最小需求带宽的和;将所述目标总带宽减去所述第一最小需求带宽的和后剩余的带宽,按照预设的第一带宽分配规则进行分配,确定所述目标隧道调度节点对应的第一目标分配带宽;将所述目标隧道调度节点对应的第一目标最小需求带宽以及所述第一目标分配带宽的和,确定为所述目标隧道调度节点中的数据对应的第一实际带宽。
- 根据权利要求3所述的方法,其中,所述目标伪线调度节点对应第二目标最小需求带宽;所述目标隧道调度节点对应第一目标最大需求带宽;所述目标隧道调度节点连接的至少两个伪线调度节点包括所述目标伪线调度节点;所述通过所述目标隧道对应的目标隧道调度节点,调度所述目标伪线调度节点中的数据,包括:当所述目标隧道调度节点连接的所述至少两个伪线调度节点中所有数据的流量的总和,大于所述第一目标最大需求带宽时,确定所述目标隧道拥塞;在所述目标隧道拥塞时,通过所述目标隧道调度节点,并根据所述第二目标最小需求带宽,确定所述目标伪线调度节点中的数据对应的第二实际带宽;通过所述目标隧道调度节点,根据所述第二实际带宽发送所述目标伪线调度节点中的数据。
- 根据权利要求6所述的方法,其中于,所述至少两个伪线调度节点中的每个伪线调度节点对应第二最小需求带宽;所述通过所述目标隧道调度节点,并根据所述第二目标最小需求带宽,确定所述目标伪线调度节点中的数据对应的第二实际带宽,包括:确定所述目标隧道调度节点连接的所有伪线调度节点的第二最小需求带宽的和;将所述第一目标最大需求带宽减去所述第二最小需求带宽的和后剩余的带宽,按照预设的第二带宽分配规则进行分配,确定所述目标伪线调度节点对应的第二目标分配带宽;将所述目标伪线调度节点对应的第二目标最小需求带宽以及所述第二目标分配带宽的和,确定为所述目标伪线调度节点中的数据对应的第二实际带宽。
- 根据权利要求3所述的方法,其中,所述目标优先级子队列对应第三目标最小需求带宽,所述目标伪线调度节点对应第二目标最大需求带宽,所述目标优先级队列为至少两个优先级子队列的集合,所述至少两个优先级子队列包括所述目标优先级子队列,每个优先级子队列均对应第三最小需求带宽;所述通过所述目标伪线对应的目标伪线调度节点,调度所述目标优先级子队列所属的目标优先级队列,包括:当所述目标优先级队列中包括的所有优先级子队列的流量的总和,大于所述第二目标最大需求带宽时,确定所述目标伪线拥塞;在所述目标伪线拥塞时,通过所述目标伪线调度节点,根据所述目标优先级子队列对应的第三目标最小需求带宽,确定所述目标优先级子队列对应的第三实际带宽;通过所述目标伪线调度节点,根据所述第三实际带宽发送所述目标优先级子队列中的数据。
- 根据权利要求3所述的方法,其中,所述通过所述目标伪线对应的目标伪线调度节点,调度所述目标优先级子队列所属的目标优先级队列之前,所述方法还包括:若根据预设的伪线及伪线调度节点的第一映射关系以及所述目标伪线,确定所述目标伪线在所述第一映射关系中存在对应的伪线调度节点,则将所述第一映射关系中所述目标伪线对应的伪线调度节点确定为所述目标伪线调度节点;若根据预设的伪线及伪线调度节点的第一映射关系以及所述目标伪线,确定所述目标伪线在所述第一映射关系中不存在对应的伪线调度节点,则将所述目标隧道调度节点下连接的空伪线调度节点,确定为所述目标伪线调度节点;其中,所述空伪线调度节点的第二最大需求带宽为所述目标隧道调度节点的第一目标最大需求带宽减去连接的其他伪线调度节点的第二最大需求带宽后剩余的带宽。
- 根据权利要求3所述的方法,其中,所述通过所述目标隧道对应的目标隧道调度节点,调度所述目标伪线调度节点中的数据之前,所述方法还包括:若根据预设的隧道及隧道调度节点的第二映射关系以及所述目标隧道,确定所述目标隧道在所述第二映射关系中存在对应的隧道调度节点,则将所述第二映射关系中,所述目标隧道对应的隧道调度节点,确定为所述目标隧道调度节点;若根据预设的隧道及隧道调度节点的第二映射关系以及所述目标隧道,确定所述目标隧道在所述第二映射关系中不存在对应的隧道调度节点,则将所述目标端口调度节点下连接的空隧道调度节点,确定为所述目标隧道调度节点;其中,所述空隧道调度节点的第一最大需求带宽为所述目标端口调度节点的目标总带宽减去连接的其他隧道调度节点的第一最大需求带宽后剩余的带宽。
- 一种数据调度设备,包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中,所述程序被所述处理器执行时实现如权利要求1至10中任一项所述的数据调度方法的步骤。
- 一种存储介质,用于计算机可读存储,其中,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至10中任一项所述的数据调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR112022020001A BR112022020001A2 (pt) | 2020-06-15 | 2021-06-07 | Método para agendamento de dados e meio de armazenamento legível por computador |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010544387.2A CN113810314A (zh) | 2020-06-15 | 2020-06-15 | 数据调度方法、设备和存储介质 |
CN202010544387.2 | 2020-06-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021254202A1 true WO2021254202A1 (zh) | 2021-12-23 |
Family
ID=78944173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/098666 WO2021254202A1 (zh) | 2020-06-15 | 2021-06-07 | 数据调度方法、设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN113810314A (zh) |
BR (1) | BR112022020001A2 (zh) |
WO (1) | WO2021254202A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070206602A1 (en) * | 2006-03-01 | 2007-09-06 | Tellabs San Jose, Inc. | Methods, systems and apparatus for managing differentiated service classes |
CN102546395A (zh) * | 2011-12-14 | 2012-07-04 | 中兴通讯股份有限公司 | 基于l2vpn网络的业务调度方法和装置 |
CN106330710A (zh) * | 2015-07-01 | 2017-01-11 | 中兴通讯股份有限公司 | 数据流调度方法及装置 |
-
2020
- 2020-06-15 CN CN202010544387.2A patent/CN113810314A/zh active Pending
-
2021
- 2021-06-07 WO PCT/CN2021/098666 patent/WO2021254202A1/zh active Application Filing
- 2021-06-07 BR BR112022020001A patent/BR112022020001A2/pt unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070206602A1 (en) * | 2006-03-01 | 2007-09-06 | Tellabs San Jose, Inc. | Methods, systems and apparatus for managing differentiated service classes |
CN102546395A (zh) * | 2011-12-14 | 2012-07-04 | 中兴通讯股份有限公司 | 基于l2vpn网络的业务调度方法和装置 |
CN106330710A (zh) * | 2015-07-01 | 2017-01-11 | 中兴通讯股份有限公司 | 数据流调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113810314A (zh) | 2021-12-17 |
BR112022020001A2 (pt) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7782776B2 (en) | Shared weighted fair queuing (WFQ) shaper | |
US8917597B2 (en) | Providing a quality of service for various classes of service for transfer of electronic data packets | |
US7327675B1 (en) | Fairness of capacity allocation for an MPLS-based VPN | |
US8542586B2 (en) | Proportional bandwidth sharing of the excess part in a MEF traffic profile | |
US9455927B1 (en) | Methods and apparatus for bandwidth management in a telecommunications system | |
US20030174650A1 (en) | Weighted fair queuing (WFQ) shaper | |
CN105282029B (zh) | 外层标签编码方法、流量拥塞控制方法及装置 | |
CN107454015B (zh) | 一种基于OF-DiffServ模型的QoS控制方法及系统 | |
WO2017024824A1 (zh) | 基于聚合链路的流量管理方法及装置 | |
US20140310354A1 (en) | Data transfer | |
US20100278189A1 (en) | Methods and Apparatus for Providing Dynamic Data Flow Queues | |
CN106453126A (zh) | 一种虚拟机流量控制方法及装置 | |
WO2011137727A1 (zh) | 一种报文的传输方法和系统 | |
WO2015066878A1 (zh) | Sdn网络中的控制设备和控制方法 | |
WO2023142937A1 (zh) | 一种网络拥塞控制方法及相关装置 | |
CN108702336A (zh) | 数据路由中的动态优化队列 | |
WO2021254202A1 (zh) | 数据调度方法、设备和存储介质 | |
CN101009637B (zh) | 服务质量控制方法、系统及逻辑链路管理功能设备 | |
CN107786468B (zh) | 基于HQoS的MPLS网络带宽分配方法及装置 | |
WO2022135202A1 (zh) | 业务流的调度方法、装置及系统 | |
CN113746675B (zh) | 一种用HQoS实现灵活以太网业务场景的方法及系统 | |
EP2991295A1 (en) | System and method for handling data flows in an access network | |
CN110048957B (zh) | 一种流量控制方法、装置及虚拟延伸接入系统 | |
Liu et al. | Deployment of Asynchronous Traffic Shapers in Data Center Networks | |
WO2022237860A1 (zh) | 报文处理方法、资源分配方法以及相关设备 |
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: 21826197 Country of ref document: EP Kind code of ref document: A1 |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112022020001 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112022020001 Country of ref document: BR Kind code of ref document: A2 Effective date: 20221003 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 28/04/2023) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21826197 Country of ref document: EP Kind code of ref document: A1 |