WO2017211252A1 - 业务流调度方法及装置、设备、存储介质 - Google Patents
业务流调度方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- WO2017211252A1 WO2017211252A1 PCT/CN2017/087162 CN2017087162W WO2017211252A1 WO 2017211252 A1 WO2017211252 A1 WO 2017211252A1 CN 2017087162 W CN2017087162 W CN 2017087162W WO 2017211252 A1 WO2017211252 A1 WO 2017211252A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- priority
- port
- service flow
- scheduling
- adjustment
- Prior art date
Links
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
Definitions
- the present invention relates to the field of communications, and in particular, to a service flow scheduling method, device, device, and storage medium.
- Differentiated Service defines services as a finite class, classifies services at the edge of the Diff-Serv network domain according to service requirements, and controls traffic. At the same time, Diff. Service Code is set. Point, DSCP); all nodes in the Diff-Serv domain will follow Per Hop Behavior (PHB) according to the DSCP field of the packet.
- QoS Quality of Service
- IP Diff-Serv has become the mainstream application technology.
- the embodiment of the invention provides a service flow scheduling method, device, device and storage medium, To solve at least the problem that the traditional QoS in the related art cannot simultaneously schedule the same service of multiple users.
- a service flow scheduling method including: determining a port priority of a port of an access device accessing a network; and scheduling, according to the determined port priority, a service flow to which the port belongs .
- a service flow scheduling apparatus comprising: a determining module configured to determine a port priority of a port of an access device accessing a network; and a scheduling module configured to determine according to the determining The port priority schedules the service flow to which the port belongs.
- a computer storage medium in which computer executable instructions are stored for executing a service flow scheduling method provided by an embodiment of the present invention.
- a service flow scheduling device including:
- a storage medium configured to store executable instructions
- a processor configured to execute the stored executable instructions, the executable instructions to perform the steps of: determining a port priority of a port of an access device accessing the network; scheduling the port according to the determined port priority The service flow to which the port belongs.
- the port priority of the port of the access device accessing the network is determined; and the service flow to which the port belongs is scheduled according to the determined port priority.
- the priority of the port corresponding to the port of the access device is determined, that is, the priority of the user corresponding to the port is determined, so that when there are multiple users, the multiple users can be distinguished according to the port priority, according to the port.
- Priority schedules the services of multiple users. Therefore, the problem that the traditional QoS cannot simultaneously schedule the same service of multiple users can be solved, and the service effect of distinguishing multiple users is achieved.
- FIG. 1 is a block diagram showing the hardware structure of a terminal of a service flow scheduling method according to an embodiment of the present invention
- FIG. 2 is a flowchart of a service flow scheduling method according to an embodiment of the present invention.
- FIG. 3 is a schematic diagram of a service flow scheduling method according to an embodiment of the present invention.
- FIG. 4 is a schematic diagram of a service flow scheduling method according to an embodiment of the present invention.
- FIG. 5 is a first flowchart of a service flow scheduling method according to an embodiment of the present invention.
- FIG. 6 is a second preferred flowchart of a service flow scheduling method according to an embodiment of the present invention.
- FIG. 7 is a third preferred flowchart of a service flow scheduling method according to an embodiment of the present invention.
- FIG. 8 is a structural block diagram of a service flow scheduling apparatus according to an embodiment of the present invention.
- FIG. 9 is a structural block diagram of a scheduling module 84 in a traffic flow scheduling apparatus according to an embodiment of the present invention.
- FIG. 10 is a structural block diagram of a scheduling unit 94 in a traffic flow scheduling apparatus according to an embodiment of the present invention.
- FIG. 11 is a structural block diagram of a scheduling sub-unit 104 in a traffic flow scheduling apparatus according to an embodiment of the present invention.
- the traditional QoS cannot distinguish between the user and the service at the same time, and can only distinguish the multiple services. That is, the traditional QoS cannot control the traffic of the user, and can only control the traffic of the service according to the priority of the service.
- the traditional QoS technology wants to implement multiple services for multiple users at the same time.
- multi-level QoS can only be supported by upgrading the hardware devices of the existing network access devices (Hierarchical).
- QoS, HQoS) is implemented by adopting a new hardware design, so that the device has internal resource control strategy, which can provide quality assurance for advanced users.
- An embodiment of the present invention provides a method for implementing an HQoS function on an existing device, that is, performing differentiated scheduling on the same service of multiple users on the basis of the traditional QoS.
- FIG. 1 is a hardware structural block diagram of a terminal of a service flow scheduling method according to an embodiment of the present invention.
- terminal 10 may include one or more (only one shown) processor 102 (processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), A memory 104 configured to store data and a transmission device 106 configured as a communication function.
- processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA
- a memory 104 configured to store data
- a transmission device 106 configured as a communication function.
- terminal 10 may also include more or fewer components than those shown in FIG. 1, or have a different configuration than that shown in FIG.
- the memory 104 can be configured as a software program and a module for storing application software, such as a program instruction/module corresponding to the service flow scheduling method in the embodiment of the present invention, and the processor 102 executes by executing a software program and a module stored in the memory 104.
- application software such as a program instruction/module corresponding to the service flow scheduling method in the embodiment of the present invention
- the processor 102 executes by executing a software program and a module stored in the memory 104.
- Various functional applications and data processing, that is, the above methods are implemented.
- Memory 104 may include high speed random access memory, and may also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
- memory 104 may further include memory remotely located relative to processor 102, which may be connected to terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
- Transmission device 106 is configured to receive or transmit data via a network.
- the network described above may include a network provided by a communication provider of the terminal 10.
- transmission device 106 includes A Network Interface Controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet.
- NIC Network Interface Controller
- transmission device 106 can be a switch chip for communicating with the Internet wirelessly.
- FIG. 2 is a flowchart of a service flow scheduling method according to an embodiment of the present invention. As shown in FIG. 2, the process includes the following steps:
- Step S202 determining a port priority of a port of an access device accessing the network; for example, accessing a user service according to an access device port (for example, a user port in a Multi Dwelling Unit (MDU)) Importance, configure the default service class (CoS) of the access device port (the CoS of the port is equivalent to the above port priority);
- an access device port for example, a user port in a Multi Dwelling Unit (MDU)
- MDU Multi Dwelling Unit
- Step S204 scheduling the service flow to which the port belongs according to the determined port priority.
- the priority of the port corresponding to the port of the access device is determined, that is, the priority of the user corresponding to the port is determined, so that when there are multiple users, the multiple can be distinguished according to the port priority.
- Users can schedule services for multiple users based on port priority. Therefore, the problem that the traditional QoS cannot simultaneously schedule the same service of multiple users can be solved.
- scheduling the service flow to which the port belongs according to the determined port priority includes: determining the queue priority of the service flow in the physical queue according to the port priority and the service flow priority of the service flow under the port.
- the physical queue includes a service flow to which one or more ports belong; the service flow is scheduled according to the determined queue priority. For example, according to the CoS of the service flow of the port and the default CoS of the port, combined with the configured priority-to-priority mapping, the new CoS mapping of the service flow (ie, the queue priority) is determined, and finally the user-based (port) is implemented.
- HQoS multi-level scheduling of CoS and service flow CoS is implemented.
- the embodiment of the present invention enables the existing network device hardware to support the HQoS function.
- the existing network device hardware is used to support the HQoS function, and the embodiment of the present invention has significant Low cost advantage.
- the problem that the network miscellaneous packet impacts the CPU, causing system abnormality or slow response is additionally solved, and the performance of the existing network device is improved to some extent.
- the scheduling the service flow according to the determined queue priority includes: adjusting the determined queue priority according to the service flow quality priority of the service flow to obtain the first adjustment priority; Level scheduling traffic.
- the service flow quality priority according to the service flow may be implemented in a plurality of manners, and the determined queue priority is adjusted to obtain the first adjustment priority, for example, by implementing the following manner: Determining, by the service flow quality priority, a first adjustment weight that adjusts the first adjustment priority; mapping the first adjustment priority to the first adjustment weight according to the determined first adjustment adjustment coefficient Physical queues, but implementations are not limited to this.
- scheduling the service flow according to the first adjustment priority may further include: in the case of the outbound direction of the network side port and/or the inbound direction of the user side port, according to the outbound direction of the network side port A rate limit value and/or a second rate limit value of the inbound direction of the user side port, the first adjustment priority is adjusted to obtain a second adjustment priority; and the service flow is scheduled according to the second adjustment priority.
- the first adjustment priority may be adjusted according to the outbound first rate limit value of the network side port and/or the second rate limit value of the user side port inflow direction.
- the second adjustment priority is determined by, for example, determining the first adjustment priority according to the outbound first rate value of the network side port and/or the second rate limit value of the user side port and the total port bandwidth of the port. Adjusting the second adjustment weight; adjusting the first adjustment priority according to the determined second adjustment weight and the second predetermined adjustment coefficient to obtain the second adjustment priority, but the implementation manner is not limited thereto.
- the embodiment of the present invention can provide at least three levels of scheduling for the uplink packet, and the first level scheduling (L1 level scheduling): assigning a default CoS to each port (for example, set to A), and It is used as the basis for calculating the new CoS of the service flow, which is equivalent to the importance of the user service according to the port, and then remaps to the new CoS according to the port default CoS and the service flow itself CoS (for example, set to B). That is, the first adjustment priority, for example, is set to C).
- L1 level scheduling assigning a default CoS to each port (for example, set to A), and It is used as the basis for calculating the new CoS of the service flow, which is equivalent to the importance of the user service according to the port, and then remaps to the new CoS according to the port default CoS and the service flow itself CoS (for example, set to B). That is, the first adjustment priority, for example, is set to C).
- the first-level scheduling is implemented by a priority-to-priority mapping algorithm, mainly focusing on the importance of the users connected to different ports and the priority of the service flow itself. And the weight of the user priority and the service priority can be flexibly adjusted according to the networking requirement; the second level scheduling (L2 level scheduling): adjusting the new CoS to the hardware according to the obtained new CoS (C) combined with the service quality priority
- L2 level scheduling adjusting the new CoS to the hardware according to the obtained new CoS (C) combined with the service quality priority
- the mapping table of the physical queue shows that the second-level scheduling is implemented by the mapping algorithm from the priority to the physical queue. The main focus is on the quality assurance of the service flow. The priority can be adjusted to the physical team.
- the mapping (that is, the priority of the service quality is flexibly adjusted), and the uplink service flow is scheduled again to ensure that important service flows are preferentially entered into the first scheduled queue, so that the service quality of the important guaranteed service flows is guaranteed; Perform some additional pre-scheduling on the outbound/user-side port of the network-side port to achieve the third adjustment of the priority of the service flow.
- the third adjustment can be flexibly selected. For example, it can also be in the uplink port. Outbound based on priority/queue speed limit and queue scheduling algorithm The third level of scheduling.
- the embodiment of the present invention first specifies the user priority (that is, the port priority) through the user-side port, that is, the user priority is introduced in the traditional QoS, and the traditional QoS is changed. It can only be scheduled according to the service priority (service level), and the defects that are not sensitive to the user realize HQoS multi-level scheduling that is sensitive to the user and sensitive to the service level (service priority). And in the first-level scheduling and the second-level scheduling, the priority-to-priority mapping and the priority-to-physical-query mapping algorithm are introduced to map important services to the highest physical queue, so that other services are not allowed to be occupied. This queue further solves the security problems caused by special protocol packets impacting the CPU caused by the CPU or serious performance degradation.
- the foregoing service may be a packet
- the service flow is a series of activities for transmitting a message.
- the embodiment of the present invention uses the transmission packet as an example to describe the foregoing service flow scheduling method in detail.
- the uplink packet specifically refers to the user side.
- the packet sent to the network side is the packet transmitted from the user side interface of the switch chip to the network side interface of the switch chip, and then sent from the interface of the switch chip network side; otherwise, it is the downlink message.
- FIG. 3 is a schematic diagram of a service flow scheduling method according to an embodiment of the present invention
- FIG. 4 is a preferred schematic diagram of a service flow scheduling method according to an embodiment of the present invention
- FIG. 5 is a preferred flowchart 1 of a service flow scheduling method according to an embodiment of the present invention.
- the flow shown in FIG. 5 includes the following steps:
- Step S502 According to the service networking, specify a default service class (Cos) of the port of each access device (the function is the same as the port priority), that is, the importance of the user service connected to the port is different, and the port is different.
- the default CoS is different.
- the default CoS of the port ranges from 0 to 7. In principle, the default CoS of the port that is more important is higher according to the importance of the user or the importance of the service opened by the user.
- Step S504 Configure a priority mapping rule (algorithm) suitable for the network according to the service networking.
- the priority mapping rule is as follows.
- the CoS mapping algorithm can be flexibly adjusted based on different scenarios.
- the embodiment of the present invention takes the 8-priority model as an example, and the queue mapping rule/algorithm may be, but not limited to, as shown in Table 1.
- Step S506 According to the service network, configure a mapping relationship table of the uplink priority to the physical queue that is suitable for the network.
- the mapping rules from the priority to the physical queue are as follows. Note that the priority-to-physical queue mapping algorithm can be flexibly adjusted according to its own needs. Take the 8 queue model as an example. Queue mapping rule: Queue 8: The highest queue is reserved for service flows that cannot be affected by other queues. It is used to ensure the packets of the interaction class required for the normal operation of the board. Other service packets are not allowed.
- the communication packets between the service subcards and the main control board in the MDU device can belong to this queue, so as to ensure that the system does not affect the communication that needs the highest priority due to other network packets; priority 0-
- the mapping rules for 7 to the physical queue are shown in Table 2:
- Step S508 according to the service networking, if necessary, the user side port entry/network Configure the rate limit template based on the CoS/physical queue.
- the rate limit template may be, but is not limited to, rate-limiting processing for a data flow with a low priority but a relatively large traffic, and reducing the impact on the normal service/core service.
- Step S510 Configure a queue scheduling algorithm and a queue depth for the outbound direction of the network side port according to the requirements of the service networking.
- the queue scheduling algorithm currently mainly has a hybrid scheduling mode of SP, WRR and SP+WRR.
- step S512 the port configuration table is searched according to the port that the data stream enters, and the port default priority A and the data stream self-priority B configured in step S502 are obtained.
- Step S514 according to the uplink packet priority mapping rule/algorithm configured/selected in step S504 and the port default priority A and the data stream priority B obtained in step S512, generate a new data stream priority C, and pass the ACL.
- the rule modifies the priority of this data stream to C, which is the first level (L1) schedule.
- Step S516, according to the data stream priority C generated in step S107, check the uplink priority to queue mapping relationship table configured in step S506, and put the data flow message into the found physical queue, which is the second level ( L2) scheduling.
- step S5128 it is determined whether the speed limit template is configured in the priority/queue in step S508. If the configuration continues, step S320 is performed, otherwise step S322 is performed.
- step S520 if the rate-prioritized template configured in step S508 exists in step S518, the rate limit template is executed according to the speed limit template in step S508, which is the third level (L3) scheduling. selected.
- step S522 according to the port outbound scheduling algorithm configured in step S510, the speed limit and the queue scheduling algorithm are sent to the uplink port according to the port, and the speed limit is actually executed, that is, the actual effective module of the above several levels of scheduling.
- the uplink port can optionally add a port-based outbound rate limit according to different scenarios; and the queue scheduling of the uplink port can support SP, WRR, and SP+WRR scheduling algorithms.
- FIG. 6 is a second preferred flowchart of a service flow scheduling method according to an embodiment of the present invention, as shown in FIG. 6 As shown, the process includes the following steps:
- Step S602 extracting and matching the default priority A of the ingress port of the packet and the original priority B of the packet.
- Step S604 searching for the priority mapping template of the ingress port application according to the priority mapping rule/algorithm configured in step S504 shown in FIG. If the priority algorithm 1 is found, proceed to step S606; if the priority mapping algorithm 2 is found, then step S608 is continued; if the priority algorithm N is found, then step S610 is continued.
- Step S606 according to the priority mapping algorithm number 1 found in the above step S604, obtain a corresponding priority-to-priority mapping algorithm calculation formula cosToCos_1(A, B).
- Step S608 according to the priority mapping algorithm number 2 found in the above step S604, obtain a corresponding priority-to-priority mapping algorithm calculation formula cosToCos_2(A, B).
- Step S610 obtaining a corresponding priority-to-priority mapping algorithm calculation formula cosToCos_N(A, B) according to the priority mapping algorithm number N found in the above step S604.
- step S614 the priority of the packet is modified to the priority C calculated in step S612 by using the ACL rule configured in advance.
- step S616 the algorithm number of the ingress port application is obtained according to the uplink packet priority to physical queue mapping rule/algorithm configured in step S506 in the flowchart shown in FIG. If it is found that the algorithm number is 1, go to step S618; if the found algorithm number is 2, go to step S620; and so on, if the found algorithm number is N, go to step S622.
- the mapping rules/algorithms from the first level to the physical queue can be, but are not limited to, the following examples:
- Step S618, according to the priority mapping algorithm number 1 found in the above step S604, obtain a mapping algorithm calculation formula cosToQueue_1 (A, B) of the corresponding priority to the physical queue.
- step S620 according to the priority mapping algorithm number 2 found in the above step S604, the mapping algorithm calculation formula cosToQueue_2(A, B) of the corresponding priority to the physical queue is obtained.
- Step S622 according to the priority mapping algorithm number N found in the above step S604, obtain a mapping algorithm calculation formula cosToQueue_N(A, B) of the corresponding priority to the physical queue.
- step S626 the packet is placed in the outbound queue Qc of the network side port calculated in the foregoing step S212 by the ACL rule configured in advance, and is scheduled to be scheduled.
- FIG. 7 is a third preferred flowchart of a service flow scheduling method according to an embodiment of the present invention. As shown in FIG. 7, this embodiment illustrates a preferred flow of the third-level scheduling shown in FIG. 5, and the process includes the following steps. :
- Step S702 according to the new priority C/new physical queue Qc obtained in the above step S612/step S622, the priority or the queue rate limiting template is matched.
- Step S704 determining, according to the rate limit template configured in the foregoing step S508, whether the new priority C/new queue Qc obtained by the mapping is enabled for the speed limit. If the speed limit is enabled, the process goes to step S706; otherwise, the speed limit processing is skipped. , directly jump to step S716 for processing.
- Step S706 selecting a rate limiting template/algorithm matching the new priority C/new queue Qc according to the rate limiting template configured in the above step S508, and if the algorithm 1 is selected, proceeding to step S708; If the algorithm 2 is selected, the process proceeds to step S710; if the algorithm N is selected, the process proceeds to step S712.
- the speed limit algorithm based on the priority/physical queue may be, but is not limited to, the following example:
- Step S708 Obtain a corresponding speed limit algorithm calculation formula rateLimit_1(C/Qc) according to the speed limit algorithm number 1 found in step S706.
- Step S710 Obtain a corresponding speed limit algorithm calculation formula rateLimit_2(C/Qc) according to the speed limit algorithm number 2 found in step S706.
- Step S712 Obtain a corresponding speed limit algorithm calculation formula rateLimit_N(C/Qc) according to the speed limit algorithm number N found in the above step S706.
- Step S714 calculating the speed limit value R according to the speed limit algorithm obtained in the foregoing steps S708 to S712, and applying the speed limit value by using the ACL rule, and the hardware detects that the priority/queue flow exceeds the The speed limit value R, then go to step S718, otherwise go to step S716.
- step S716 the packet is placed in the outbound queue Qc of the network side port calculated in the above step S624 by the ACL rule configured in advance, and is scheduled to be scheduled.
- Step S718 For the data flow mapped to the new priority C/queue Qc, if the traffic exceeds the previously configured rate limit value, the data flow exceeding the rate limit portion is discarded.
- the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
- the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
- the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
- a service flow scheduling apparatus is further provided, which is used to implement the foregoing embodiments and preferred embodiments, and details are not described herein.
- the term "module” may implement a combination of software and/or hardware of a predetermined function.
- the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
- FIG. 8 is a structural block diagram of a service flow scheduling apparatus according to an embodiment of the present invention. As shown in FIG. 8, the apparatus includes:
- the determining module 82 is configured to determine a port priority of a port of the access device accessing the network;
- the scheduling module 84 (functioning with the uplink communication exit scheduling described above) is connected to the determining module 82, and configured to schedule the service flow to which the port belongs according to the determined port priority.
- FIG. 9 is a structural block diagram of a scheduling module 84 in a service flow scheduling apparatus according to an embodiment of the present invention.
- the scheduling module 84 includes a determining unit 92 and a scheduling unit 94, which are respectively described below.
- the determining unit 92 (functioning with the CoS mapping module described above) is configured to determine a queue priority of the service flow in the physical queue according to the port priority and the service flow priority of the service flow under the port, where the physical queue includes one or more The service flow to which the port belongs;
- the scheduling unit 94 is coupled to the determining unit 92 and configured to schedule the traffic flow according to the determined queue priority.
- FIG. 10 is a structural block diagram of a scheduling unit 94 in a service flow scheduling apparatus according to an embodiment of the present invention.
- the scheduling unit 94 includes: an adjustment subunit 102 and a scheduling subunit 104, which are respectively described below.
- the adjusting sub-unit 102 is configured to adjust the determined queue priority according to the service flow quality priority of the service flow to obtain the first adjustment priority;
- the scheduling subunit 104 is connected to the adjustment subunit 102, and is configured to be optimized according to the first adjustment.
- the first level schedules the business flow.
- FIG. 11 is a structural block diagram of a scheduling sub-unit 104 in a service flow scheduling apparatus according to an embodiment of the present invention.
- the scheduling sub-unit 104 includes: an adjustment sub-sub-unit 112 and a scheduling sub-sub-unit 114, which are respectively performed below. Description.
- Adjusting the secondary sub-unit 112 (the function is the same as the above-mentioned flow rate limiting module), configured to be based on the outbound direction of the network side port and/or the inbound direction of the user side port, according to the first rate limit value of the outbound direction of the network side port and / or the second rate limit value of the inbound direction of the user side port, adjusting the first adjustment priority to obtain the second adjustment priority;
- the scheduling secondary sub-unit 114 is coupled to the adjusted secondary sub-unit 112 and configured to schedule the traffic flow according to the second adjusted priority.
- each of the above modules may be implemented by software or hardware.
- the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the above modules are in any combination.
- the forms are located in different processors.
- each module included in the service flow scheduling apparatus, each unit included in each module, and each subunit included in each unit may be implemented by a processor in a service flow scheduling device; wherein the processor implements
- the function can of course also be implemented by logic circuits.
- the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP) or a field programmable gate array (FPGA). )Wait.
- the foregoing service flow scheduling method is implemented in the form of a software function module and sold or used as a stand-alone product, it may also be stored in a computer readable storage medium.
- the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions. Enabling a computer device (which may be a personal computer, server, or network device, etc.) to perform the embodiments of the present invention All or part of the method.
- the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
- program codes such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
- the embodiment of the invention provides a computer storage medium, where the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the service flow scheduling method.
- a service flow scheduling device includes: a storage medium configured to store executable instructions; a processor configured to execute stored executable instructions, the executable instructions being configured to execute the service flow scheduling method .
- the above storage medium may be configured to store program code for performing the following steps:
- the storage medium is further arranged to store program code for performing the following steps:
- the service flow is scheduled according to the determined queue priority.
- the storage medium is further configured to store program code for performing the steps of: scheduling the traffic flow according to the determined queue priority comprises:
- the service flow is scheduled according to the first adjustment priority.
- the storage medium is further configured to be stored for performing the following steps Program code:
- the first adjustment priority is obtained by adjusting the determined queue priority according to the service flow quality priority of the service flow, and determining, according to the service flow quality priority, the first adjustment priority Level adjusting the first adjustment weight; mapping the first adjustment priority to the physical queue according to the determined first adjustment weight and the first predetermined adjustment coefficient.
- the storage medium is further configured to store program code for performing the step of: scheduling the service flow according to the first adjusted priority comprises:
- the service flow is scheduled according to the second adjustment priority.
- the storage medium is further arranged to store program code for performing the following steps:
- the first adjustment priority is adjusted according to the first rate limit value of the outbound direction of the network side port and/or the second rate limit value of the user side port, and the second adjustment priority is obtained according to the network side. Determining the first rate limit value of the port and/or the second rate limit value of the inbound direction of the user side port and the total bandwidth of the port, determining a second adjustment weight for adjusting the first adjustment priority; according to the determined second adjustment weight, and The second predetermined adjustment coefficient adjusts the first adjustment priority to obtain a second adjustment priority.
- the foregoing storage medium may include, but is not limited to, a U disk, a ROM, a random RAM, a mobile hard disk, a magnetic disk, or an optical disk, and the like, which can store program codes.
- the processor executes, according to the stored program code in the storage medium, the port priority of the port of the access device that accesses the network, and the service flow to which the port belongs according to the determined port priority.
- the processor executes according to the stored program code in the storage medium: scheduling the service flow to which the port belongs according to the determined port priority includes: determining, according to the port priority and the service flow priority of the service flow under the port, The queue priority of the service flow in the physical queue, where the physical queue includes the service flow to which one or more ports belong; the service flow is scheduled according to the determined queue priority.
- scheduling the service flow according to the determined queue priority includes: adjusting the determined queue priority according to the service flow quality priority of the service flow to obtain the first Adjusting the priority; scheduling the service flow according to the first adjustment priority.
- the processor performs, according to the stored program code in the storage medium, the first adjustment priority is obtained by adjusting the determined queue priority according to the service flow quality priority of the service flow. Determining, according to the service flow quality priority, a first adjustment weight that adjusts the first adjustment priority; and according to the determined first adjustment weight, and the first predetermined adjustment coefficient, the first adjustment is prioritized The level is mapped to the physical queue.
- the processor executes according to the stored program code in the storage medium: scheduling the service flow according to the first adjustment priority includes: when the network side port is outbound and/or the user side port is in the direction of opening the speed limit. Adjusting the first adjustment priority to obtain a second adjustment priority according to the first rate limit value of the outbound direction of the network side port and/or the second rate limit value of the user side port entry; and scheduling the service according to the second adjustment priority flow.
- the processor performs, according to the stored program code in the storage medium, according to the following, according to the first rate limit value of the outbound direction of the network side port and/or the second speed limit value of the user side port,
- the first adjustment priority is adjusted to obtain the second adjustment priority: determining the first adjustment priority according to the outbound first rate limit value of the network side port and/or the second rate limit value of the user side port incoming direction and the total port bandwidth Adjusting a second adjustment weight; adjusting the first adjustment priority according to the determined second adjustment weight and the second predetermined adjustment coefficient to obtain a second adjustment priority.
- modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
- the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
- the invention is not limited to any specific combination of hardware and software.
- the port priority of the port of the access device that accesses the network is determined; and the service flow to which the port belongs is scheduled according to the determined port priority.
- the priority of the port corresponding to the port of the access device is determined, that is, the priority of the user corresponding to the port is determined, so that when there are multiple users, the multiple users can be distinguished according to the port priority, according to the port.
- Priority schedules the services of multiple users. Therefore, the problem that the traditional QoS cannot simultaneously schedule the same service of multiple users can be solved, and the service effect of distinguishing multiple users is achieved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种业务流调度方法及装置、设备、存储介质,其中,该方法包括:确定接入网络的接入设备的端口的端口优先级;根据确定的端口优先级调度端口所属的业务流。
Description
相关申请的交叉引用
本申请基于申请号为201610403381.7、申请日为2016年06月08日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
本发明涉及通信领域,具体而言,涉及一种业务流调度方法及装置、设备、存储介质。
差分服务(Differentiated Service,Diff-Serv)通过将业务定义为有限的类,在Diff-Serv网络域边缘处根据服务要求对业务进行分类、流量控制,同时设置业务的区分服务点(Diff.Service Code Point,DSCP);在Diff-Serv域中的所有节点都将根据分组的DSCP字段来遵守每一跳行为(Per Hop Behavior,PHB)。在众多的服务质量(Quality of Service,QoS)技术中,IP Diff-Serv成为当前主流应用技术。
但是随着现在网络设备高速发展,单端口容量变大,接入用户多,而传统的QoS基于业务优先级进行调度的,因此,当在调度多个用户的同一业务时,无法判断先调用哪一用户的业务。因此,传统QoS无法做到同时对多个用户的同一业务进行调度。
发明内容
本发明实施例提供了一种业务流调度方法及装置、设备、存储介质,
以至少解决相关技术中传统QoS无法做到同时对多个用户的同一业务进行调度的问题。
根据本发明的一个实施例,提供了一种业务流调度方法,包括:确定接入网络的接入设备的端口的端口优先级;根据确定的所述端口优先级调度所述端口所属的业务流。
根据本发明的另一个实施例,提供了一种业务流调度装置,包括:确定模块,配置为确定接入网络的接入设备的端口的端口优先级;调度模块,配置为根据确定的所述端口优先级调度所述端口所属的业务流。
根据本发明的另一个实施例,提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行本发明实施例提供的业务流调度方法。
根据本发明的另一个实施例,提供一种业务流调度设备,包括:
存储介质,配置为存储可执行指令;
处理器,配置为执行存储的可执行指令,所述可执行指令用于执行下面的步骤:确定接入网络的接入设备的端口的端口优先级;根据确定的所述端口优先级调度所述端口所属的业务流。
通过本发明的实施例,确定接入网络的接入设备的端口的端口优先级;根据确定的端口优先级调度端口所属的业务流。由于确定了接入网络的接入设备的端口的端口优先级,也即确定了端口对应的用户的优先级,使得在存在多个用户时,可以根据端口优先级区分该多个用户,根据端口优先级对多个用户的业务进行调度。因此,可以解决传统QoS无法做到同时对多个用户的同一业务进行调度的问题,达到了区分多个用户的业务效果。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发
明的不当限定。在附图中:
图1是本发明实施例的一种业务流调度方法的终端的硬件结构框图;
图2是根据本发明实施例的业务流调度方法的流程图;
图3为根据本发明实施例的业务流调度方法的示意图;
图4根据本发明实施例的业务流调度方法的优选示意图;
图5是根据本发明实施例的业务流调度方法的优选流程图一;
图6是根据本发明实施例的业务流调度方法的优选流程图二;
图7是根据本发明实施例的业务流调度方法的优选流程图三;
图8是根据本发明实施例的业务流调度装置的结构框图;
图9是根据本发明实施例的业务流调度装置中调度模块84的结构框图;
图10是根据本发明实施例的业务流调度装置中调度单元94的结构框图;
图11是根据本发明实施例的业务流调度装置中调度子单元104的结构框图。
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在相关技术中,传统QoS无法同时区分用户和业务,只能做到多个业务的区分,即传统QoS无法控制用户的流量,仅能根据业务的优先级控制业务的流量。而传统的QoS技术想要实现同时对多用户的多个业务进行调度,目前只能通过升级现网接入设备的硬件设备支持多级QoS(Hierarchical
QoS,HQoS)来实现,即采用全新的硬件设计,使设备具有内部资源的控制策略,既能够为高级用户提供质量保证。然而,对于接入网中存在的大量现有设备,全部替换为支持HQoS的设备显然是不现实的。因此。本发明实施例提供了一种在现有设备上实现HQoS功能的方法,即在传统QoS的基础上,实现对多用户的同一业务进行区分调度。
本申请实施例一所提供的方法实施例可以在终端、计算机终端或者类似的运算装置中执行。以运行在终端上为例,图1是本发明实施例的一种业务流调度方法的终端的硬件结构框图。如图1所示,终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、配置为存储数据的存储器104、以及配置为通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可配置为存储应用软件的软件程序以及模块,如本发明实施例中的业务流调度方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106配置为经由一个网络接收或者发送数据。上述的网络可包括终端10的通信供应商提供的网络。在一个实例中,传输装置106包括
一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为交换芯片,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述终端的业务流调度方法,图2是根据本发明实施例的业务流调度方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定接入网络的接入设备的端口的端口优先级;例如,可以根据接入设备端口(例如,多用户单元(Multi Dwelling Unit,MDU)中的一个用户端口)的接入用户业务的重要性,配置接入设备端口的默认服务类别(Class of Service,CoS)(端口的CoS相当于上述端口优先级);
步骤S204,根据确定的端口优先级调度端口所属的业务流。
通过上述步骤,由于确定了接入网络的接入设备的端口的端口优先级,也即确定了端口对应的用户的优先级,使得在存在多个用户时,可以根据端口优先级区分该多个用户,可以根据端口优先级对多个用户的业务进行调度。因此,可以解决传统QoS无法做到同时对多个用户的同一业务进行调度的问题。
在本发明的其他实施例中,根据确定的端口优先级调度端口所属的业务流包括:根据端口优先级和端口下的业务流的业务流优先级,确定业务流在物理队列中的队列优先级,其中,物理队列包括一个或多个端口所属的业务流;根据确定的队列优先级调度业务流。例如,根据端口来的业务流的CoS与端口的默认CoS,再结合配置好的优先级到优先级的映射确定业务流的新的CoS映射(即队列优先级),最终实现基于用户(端口)CoS和业务流CoS的HQoS多级调度。
通过上述步骤,既考虑了端口优先级(即用户优先级)又兼顾了业务流本身优先级,可以实现同时对多个用户的多个业务的调度。因此,可以
借助现网接入设备实现HQoS调度功能,从而可以在不升级现网接入设备的硬件的情况下,解决目前需要升级硬件才能支持HQoS调度功能的问题,以及由于硬件升级引起的现网接入设备替换和新设备采购的高成本问题,因此,本发明实施例使得现网设备硬件可以支持HQoS功能,相比于相关技术中替换现网设备硬件以支持HQoS功能,本发明实施例具有显著的低成本优势。另外,通过上述步骤,由于物理队列的重新划分,附带地解决了网络杂包冲击CPU,导致的系统异常或者响应变慢的问题,从一定程度上提高了现网设备的性能。
在本发明的其他实施例中,根据确定的队列优先级调度业务流包括:根据业务流的业务流质量优先级,对确定的队列优先级进行调整获得第一调整优先级;根据第一调整优先级调度业务流。通过上述步骤,可以通过灵活调整业务流质量优先级,再次对业务流的优先级调整,获得第一调整优先级调度,并根据该第一调整优先级对业务流进行调度,进一步确保了重要业务流可以优先被调度,使得重要业务流的服务质量得到保障。
在本发明的其他实施例中,可以通过多种方式实现根据业务流的业务流质量优先级,对确定的队列优先级进行调整获得第一调整优先级,例如,可以通过以下方式实现:根据所述业务流质量优先级确定对所述第一调整优先级进行调整的第一调整权重;根据确定的所述第一调整权重,以及第一预定调整系数,将所述第一调整优先级映射到物理队列,但是实现方式并不限于此。
在本发明的其他实施例中,根据第一调整优先级调度业务流还可以包括:在网络侧端口的出向和/或用户侧端口入向开启限速的情况下,根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对第一调整优先级进行调整获得第二调整优先级;根据第二调整优先级调度业务流。通过上述步骤,可以根据实际应用中端口的限速再次对业务优先级进行调
整,使得调整后的业务流的优先级更加的符合现有设备的实际情况,进一步保证了可以在不升级现有设备的硬件的情况下,提高业务调度的有效性。
在本发明的其他实施例中,可以通过多种方式实现根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对第一调整优先级进行调整获得第二调整优先级,例如,可以通过以下方式,根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值和端口总带宽确定对第一调整优先级进行调整的第二调整权重;根据确定的第二调整权重,以及第二预定调整系数,对第一调整优先级进行调整获得第二调整优先级,但是实现方式并不限于此。
根据上述实施例可以看出,本发明实施例至少可以为上行报文提供三级调度,第一级调度(L1级调度):为每个端口指定默认CoS(例如,设为A),并将其作为计算业务流的新CoS的依据,等价于根据端口下接的用户业务的重要程度不同,然后根据端口默认CoS和业务流自身CoS(例如,设为B)重新映射到新的CoS(即上述第一调整优先级,例如,设为C)上,可见,第一级调度通过优先级到优先级的映射算法实现,主要关注不同端口所接用户的重要程度以及业务流本身的优先级,且可以根据组网需要灵活调整用户优先级和业务优先级所占权重;第二级调度(L2级调度):根据获得的新CoS(C)并结合业务质量优先级,调整新CoS到硬件物理队列的映射关系表,可见,第二级调度通过优先级到物理队列的映射算法实现,主要关注业务流质量保证,可以通过灵活调整优先级到物理队列的映射(即灵活调整业务质量优先级),再次对上行业务流进行调度,确保重要的业务流优先进入先调度的队列,使得重要保障的业务流的服务质量得到保障;第三级调度:通过在网络侧端口的出向/用户侧端口入向限速进行一些附加的预调度,实现对业务流优先级的第三次调整,该第三次调整可以灵活选择,例如,还可以在上联口出向根据优先级/队列的限速和队列调度算法进
行第三级调度。
因此,基于上述三次调度可见,本发明实施例在上述第一级调度中,首次通过用户侧端口指定用户优先级(即端口优先级),即在传统QoS中引入用户优先级,改变了传统QoS只能根据业务优先级(服务等级)进行调度,而对用户不敏感的缺陷,实现了即对用户敏感也对服务等级敏感(业务优先级)的HQoS多级调度。并且在第一级调度和第二级调度中,通过引入优先级到优先级的映射和优先级到物理队列的映射算法,将重要的业务映射到最高物理队列,以使其他业务不被允许占用此队列,进一步解决了特殊协议报文冲击CPU所引起的设备瘫痪或者性能严重下降等安全性问题。
需要说明的是,上述业务可以为报文,业务流即报文传输的一系列活动。为帮助理解上述业务流调度方法,本发明实施例以传输报文为例对上述业务流调度方法进行详细说明,同时,为了后续说明方便,特做出如下约定,上行报文特指从用户侧发往网络侧的报文,即从交换芯片用户侧接口传输到交换芯片网络侧接口,再从交换芯片网络侧接口发出的报文;反之则为下行报文。
图3为根据本发明实施例的业务流调度方法的示意图,图4根据本发明实施例的业务流调度方法的优选示意图,图5是根据本发明实施例的业务流调度方法的优选流程图一,结合图3和图4的原理图,如图5所示的流程包括如下步骤:
步骤S502,根据业务组网,为每个接入设备的端口指定默认服务类别(Class of Service,CoS)(功能同上述端口优先级),即端口下接的用户业务的重要程度不同,端口的默认CoS不同。其中,端口的默认CoS取值范围0-7,原则上根据用户的重要程度或者用户所开业务的重要程度,越重要的端口的默认CoS越高。
步骤S504,根据业务组网,配置适合自身组网的优先级映射规则(算法)。其中,优先级映射规则举例如下,需要注意的是,基于不同的场景,此CoS映射算法可以灵活调整。本发明实施例以8优先级模型为例,队列映射规则/算法,可以是但不限于如表1所示。
表1
流cos\端口cos | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
0 | 0 | 0 | 1 | 1 | 2 | 2 | 3 | 3 |
1 | 0 | 1 | 1 | 2 | 2 | 3 | 3 | 4 |
2 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 |
3 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 5 |
4 | 2 | 2 | 3 | 3 | 4 | 4 | 5 | 5 |
5 | 2 | 3 | 3 | 4 | 4 | 5 | 5 | 6 |
6 | 3 | 3 | 4 | 4 | 5 | 5 | 6 | 6 |
7 | 3 | 4 | 4 | 5 | 5 | 6 | 6 | 7 |
步骤S506,根据业务组网,配置适合自身组网的上行优先级到物理队列的映射关系表。其中,优先级到物理队列的映射规则举例如下,注意基于不同的场景,此优先级到物理队列映射算法可以根据自身需要灵活调整。以8队列模型为例,队列映射规则:队列8:最高队列,保留给不能被其他队列影响的业务流,用于保证单板正常运行所需交互类的报文队列,不允许其他业务报文占用,例如,MDU设备中个业务子卡与主控板之间的通信报文,可以归属为此队列,从而确保系统不会因其他网络杂包影响需要最优先保障的通信;优先级0-7到物理队列(queue)的映射规则如表2所示:
表2
流CoS | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
映射后队列 | 1 | 2 | 3 | 4 | 5 | 6 | 6 | 7 |
步骤S508,根据业务组网,如有必要,还可以在用户侧端口入向/网络
侧端口出向,配置基于CoS/物理队列的限速模板。其中,上述限速模板,可以但不限于是对于低优先级但是流量比较大的数据流做限速处理,减小其对正常业务/核心业务的影响。
步骤S510,根据业务组网需要,配置网络侧端口出向的队列调度算法以及队列深度等。其中,队列调度算法目前主要有:SP、WRR和SP+WRR的混合调度模式。
步骤S512,根据数据流进入的端口,查找端口配置表,获取步骤S502中配置的端口默认优先级A和数据流自身优先级B。
步骤S514,根据步骤S504配置/选择的上行报文优先级映射规则/算法和步骤S512中获取到的端口默认优先级A和数据流优先级B,生成新的数据流优先级C,并通过ACL规则将此数据流的优先级修改为C,此为第一级(L1)调度。
步骤S516,根据步骤S107生成的数据流优先级C,查步骤S506中配置的上行优先级到队列映射关系表,将此数据流报文放入查找到的物理队列中,此为第二级(L2)调度。
步骤S518,判断步骤S508中此优先级/队列是否配置了限速模板,如果配置了继续执行步骤S320,否则执行步骤S322。
步骤S520,如果步骤S518中,报文映射后的优先级/队列存在步骤S508中配置的限速模板,那么根据步骤S508的限速模板执行限速,此为第三级(L3)调度,可选。
步骤S522,根据步骤S510配置的端口出向调度算法,在上联口出向根据端口的限速和队列调度算法,限速实际执行,即上述几级调度的实际生效模块。其中,上联口可以根据场景的不同,可以选择性的添加基于端口的出向限速;且上联口的队列调度可以支持SP、WRR、SP+WRR调度算法。
图6是根据本发明实施例的业务流调度方法的优选流程图二,如图6
所示,该流程包括如下步骤:
步骤S602,提取和匹配报文入端口的默认优先级A和报文原始优先级B。
步骤S604,根据图5所示的步骤S504中配置的优先级映射规则/算法,查找入端口应用的优先级映射模板。如果查找到的是优先级算法1,继续步骤S606;查找到优先级映射算法2,则继续步骤S608;若查找到优先级算法N,则继续步骤S610。其中,优先级映射算法可以但不限于如下举例:可以抽象为,C=x*A+y*B,其中x,y分别为端口默认优先级A和业务流有限B的权重。其中,上述实施例一中的步骤S504中的表1所示的优先级映射算法为C=(A+B)/2,即x=y=1/2。
步骤S606,根据上述步骤S604中查找到的优先级映射算法编号1,获得对应的优先级到优先级的映射算法计算公式cosToCos_1(A,B)。
步骤S608,根据上述步骤S604中查找到的优先级映射算法编号2,获得对应的优先级到优先级的映射算法计算公式cosToCos_2(A,B)。
步骤S610,根据上述步骤S604中查找到的优先级映射算法编号N,获得对应的优先级到优先级的映射算法计算公式cosToCos_N(A,B)。
步骤S612,根据上述步骤606/608/610找到的优先级到优先级的映射算法,和步骤S602中提取的端口默认优先级A和报文原始优先级B,计算得到报文新的优先级C=cosToCos(A,B)。
步骤S614,通过提前配置好的ACL规则,将报文的优先级修改为步骤S612中计算得到的优先级C。
步骤S616,根据如图5所述的流程图中步骤S506中配置的上行报文优先级到物理队列映射规则/算法,获取此入端口应用的算法编号。若查找到算法编号为1,则转到步骤S618;若查找到的算法编号为2,则转到步骤S620;以此类推,若查找到的算法编号为N,则转到步骤S622。其中,优
先级到物理队列的映射规则/算法,可以是但不限于如下示例:
Qc=(m*C+n),其中m为优先级权重,n为补偿系数。根据如图5所述的流程图中步骤S506中举例的算法的m,n取值为:当c在[0,5]时m=1,n=1;但c在[6,7]时,m=1,n=0。
步骤S618,根据上述步骤S604中查找到的优先级映射算法编号1,获得对应的优先级到物理队列的映射算法计算公式cosToQueue_1(A,B)。
步骤S620,根据上述步骤S604中查找到的优先级映射算法编号2,获得对应的优先级到物理队列的映射算法计算公式cosToQueue_2(A,B)。
步骤S622,根据上述步骤S604中查找到的优先级映射算法编号N,获得对应的优先级到物理队列的映射算法计算公式cosToQueue_N(A,B)。
步骤S624,根据上述步骤S618/S620/S622找到的优先级到物理队列的映射算法,和上述步骤S612中计算获得的报文新优先级C,计算得到报文新的优先级Qc=cosToQueue(C)。
步骤S626,通过提前配置好的ACL规则,将此报文放入到上述步骤S212中计算得出的网络侧端口出向队列Qc,等待调度。
图7是根据本发明实施例的业务流调度方法的优选流程图三,如图7所示,本实施例举例说明了如图5所示的第三级调度的优选流程,该流程包括如下步骤:
步骤S702,根据上述步骤S612/步骤S622中获得的新优先级C/新物理队列Qc,去匹配优先级或者队列限速模板。
步骤S704,根据上述步骤S508中配置的限速模板,判断映射获得的新优先级C/新队列Qc是否开启了限速,若开启了限速,则转到步骤S706;否则跳过限速处理,直接跳到步骤S716处理。
步骤S706,根据上述步骤S508中配置的限速模板,选择与新优先级C/新队列Qc相匹配的限速模板/算法,若选择算法1,则走步骤S708;若
选择算法2,则走步骤S710;若选择算法N,则走步骤S712。其中,基于优先级/物理队列的限速算法,可以是但不限于如下示例:
R=rateLimit(C/Qc)=α*C*B+β,其中,α为优先级/队列的带宽权重系数,B为端口总带宽,β为补偿系数。
步骤S708,根据上述步骤S706中查找到的限速算法编号1,获得对应的限速算法计算公式rateLimit_1(C/Qc)。
步骤S710,根据上述步骤S706中查找到的限速算法编号2,获得对应的限速算法计算公式rateLimit_2(C/Qc)。
步骤S712,根据上述步骤S706中查找到的限速算法编号N,获得对应的限速算法计算公式rateLimit_N(C/Qc)。
步骤S714,根据上述步骤S708~步骤S712中获取到的限速算法,计算出限速值R,并且通过ACL规则将此限速值应用下去,硬件一旦检测到此优先级/队列的流超过了限速值R,则转到步骤S718,否则转到步骤S716.
步骤S716,通过提前配置好的ACL规则,将此报文放入到上述步骤S624中计算得出的网络侧端口出向队列Qc,等待调度。
步骤S718,对于映射到此新的优先级C/队列Qc的数据流,如果流量超过前面配置的限速值,则超过限速部分的数据流被丢弃。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种业务流调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本发明实施例的业务流调度装置的结构框图,如图8所示,该装置包括:
确定模块82,配置为确定接入网络的接入设备的端口的端口优先级;
调度模块84(功能同上述上联口出口调度),连接至上述确定模块82,配置为根据确定的端口优先级调度端口所属的业务流。
图9是根据本发明实施例的业务流调度装置中调度模块84的结构框图,如图9所示,该调度模块84包括:确定单元92和调度单元94,下面分别进行说明。
确定单元92(功能同上述CoS映射模块),配置为根据端口优先级和端口下的业务流的业务流优先级,确定业务流在物理队列中的队列优先级,其中,物理队列包括一个或多个端口所属的业务流;
调度单元94,连接至上述确定单元92,配置为根据确定的队列优先级调度业务流。
图10是根据本发明实施例的业务流调度装置中调度单元94的结构框图,如图10所示,该调度单元94包括:调整子单元102和调度子单元104,下面分别进行说明。
调整子单元102,配置为根据业务流的业务流质量优先级,对确定的队列优先级进行调整获得第一调整优先级;
调度子单元104,连接至上述调整子单元102,配置为根据第一调整优
先级调度业务流。
图11是根据本发明实施例的业务流调度装置中调度子单元104的结构框图,如图11所示,该调度子单元104包括:调整次子单元112和调度次子单元114,下面分别进行说明。
调整次子单元112(功能同上述流限速模块),配置为在网络侧端口的出向和/或用户侧端口入向开启限速的情况下,根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对第一调整优先级进行调整获得第二调整优先级;
调度次子单元114,连接至上述调整次子单元112,配置为根据第二调整优先级调度业务流。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明实施例中业务流调度装置所包括的各模块、各模块所包括的各单元,以及各单元所包括的各子单元都可以通过业务流调度设备中处理器来实现;其中处理器所实现的功能当然还可以通过逻辑电路来实现,在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
实施例3
本发明实施例中,如果以软件功能模块的形式实现上述的业务流调度方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述
方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
本发明实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行所述的业务流调度方法。
本发明实施例一种业务流调度设备,包括:存储介质,配置为存储可执行指令;处理器,配置为执行存储的可执行指令,所述可执行指令用于执行所述的业务流调度方法。
在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,确定接入网络的接入设备的端口的端口优先级;
S2,根据确定的端口优先级调度端口所属的业务流。
在本发明的其他实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,根据端口优先级和端口下的业务流的业务流优先级,确定业务流在物理队列中的队列优先级,其中,物理队列包括一个或多个端口所属的业务流;
S2,根据确定的队列优先级调度业务流。
在本发明的其他实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:根据确定的队列优先级调度业务流包括:
S1,根据业务流的业务流质量优先级,对确定的队列优先级进行调整获得第一调整优先级;
S2,根据第一调整优先级调度业务流。
在本发明的其他实施例中,存储介质还被设置为存储用于执行以下步
骤的程序代码:
S1,通过以下方式,根据业务流的业务流质量优先级,对确定的所述队列优先级进行调整获得第一调整优先级包括:根据所述业务流质量优先级确定对所述第一调整优先级进行调整的第一调整权重;根据确定的所述第一调整权重,以及第一预定调整系数,将所述第一调整优先级映射到物理队列。
在本发明的其他实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:根据第一调整优先级调度业务流包括:
S1,在网络侧端口的出向和/或用户侧端口入向开启限速的情况下,根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对第一调整优先级进行调整获得第二调整优先级;
S2,根据第二调整优先级调度业务流。
在本发明的其他实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,通过以下方式,根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对第一调整优先级进行调整获得第二调整优先级:根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值和端口总带宽确定对第一调整优先级进行调整的第二调整权重;根据确定的第二调整权重,以及第二预定调整系数,对第一调整优先级进行调整获得第二调整优先级。
在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、随机RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在本实施例中,处理器根据存储介质中已存储的程序代码执行:确定接入网络的接入设备的端口的端口优先级;根据确定的端口优先级调度端口所属的业务流。
在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据确定的端口优先级调度端口所属的业务流包括:根据端口优先级和端口下的业务流的业务流优先级,确定业务流在物理队列中的队列优先级,其中,物理队列包括一个或多个端口所属的业务流;根据确定的队列优先级调度业务流。
在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据确定的队列优先级调度业务流包括:根据业务流的业务流质量优先级,对确定的队列优先级进行调整获得第一调整优先级;根据第一调整优先级调度业务流。
在本实施例中,处理器根据存储介质中已存储的程序代码执行:通过以下方式,根据业务流的业务流质量优先级,对确定的所述队列优先级进行调整获得第一调整优先级包括:根据所述业务流质量优先级确定对所述第一调整优先级进行调整的第一调整权重;根据确定的所述第一调整权重,以及第一预定调整系数,将所述第一调整优先级映射到物理队列。
在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据第一调整优先级调度业务流包括:在网络侧端口的出向和/或用户侧端口入向开启限速的情况下,根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对第一调整优先级进行调整获得第二调整优先级;根据第二调整优先级调度业务流。
在本实施例中,处理器根据存储介质中已存储的程序代码执行:通过以下方式,根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对第一调整优先级进行调整获得第二调整优先级:根据网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值和端口总带宽确定对第一调整优先级进行调整的第二调整权重;根据确定的第二调整权重,以及第二预定调整系数,对第一调整优先级进行调整获得第二调整优先级。
本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本发明实施例中,确定接入网络的接入设备的端口的端口优先级;根据确定的端口优先级调度端口所属的业务流。由于确定了接入网络的接入设备的端口的端口优先级,也即确定了端口对应的用户的优先级,使得在存在多个用户时,可以根据端口优先级区分该多个用户,根据端口优先级对多个用户的业务进行调度。因此,可以解决传统QoS无法做到同时对多个用户的同一业务进行调度的问题,达到了区分多个用户的业务效果。
Claims (12)
- 一种业务流调度方法,包括:确定接入网络的接入设备的端口的端口优先级;根据确定的所述端口优先级调度所述端口所属的业务流。
- 根据权利要求1所述的方法,其中,根据确定的所述端口优先级调度所述端口所属的业务流包括:根据所述端口优先级和所述端口下的业务流的业务流优先级,确定所述业务流在物理队列中的队列优先级,其中,所述物理队列包括一个或多个端口所属的业务流;根据确定的所述队列优先级调度所述业务流。
- 根据权利要求2所述的方法,其中,根据确定的所述队列优先级调度所述业务流包括:根据业务流的业务流质量优先级,对确定的所述队列优先级进行调整获得第一调整优先级;根据所述第一调整优先级调度所述业务流。
- 根据权利要求3所述的方法,其中,通过以下方式,根据业务流的业务流质量优先级,对确定的所述队列优先级进行调整获得第一调整优先级包括:根据所述业务流质量优先级确定对所述第一调整优先级进行调整的第一调整权重;根据确定的所述第一调整权重,以及第一预定调整系数,将所述第一调整优先级映射到物理队列。
- 根据权利要求3所述的方法,其中,根据所述第一调整优先级调度所述业务流包括:在网络侧端口的出向和/或用户侧端口入向开启限速的情况下,根据 所述网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对所述第一调整优先级进行调整获得第二调整优先级;根据所述第二调整优先级调度所述业务流。
- 根据权利要求5所述的方法,其中,通过以下方式,根据所述网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对所述第一调整优先级进行调整获得第二调整优先级:根据所述网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值和端口总带宽确定对所述第一调整优先级进行调整的第二调整权重;根据确定的所述第二调整权重,以及第二预定调整系数,对所述第一调整优先级进行调整获得第二调整优先级。
- 一种业务流调度装置,包括:确定模块,配置为确定接入网络的接入设备的端口的端口优先级;调度模块,配置为根据确定的所述端口优先级调度所述端口所属的业务流。
- 根据权利要求7所述的装置,其中,所述调度模块还包括:确定单元,配置为根据所述端口优先级和所述端口下的业务流的业务流优先级,确定所述业务流在物理队列中的队列优先级,其中,所述物理队列包括一个或多个端口所属的业务流;调度单元,配置为根据确定的所述队列优先级调度所述业务流。
- 根据权利要求8所述的装置,其中,所述调度单元包括:调整子单元,配置为根据业务流的业务流质量优先级,对确定的所述队列优先级进行调整获得第一调整优先级;调度子单元,配置为根据所述第一调整优先级调度所述业务流。
- 根据权利要求9所述的装置,其中,所述调度子单元还包括:调整次子单元,还配置为在网络侧端口的出向和/或用户侧端口入向开启限速的情况下,根据所述网络侧端口的出向第一限速值和/或用户侧端口入向的第二限速值,对所述第一调整优先级进行调整获得第二调整优先级;调度次子单元,还配置为根据所述第二调整优先级调度所述业务流。
- 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行权利要求1至6任一项所述的业务流调度方法。
- 一种业务流调度设备,包括:存储介质,配置为存储可执行指令;处理器,配置为执行存储的可执行指令,所述可执行指令用于执行权利要求1至6任一项所述的业务流调度方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403381.7 | 2016-06-08 | ||
CN201610403381.7A CN107483360B (zh) | 2016-06-08 | 2016-06-08 | 业务流调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017211252A1 true WO2017211252A1 (zh) | 2017-12-14 |
Family
ID=60578414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/087162 WO2017211252A1 (zh) | 2016-06-08 | 2017-06-05 | 业务流调度方法及装置、设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107483360B (zh) |
WO (1) | WO2017211252A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866430A (zh) * | 2022-03-29 | 2022-08-05 | 北京智芯微电子科技有限公司 | 边缘计算的算力预测方法、算力编排方法及系统 |
CN115086245A (zh) * | 2022-06-29 | 2022-09-20 | 北京物芯科技有限责任公司 | 一种tsn报文调度的方法、交换机、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428693A (zh) * | 2022-03-31 | 2022-05-03 | 季华实验室 | 一种调节消息优先级的方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179503A (zh) * | 2007-12-14 | 2008-05-14 | 华为技术有限公司 | 无线接入网中服务质量实现方法和装置 |
CN101841456A (zh) * | 2009-03-18 | 2010-09-22 | 中国电信股份有限公司 | 一种实现业务应用区分的方法和系统 |
CN102332950A (zh) * | 2011-10-26 | 2012-01-25 | 中国电子科技集团公司第五十四研究所 | 卫星ip网络中基于网口进行限速和优先级调度的方法 |
JP2012120021A (ja) * | 2010-12-02 | 2012-06-21 | Nec Corp | 検索システム、携帯端末および検索方法 |
CN102811159A (zh) * | 2011-06-03 | 2012-12-05 | 中兴通讯股份有限公司 | 一种上行业务的调度方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003244222A (ja) * | 2002-02-18 | 2003-08-29 | Sony Corp | 通信制御装置、通信制御システム、および方法、並びにコンピュータ・プログラム |
JP4701152B2 (ja) * | 2006-10-20 | 2011-06-15 | 富士通株式会社 | データ中継装置、データ中継方法およびデータ中継プログラム |
CN102055643B (zh) * | 2009-11-03 | 2015-05-20 | 中兴通讯股份有限公司 | 下行优先级调度的配置方法、调度方法及装置 |
CN101771733B (zh) * | 2010-01-18 | 2013-11-20 | 中国联合网络通信集团有限公司 | 一种地址转换方法与装置 |
WO2012162994A1 (zh) * | 2011-09-30 | 2012-12-06 | 华为技术有限公司 | 对数据报文进行策略控制的方法和装置 |
CN104410584A (zh) * | 2014-12-16 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 一种QoS的队列等级调度方法 |
-
2016
- 2016-06-08 CN CN201610403381.7A patent/CN107483360B/zh active Active
-
2017
- 2017-06-05 WO PCT/CN2017/087162 patent/WO2017211252A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179503A (zh) * | 2007-12-14 | 2008-05-14 | 华为技术有限公司 | 无线接入网中服务质量实现方法和装置 |
CN101841456A (zh) * | 2009-03-18 | 2010-09-22 | 中国电信股份有限公司 | 一种实现业务应用区分的方法和系统 |
JP2012120021A (ja) * | 2010-12-02 | 2012-06-21 | Nec Corp | 検索システム、携帯端末および検索方法 |
CN102811159A (zh) * | 2011-06-03 | 2012-12-05 | 中兴通讯股份有限公司 | 一种上行业务的调度方法及装置 |
CN102332950A (zh) * | 2011-10-26 | 2012-01-25 | 中国电子科技集团公司第五十四研究所 | 卫星ip网络中基于网口进行限速和优先级调度的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866430A (zh) * | 2022-03-29 | 2022-08-05 | 北京智芯微电子科技有限公司 | 边缘计算的算力预测方法、算力编排方法及系统 |
CN115086245A (zh) * | 2022-06-29 | 2022-09-20 | 北京物芯科技有限责任公司 | 一种tsn报文调度的方法、交换机、设备及存储介质 |
CN115086245B (zh) * | 2022-06-29 | 2023-10-03 | 北京物芯科技有限责任公司 | 一种tsn报文调度的方法、交换机、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107483360B (zh) | 2022-05-13 |
CN107483360A (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111770028B (zh) | 用于计算机网络的方法和网络设备 | |
US11026247B2 (en) | Transmitting data based on flow input from base station | |
CA3112926A1 (en) | Slice information processing method and apparatus | |
RU2533166C2 (ru) | Способ, устройство и система для планирования потока данных | |
US8081569B2 (en) | Dynamic adjustment of connection setup request parameters | |
US8667111B2 (en) | Bandwidth reservation for authenticated applications | |
US10701582B2 (en) | Dynamic application QoS profile provisioning | |
WO2019119837A1 (zh) | 业务识别方法、装置及网络设备 | |
EP3611962A1 (en) | Quality of service control method, device, and system | |
EP2362589B1 (en) | Priority and source aware packet memory reservation and flow control | |
US20150334732A1 (en) | Method and system for scheduling radio resources in cellular networks | |
WO2017211252A1 (zh) | 业务流调度方法及装置、设备、存储介质 | |
WO2014205824A1 (zh) | 资源分配方法、装置及网络侧设备 | |
WO2019195958A1 (en) | Dynamic maximum data burst volume enforcement in user equipment | |
EP4152808A1 (en) | Quality of service control method, device, and system | |
US11115857B2 (en) | Bandwidth sentinel | |
CN108141866A (zh) | 一种处理业务数据包的方法及装置 | |
US20240163725A1 (en) | Systems and methods for supporting multi-access edge computing using application-based quality of service flows | |
US10412006B2 (en) | Bandwith sentinel | |
Samoylov et al. | Efficiency improvement of distance education systems functioning using automated resource control of wireless environment | |
US11477808B2 (en) | System and method for low latency integrated access and backhaul | |
WO2017063578A1 (zh) | 数据报文处理方法及装置 | |
US11902161B1 (en) | Virtual network for virtual phone applications | |
US20230422326A1 (en) | Systems and methods for enabling an alternate quality of service for non-guaranteed bit rate flows | |
Lin et al. | Introducing wireless access programmability using software-defined infrastructure |
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: 17809691 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: 17809691 Country of ref document: EP Kind code of ref document: A1 |