CN114679792A - 业务流的调度方法、装置及系统 - Google Patents
业务流的调度方法、装置及系统 Download PDFInfo
- Publication number
- CN114679792A CN114679792A CN202110272534.XA CN202110272534A CN114679792A CN 114679792 A CN114679792 A CN 114679792A CN 202110272534 A CN202110272534 A CN 202110272534A CN 114679792 A CN114679792 A CN 114679792A
- Authority
- CN
- China
- Prior art keywords
- service flow
- scheduler
- service
- flow
- network device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000005540 biological transmission Effects 0.000 claims abstract description 288
- 239000000872 buffer Substances 0.000 claims description 46
- 230000003139 buffering effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000007493 shaping process Methods 0.000 abstract description 55
- 230000000875 corresponding effect Effects 0.000 description 82
- 238000013507 mapping Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 238000011144 upstream manufacturing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 229920000582 polyisocyanurate Polymers 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 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/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/56—Allocation or scheduling criteria for wireless resources based on priority criteria
- H04W72/566—Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
- H04W72/569—Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1263—Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
- H04W72/1273—Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows of downlink data flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/535—Allocation or scheduling criteria for wireless resources based on resource usage policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/54—Allocation or scheduling criteria for wireless resources based on quality criteria
- H04W72/542—Allocation or scheduling criteria for wireless resources based on quality criteria using measured or perceived quality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了业务流的调度方法、装置及系统。该方案中,当优先级较高的业务流的传输质量不满足与该业务流对应的服务等级需求时,第一网络设备调整HQoS模型对优先级较低的业务流的传输速率阈值为第一阈值,其中,第一阈值小于该优先级较低的业务流的当前数据传输速率。通过对该优先级较低的业务流的流量整形,可以将第一网络设备的下行端口的带宽资源让位于优先级较高的业务流,以确保该优先级较高的业务流满足其服务等级需求。
Description
本申请要求于2020年12月24日提交的申请号为202011550634.6、发明名称为“发送报文的方法、设备和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及业务流的调度方法、装置及系统。
背景技术
随着网络技术的发展,网络中的业务流的数量越来越多。不同业务流对应的服务等级需求可能不同。例如,时延敏感型业务(如交互式虚拟现实和视频会议等)的业务流对应的服务等级需求通常要求低时延、高带宽和低丢包率,而非时延敏感型业务(如文件下载和视频点播等)的业务流对应的服务等级需求则要求高带宽,但对时延和丢包率却没有较高要求。
服务端发送的业务流需要经过多级网络设备转发至用户的终端,该多级网络设备一般包括:骨干路由器、业务路由器(service router,SR)、局域网交换机(local areanetwork switch,LSW)、光线路终端(optical line terminal,OLT)和光网络终端(opticalnetwork terminal,ONT)等。上述网络设备若接收到不同的业务流,通常会将不同的业务流混合在一个队列中进行调度,而该调度方法无法满足不同业务流的服务等级需求。
发明内容
本申请提供了业务流的调度方法、装置及系统,以解决相关技术中的调度方法无法满足不同业务流的服务等级需求的技术问题。
第一方面,提供了一种业务流的调度方法,该方法包括:第一网络设备基于层次化服务质量(hierarchical quality of service,HQoS)模型分别调度第一业务流和第二业务流,其中,该第一业务流的优先级高于该第二业务流的优先级。当第一业务流的传输质量(例如,业务传输的时延、丢包率、数据传输速率和突发流量大小中的一个或多个)不满足与该第一业务流对应的服务等级需求时,第一网络设备能够调整HQoS模型对第二业务流的传输速率阈值为第一阈值,该第一阈值小于该第二业务流的当前数据传输速率。示例性地,该服务等级需求可以是服务等级协议(service level agreement,SLA)定义的需求或其他约定需求。
由于该第一阈值小于优先级较低的第二业务流的当前数据传输速率,因此可以实现对该优先级较低的第二业务流的流量整形。进而,可以将该第一网络设备的下行端口的带宽资源让位于该优先级较高的第一业务流,以确保能够优先满足优先级较高的第一业务流的服务等级需求。
可选地,该第一阈值大于或等于该第二业务流的平均数据传输速率,以避免流量整形严重影响第二业务流的传输质量。
可选地,第一网络设备调整HQoS模型对该第二业务流的传输速率阈值为第一阈值的过程可以包括:当第一业务流的传输质量不满足与该第一业务流对应的服务等级需求,且该第二业务流的当前数据传输速率大于该第二业务流的数据传输速率的峰值阈值时,调整该HQoS模型对该第二业务流的传输速率阈值为该第一阈值。
第二业务流的当前数据传输速率大于第二业务流的数据传输速率的峰值阈值时,第一网络设备可以确定该第二业务流当前存在流量突发。由于流量突发会严重抢占其他业务流的带宽资源,因此第一网络设备基于此对存在流量突发的第二业务流进行流量整形,可以有效改善该第一业务流的传输质量。
可选地,该第二业务流的传输速率阈值包括峰值信息速率(peak informationrate,PIR)、承诺访问速率(committed access rate,CAR)、承诺信息速率(committedinformation rate,CIR)和额外信息速率(excess information rate,EIR)中的一个或多个。可以理解的是,第二业务流的传输速率阈值包括PIR、CAR、CIR和EIR中的任意一个。若第二业务流的传输速率阈值包括PIR、CAR、CIR和EIR中的多个速率,则第一网络设备需分别调整传输速率阈值中的每个速率,在一种实现中,第一网络设备可以将传输速率阈值中的多个速率均调整为同一个第一阈值,即调整后的各个速率之间数值相等;在另一种可能的实现中,第一网络设备可以将传输速率阈值中的多个速率分别调整为各自对应的阈值,即调整后的各个速率之间的数值可以不等。
可选地,在一种网络场景中第一网络设备通过第二网络设备与终端连接,其中HQoS模型包括多级调度器,如与第一网络设备的下行端口对应的第一级调度器,与第二网络设备的下行端口对应的第二级调度器,用于通过第二网络设备的下行端口传输第一业务流的第一底层调度器,以及用于通过第二网络设备的下行端口传输第二业务流的第二底层调度器。
上述方法中,第一底层调度器与第二网络设备的下行端口传输的第一业务流对应,第二底层调度器与第二网络设备的下行端口传输的第二业务流对应。第一网络设备可以通过该两个底层调度器分别实现对第一业务流和第二业务流的调度。
可选地,第一网络设备调整HQoS模型对该第二业务流的传输速率阈值为第一阈值的实现方式包括:第一网络设备调整第一级调度器、第二级调度器和第二底层调度器中至少一个调度器对第二业务流的传输速率阈值为该第一阈值。
例如,为了避免对其他业务流的传输质量产生影响,第一网络设备可以仅调节第二底层调度器对第二业务流的传输速率阈值为该第一阈值。
可选地,第一网络设备调整HQoS模型对该第二业务流的传输速率阈值为第一阈值的实现方式包括:确定传输第一业务流发生网络拥塞的目标调度器,该目标调度器可以为第一级调度器或第二级调度器;调整该目标调度器对第二业务流的传输速率阈值为第一阈值。
通过调整该目标调度器对第二业务流的传输速率阈值,可以有效降低目标调度器传输第一业务流时的拥塞程度,进而改善第一业务流的传输质量。
可选地,该第一级调度器对第一业务流和第二业务流的传输速率阈值之和可以小于或等于第一网络设备的下行端口的最大带宽;该第二级调度器对第一业务流和第二业务流的传输速率阈值之和可以小于或等于第二网络设备的下行端口的最大带宽。
通过使调度器对各个业务流的传输速率阈值之和小于或等于对应的网络设备的下行端口的最大带宽,可以确保网络设备的下行端口的带宽能够满足经过该调度器调度后的业务流的带宽需求。
可选地,第一底层调度器对该第一业务流的传输速率阈值小于或等于该第二网络设备的下行端口的最大带宽。该第二底层调度器对该第二业务流的传输速率阈值小于或等于该第二网络设备的下行端口的最大带宽。
可选地,该第一底层调度器包括用于缓存该第一业务流的报文的第一队列,该第二底层调度器包括用于缓存该第二业务流的报文的第二队列。该第一队列的最大队列缓存与该第二队列的最大队列缓存之和小于或等于该第二网络设备的下行端口的最大端口缓存。
通过使各个底层调度器中的队列的最大队列缓存之和小于或等于第二网络设备的下行端口的最大端口缓存,可以确保第二网络设备的下行端口的端口缓存能够满足经过该底层调度器调度后的业务流的缓存需求。
可选地,该第一业务流的服务等级需求中的时延上限可以小于该第二业务流的服务等级需求中的时延上限。也即是,对于时延要求较高(即对实时性要求高)的业务流的优先级可以较高,对于时延要求较低(即对实时性要求低)的业务流的优先级可以较低。
可选地,该方法还可以包括:第一网络设备基于该HQoS模型调度第三业务流,该第三业务流的优先级高于第二业务流的优先级,且低于第一业务流的优先级;当该第二业务流的传输速率阈值小于或等于第二业务流的平均数据传输速率,或者,当该第二业务流的当前数据传输速率小于或等于第二业务流的数据传输速率的峰值阈值时,第一网络设备调整HQoS模型对该第三业务流的传输速率阈值为第二阈值,该第二阈值小于该第三业务流的当前数据传输速率,由此可以实现对第三业务流的流量整形。
在申请提供的方案中,在第二业务流已不满足流量整形的条件时,可以对其他优先级较低的第三业务流进行流量整形,以确保满足第一业务流的服务等级需求。
第二方面,提供了一种业务流的调度装置,该调度装置应用于第一网络设备,且该调度装置包括至少一个模块,该至少一个模块可以用于实现上述第一方面或第一方面中可选方案提供的业务流的调度方法。
第三方面,提供了一种业务流的调度装置,该业务流的调度装置包括存储器和处理器,该存储器用于存储计算机程序或代码,该处理器用于执行该计算机程序或代码以实现上述第一方面或第一方面中可选方案所提供的业务流的调度方法。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质包括指令或代码,当该指令或代码在计算机上执行时,使得该计算机执行上述第一方面或第一方面中可选方案提供的业务流的调度方法。
第五方面,提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,该芯片用于执行上述第一方面或第一方面中可选方案提供的业务流的调度方法。
第六方面,提供一种计算机程序产品,该计算机程序产品包括程序或代码,当所述程序或代码在计算机上运行时,使得计算机执行上述第一方面或第一方面中可选方案所提供的业务流的调度方法。
第七方面,提供了一种流量调度系统,该流量调度系统包括终端和第一网络设备,该第一网络设备用于调度该终端的第一业务流和第二业务流,且该第一网络设备包括如上述第一方面或第一方面中可选方案提供的业务流的调度装置。
可选地,该流量调度系统还可以包括第二网络设备,该第一网络设备可以通过该第二网络设备与该终端连接。
综上所述,本申请实施例提供了一种业务流的调度方法、装置及系统,在优先级较高的业务流的传输质量不满足与该业务流对应的服务等级需求时,第一网络设备调整HQoS模型对优先级较低的业务流的传输速率阈值为第一阈值,其中,第一阈值小于该优先级较低的业务流的当前数据传输速率。通过该方案可以实现对该优先级较低的业务流的流量整形。进而,可以将该第一网络设备的下行端口的带宽让位于该优先级较高的业务流,以确保能够优先满足该优先级较高的业务流的服务等级需求。
附图说明
图1是本申请实施例提供的一种流量调度系统的网络场景示意图;
图2是本申请实施例提供的一种HQoS模型的结构示意图;
图3是本申请实施例提供的另一种流量调度系统的结构示意图;
图4是本申请实施例提供的另一种HQoS模型的结构示意图;
图5是本申请实施例提供的一种业务流的调度方法的流程图;
图6是本申请实施例提供的一种第一网络设备的结构示意图;
图7是本申请实施例提供的一种流量调度系统的结构示意图;
图8是本申请实施例提供的一种流量整形的示意图;
图9是本申请实施例提供的一种业务流的调度装置的结构示意图;
图10是本申请实施例提供的另一种业务流的调度装置的结构示意图;
图11是本申请实施例提供的又一种业务流的调度装置的结构示意图。
具体实施方式
下面结合附图详细介绍本申请实施例提供的业务流的调度方法、装置及系统。
图1是本申请实施例提供的一种流量调度系统的网络场景示意图。如图1所示,为了避免数据长距离传输带来的业务体验问题和网络租用成本问题,服务提供商(例如视频内容服务提供商)可以在各个重点地区自建数据中心(data center,DC),或租用运营商提供的内容分发网络(content delivery network,CDN)。由此,可以将用于提供业务流的服务器设置在市县等距离终端较近的区域,使得终端所获取的业务流(例如视频流)主要来源于距离其较近的DC或CDN中的服务器,从而有效改善了终端用户的体验。其中,终端也可以称为用户设备,其可以为手机、电脑、可穿戴设备或智能家居设备等。
在本申请实施例中,该DC和CDN中的服务器可以通过多级网络设备将业务流转发至终端。如图1所示,该多级网络设备可以包括:依次级联的骨干路由器10、SR 20、LSW 30、OLT 40和ONT 50等。其中,该骨干路由器10的上行端口可以与DC和/或CDN中的服务器连接以接入互联网(Internet),ONT 50与一个或多个终端连接。参考图1,该流量调度系统还可以包括分路器(splitter)60,OLT 40可以通过分路器60与多个ONT 50连接。并且,该骨干路由器10与LSW 30之间,或者骨干路由器10与OLT 40之间也可以通过宽带接入服务器(broadband access server,BAS)连接。例如,该BAS可以为宽带远程接入服务器(broadband remote access server,BRAS)。为便于描述,下文将骨干路由器10与OLT 40之间的节点统称为SR/BRAS 20。
可以理解的是,在一种可能的实现方式中,图1所示的SR/BRAS 20可以直接与OLT40连接,即该流量调度系统也可以不包括LSW 30。在另一种可能的实现方式中,图1所示的SR/BRAS 20与OLT 40之间可以通过多个级联的LSW 30连接。在又一种可能的实现方式中,图1所示的LSW 30与ONT 50之间也可以不包括OLT 40,在再一种可能的实现方式中,图1所示的LSW 30与ONT 50之间可以通过多个级联的OLT 40连接。在再一种可能的实现方式中,图1所示的OLT 40与终端之间也可以不包括ONT 50,在再一种可能的实现方式中,图1所示的OLT 40与终端之间可以通过多个级联的ONT 50连接。上文描述中,网络设备级联可以是指:一个网络设备的下行端口与另一个网络设备的入端口连接。
随着第五代移动通信技术(5th generation mobile networks,5G)及其新业务的发展,不仅网络流量持续增长,网络中业务流的类型也越来越丰富。由于不同类型的业务流的流量相差很大,服务等级需求也不尽相同,因此对流量调度系统的服务等级需求的保障能力提出了更高的要求。当流量调度系统中业务流的数量较多时,流量调度系统中可能发生网络拥塞,进而导致部分业务流的传输质量不满足与其对应的服务等级需求,为了便于描述,下文将与业务流对应的服务等级需求简称为业务流的服务等级需求。可以理解的是,在本申请实施例中,该服务等级需求可以为SLA中定义的需求。
在流量调度系统中,由于骨干路由器的吞吐能力大,处理能力强,且业务流能够在各个骨干路由器之间进行负载分担,因此骨干路由器通常并不是网络拥塞的瓶颈点。流量调度系统的流量压力主要集中在城域网内,即如图1所示,网络拥塞通常出现在SR/BRAS 20与LSW 30之间的链路,LSW 30与OLT 40之间的链路,以及OLT 40与ONT 50之间的链路上。
本申请实施例提供了一种业务流的调度方法,该调度方法能够使得流量调度系统优先满足优先级较高的业务流的服务等级需求,从而有效提升流量调度系统的服务等级需求的保障能力。该调度方法可以应用于流量调度系统中的第一网络设备,该第一网络设备可以为图1所示系统中的SR/BRAS 20、LSW 30、OLT 40或者ONT 50。
在本申请实施例中,该第一网络设备中部署有HQoS模型。HQoS模型可以将调度队列划为多个调度级别,每一级别可以使用不同的流量特征进行流量管理,从而实现多用户、多业务的服务管理。第一网络设备将接收到的多个业务流划分为不同的优先级,且可以基于HQoS模型对不同优先级的业务流进行区别调度。例如,当优先级较高的业务流的传输质量不满足该业务流的服务等级需求时,可以对优先级较低的业务流进行流量整形(trafficshaping)。其中,流量整形是一种调整业务流的数据传输速率的方式,其能够限制业务流的突发,使得业务流以较为均匀的速率向外发送。通过对优先级较低的业务流进行流量整形,可以将该第一网络设备的下行端口的带宽让位于该优先级较高的业务流,以确保能够优先满足该优先级较高的业务流的服务等级需求。
在一种可能的实现方式中,第一网络设备可以通过第二网络设备与终端连接。HQoS模型可以包括:与第一网络设备的下行端口对应的第一级调度器21,与该第二网络设备的下行端口对应的第二级调度器22,以及用于通过第二网络设备的下行端口传输L种不同优先级的业务流的N个底层调度器。其中,L和N均为大于1的整数,且N大于或等于L。每个底层调度器与第二网络设备的下行端口传输的一种优先级的业务流对应,且用于调度其所对应的一种优先级的业务流。由于底层调度器与业务流对应,因此也可以称为流队列(flowqueue,FQ)级调度器。
可以理解的是,若N=L,则一种优先级的业务流可以对应一个底层调度器,即一种优先级的业务流可以由对应的一个底层调度器调度。若N大于L,则一种优先级的业务流可以对应多个底层调度器,即一种优先级的业务流可以由对应的多个底层调度器调度。例如,假设L=4,N=8,则每种优先级的业务流可以由两个底层调度器调度。又例如,假设第二网络设备的下行端口所传输的业务流包括较高优先级的第一业务流和较低优先级的第二业务流,则该N个底层调度器至少可以包括:用于通过第二网络设备的下行端口传输第一业务流的第一底层调度器23,以及用于通过第二网络设备的下行端口传输第二业务流的第二底层调度器24。或者可以理解为:该N个底层调度器至少包括与第一业务流对应的第一底层调度器23,以及与第二业务流对应的第二底层调度器24。
在本申请实施例中,可以理解的是,调度器与网络设备的下行端口对应可以是指:调度器与网络设备的下行端口建立映射关系,并基于该下行端口的端口参数(例如最大带宽和最大端口缓存等)调度业务流。
在本申请实施例中,还可以理解的是,该第一网络设备可以通过多个级联的第二网络设备与终端连接,相应的,该HQoS模型可以包括与该多个级联的第二网络设备的下行端口一一对应的多个第二级调度器22。示例的,参考图2,假设该第一网络设备为SR/BRAS20,该SR/BRAS 20可以通过LSW 30、OLT 40或ONT 50与第一终端03连接,即该SR/BRAS 20通过作为第二网络设备的LSW 30、OLT 40或ONT 50与第一终端03连接。若该ONT 50的下行端口能够传输4种不同优先级的业务流(即N=4),则该HQoS模型可以包括:与该SR/BRAS 20对应的第一级调度器21,与第二网络设备一一对应的第二级调度器22,以及与该4种不同优先级的业务流一一对应的4个底层调度器。
可选地,如图2所示,该HQoS模型中的第一级调度器21和第二级调度器22均可以包括调度单元和整形单元,底层调度器可以包括整形单元。其中,该整形单元用于对业务流进行流量整形。该调度单元用于按照预先配置的调度策略,从其连接的多个调度器中选择某个调度器中的报文进行调度。可选地,该调度策略可以包括严格优先级(strict priority,SP)调度或者加权公平排队(weighted fair queue,WFQ)调度等。
参考图2还可以看出,该HQoS模型中多个调度器的结构可以与该多个调度器所对应的多个网络设备的拓扑结构相同。也即是,该第一级调度器可以通过一个第二级调度器或者多个级联的第二级调度器与N个底层调度器连接。
对于第一网络设备为SR/BRAS 20,且SR/BRAS 20通过依次级联的LSW 30、OLT 40和ONT 50与终端连接的网络场景,该HQoS模型中的第一级调度器21可以为虚端口(dummyport,DP)级调度器。该HQoS模型包括的三个第二级调度器22,具体包括与LSW 30的下行出端口对应的第二级调度器22可以为虚接口(virtual interface,VI)级调度器;与OLT 40的下行出端口对应的第二级调度器22可以为用户组队列(group queue,GQ)级调度器;与ONT50的下行出端口对应的第二级调度器22可以为用户队列(subscriber queue,SQ)级调度器。
图3是本申请实施例提供的另一种流量调度系统的结构示意图,图4是本申请实施例提供的另一种HQoS模型的结构示意图。结合图1、图3和图4可以看出,该流量调度系统中,SR/BRAS 20可以与多个LSW 30连接,LSW 30可以与多个OLT 40连接,OLT 40又可以与多个ONT 50连接。例如图4所示的网络场景中,OLT 40与两个ONT 50连接,其中一个ONT 50分别与第一终端03和第二终端04连接,另一个ONT 50与第三终端05连接。如图4所示,该SR/BRAS20中的HQoS模型可以包括一个DP级调度器(即一个第一级调度器21),并且还可以包括:与该多个LSW 30对应的多个VI级调度器,与该多个OLT 40对应的多个GQ级调度器,与该多个ONT 50对应的多个SQ级调度器。其中,一个SQ级调度器可以连接多个底层调度器。
可以理解的是,流量调度系统中的每个ONT 50可以与一个用户对应,并用于将该用户的一个或多个终端接入网络。相应的,HQoS模型中的多个SQ级调度器可以用于区分不同用户的业务流,即每个SQ级调度器可以用于调度一个用户的业务流。其中,用户可以是指一个虚拟局域网(virtual local area network,VLAN)、一个虚拟专用网(virtualprivate network,VPN)或者一个家庭宽带用户等。每个SQ级调度器连接的多个底层调度器则可以用于区分同一用户的不同优先级的业务流,其中每种优先级的业务流可以包括一种或多种类型的业务流。
示例的,假设某个用户的业务流包括四种不同类型的业务流:语音业务流、游戏业务流、视频点播业务流和文件下载业务流。并且,该四种不同类型的业务流中,语音业务流和游戏业务流均属于高优先级的业务流,视频点播业务流和文件下载业务流均属于低优先级的业务流。相应的,与该用户对应的SQ级调度器至少可以连接两个底层调度器,其中一个底层调度器用于调度该高优先级的业务流,另一个底层调度器用于调度该低优先级的业务流。
还可以理解的是,不同SQ级调度器所连接的底层调度器的数量可以相同也可以不同。例如,若每个用户的业务流均可以划分为N个不同的优先级,则每个SQ级调度器均可以与N个底层调度器连接。若第一用户的业务流可以划分为N1个不同的优先级,第二用户的业务流可以划分为N2个不同的优先级,则与第一用户对应的SQ级调度器可以连接N1个底层调度器,与第二用户对应的SQ级调度器可以连接N2个底层调度器。其中,N1和N2均为大于1的整数,且N1不等于N2。
还可以理解的是,该HQoS模型包括的任一级调度器的数量可以大于该流量调度系统所包括的对应层级的网络设备的数量。例如,该HQoS模型中VI级调度器的数量可以大于SR/BRAS20所连接的LSW 30数量,GQ级调度器的数量可以大于OLT 40的数量,SQ级调度器的数量可以大于ONT 50的数量。并且,若某个SQ级调度器对应的用户的业务流能够划分为N个不同的优先级,则该SQ级调度器所连接的底层调度器的数量可以大于N。通过在HQoS模型中设计较多数量的调度器,可以确保后续该流量调度系统扩容或更新时,该HQoS模型中具有足够多的调度器能够与流量调度系统中新增的网络设备建立映射关系。由此,有效提高了该HQoS模型的应用灵活性。
还可以理解的是,第一网络设备(例如SR/BRAS 20)可以包括多个下行端口,则该第一网络设备中可以部署有与该多个下行端口一一对应的多个HQoS模型。也即是,该HQoS模型可是针对第一网络设备的每个下行端口部署的。
还可以理解的是,在本申请实施例中,网络设备的下行端口均可以是物理端口或虚拟端口。其中,虚拟端口可以是由多个物理端口组成的汇聚(trunk)端口。
结合图4所示的网络场景图,下文对第一网络设备基于HQoS模型调度业务流的过程进行介绍。第一网络设备在接收到上游设备(例如骨干路由器10)发送的业务流后,可以先确定该业务流所属的用户,并从HQoS模型包括的多个SQ级调度器中确定出与该用户对应的目标SQ级调度器。例如,第一网络设备可以基于访问控制列表(access control lists,ACL)确定业务流所属的用户。然后,第一网络设备可以基于该业务流的类型确定该业务流的优先级,并从该目标SQ级调度器所连接的多个底层调度器中确定出与该业务流的优先级对应的目标底层调度器。之后,第一网络设备即可将该业务流的报文添加至目标底层调度器中的队列。进一步的,第一网络设备可以通过目标SQ级调度器、GQ级调度器、VI级调度器和DP级调度器分别对该目标底层调度器中的报文进行调度,使得该业务流的报文依次通过目标SQ级调度器、GQ级调度器和VI级调度器传输至DP级调度器。该DP级调度器进而可以将该报文通过第一网络设备的下行出端口发送至下一级的第二网络设备,例如发送至LSW30。
可以理解的是,调度系统中的ONT 50可以与同一用户的多个终端连接,且ONT 50向不同终端传输的业务流的类型可以相同,即ONT 50向不同终端传输的业务流的优先级可以相同。在该场景下,第一网络设备可以通过一个底层调度器对传输至不同终端但优先级相同的多个业务流进行调度。例如,假设某个ONT 50分别与用户的手机和电脑连接,且该手机和电脑分别在下载文件,则HQoS模型可以将传输至手机的文件下载业务流和传输至电脑的文件下载业务流在同一个底层调度器中进行调度。
基于上述HQoS模型的调度原理可知,第一网络设备基于该HQoS模型不仅能够区分不同用户的业务流,且可以区分同一用户的不同类型的业务流,因此可以达到精细化调度流量的目的。
图5是本申请实施例提供的一种业务流的调度方法的流程图,该方法可以应用于流量调度系统中的第一网络设备。该第一网络设备可以为图1至图4中任一附图所示的SR/BRAS 20、LSW 30、OLT 40或者ONT 50。参考图5,该方法包括:
步骤101、配置HQoS模型包括的多级调度器与流量调度系统中各个网络设备的设备映射关系。
在本申请实施例中,第一网络设备中的HQoS模型中多级调度器分别对应不同级别的网络设备的下行端口的端口参数。该第一网络设备可以记录HQoS模型中每个调度器与其所对应的网络设备的端口参数的映射关系,从而得到设备映射模型。其中,该端口参数至少可以包括:最大带宽。除了该最大带宽之外,该端口参数还可以包括:最大端口缓存。
可选地,网络设备中可以包括多个不同优先级的队列,其中每个队列用于缓存一种优先级的业务流的报文,网络设备的下行端口可以按照一定的调度比例对该多个队列中的报文进行调度。相应的,该网络设备的下行端口的端口参数还可以包括:对不同优先级的队列的调度比例。
可以理解的是,由于HQoS模型中的底层调度器与第二网络设备的下行端口所传输的不同优先级的业务流对应,因此该设备映射模型中还可以记录底层调度器与第二网络设备的下行端口的端口参数的映射关系,以及底层调度器与不同优先级的业务流的映射关系。
示例的,图6是本申请实施例提供的一种第一网络设备的结构示意图,如图6所示,该第一网络设备包括模型配置模块201,该模型配置模块201包括映射模型建立单元2011。该映射模型建立单元2011能够基于该第一网络设备中配置的端口参数,建立设备映射模型。参考图2和图4,该设备映射模型中可以记录如下映射关系:DP级调度器及其对应的SR/BRAS 20的下行端口的端口参数,VI级调度器及其对应的LSW 30的下行端口的端口参数,GQ级调度器及其对应的OLT 40的下行端口的端口参数,SQ级调度器及其对应的ONT 50的下行端口的端口参数,底层调度器及其对应的ONT 50的下行端口的端口参数,以及底层调度器及其对应的一种业务流的优先级,可以理解的是,设备映射模型包括VI级调度器、GQ级调度器和SQ级调度器中的一个或多个调度器。
上述端口参数可以配置为静态参数,不会随着网络设备的运行而改变,因此可以提前将上述端口参数配置在第一网络设备中。并且,上述端口参数可以作为后续确定各个调度器的调度参数的初始值的约束。也即是,在确定调度器的调度参数的初始值时,需确保该初始值能够满足该调度器对应的网络设备的下行端口的端口参数的约束。
步骤102、配置业务流的服务等级需求模型。
在本申请实施例中,第一网络设备可以保存业务流及其服务等级需求的映射关系,从而得到服务等级需求模型。其中,业务流的服务等级需求可以包括对下述至少一种参数的限定:时延、丢包率和数据传输速率等。可以理解的是,服务等级需求中的每个参数可以是指端到端的参数,端到端是指第一网络设备到终端。
如图6所示,该第一网络设备的模型配置模块201还包括需求模型建立单元2012。该需求模型建立单元2012能够基于该第一网络设备中配置的各个业务流的服务等级需求,建立业务流的服务等级需求模型。假设在第一网络设备中配置了M个业务流的服务等级需求,且该服务等级需求为SLA中定义的需求,则该需求模型建立单元2012创建的服务等级需求模型中,第i个业务流的服务等级需求可以表示为:SLA_i={Xi,Yi,Zi,…}。其中,M为大于1的整数,i为不大于M的正整数。Xi,Yi和Zi可以分别表示服务等级需求中一种参数的限定阈值。
例如,Xi可以表示时延上限,Yi可以表示丢包率上限,Zi可以表示数据传输速率下限。相应的,若要满足第i个业务流的服务等级需求,则需确保该第i个业务流的端到端时延不大于Xi,端到端丢包率不大于Yi,且端到端的数据传输速率不小于Zi。假设第i个业务流为云VR(Cloud VR)业务流,其要求从第一网络设备到终端的时延在20毫秒(ms)以下,则该服务等级需求中的Xi可以为20ms。
可选地,该服务等级需求中各个参数的限定阈值可以是经验值,或者,也可以基于建模理论推导得到。例如,第一网络设备可以对业务流的流量分布以及网络设备的处理能力进行建模,从而估算得到服务等级需求中各个参数的限定阈值。其中,该建模理论可以包括:泊松分布建模、排队论建模、网络演算和人工智能(artificial intelligence,AI)建模等。该排队论建模得到的模型可以为M/D/1模型。
步骤103、基于该设备映射模型和该服务等级需求模型,确定HQoS模型中各个调度器的调度参数的初始值。
对于HQoS模型中的调度器,第一网络设备可以基于设备映射模型中记录的该调度器对应的网络设备的端口参数,以及该服务等级需求模型中记录的各个业务流的服务等级需求,确定该调度器的调度参数的初始值。其中,调度器的调度参数用于指示对业务流的调度策略。
可选地,该调度参数可以包括:调度器对不同优先级的业务流的传输速率阈值,该传输速率阈值用于限制调度器传输业务流时的速率。其中,调度器对不同优先级的业务流的传输速率阈值可以相同,也可以不同。并且,调度器对每种优先级的业务流的传输速率阈值小于或等于该调度器对应的网络设备的下行端口的最大带宽。
示例的,假设第一网络设备接收到的业务流包括第一业务流和第二业务流,其中第一业务流的优先级高于第二业务流的优先级。则HQoS模型中第一级调度器21对该第一业务流和第二业务流的传输速率阈值之和小于或等于第一网络设备(例如SR/BRAS 20)的下行端口(该下行端口是指HQoS模型所对应的下行端口)的最大带宽。第二级调度器22对该第一业务流和第二业务流的传输速率阈值之和小于或等于第二网络设备的下行端口(该下行端口是指用于与终端连接的端口)的最大带宽。例如,SQ级调度器对第一业务流和第二业务流的传输速率阈值之和小于或等于ONT 50的下行端口的最大带宽;GQ级调度器对第一业务流和第二业务流的传输速率阈值之和小于或等于OLT 40的下行端口的最大带宽。
通过使调度器对各个业务流的传输速率阈值之和小于或等于对应的网络设备的下行端口的最大带宽,可以确保网络设备的下行端口的带宽能够满足经过该调度器调度后的业务流的带宽需求。
若HQoS模型包括的多个底层调度器中,第一底层调度器23用于通过该第二网络设备的下行端口传输第一业务流,第二底层调度器24用于通过该第二网络设备的下行端口传输第二业务流。则第一底层调度器23对该第一业务流的传输速率阈值小于或等于第二网络设备的下行端口的最大带宽,第二底层调度器24对该第二业务流的传输速率阈值小于或等于第二网络设备的下行端口的最大带宽。
在本申请实施例中,参考图2和图4,每个底层调度器可以包括一个队列,该队列用于缓存该底层调度器对应的一种优先级的业务流的报文。例如,第一底层调度器23可以包括用于缓存第一业务流的报文的第一队列,第二底层调度器24可以包括用于缓存第二业务流的报文的第二队列。对于第一级调度器和第二级调度器(例如SQ级调度器、GQ级调度器、VI级调度器和DP级调度器)中的每个调度器(为便于与底层调度器区分,下文简称为上游调度器),该上游调度器可以包括多个不同优先级的队列。其中,若上游调度器中包括多个不同优先级的队列,则该上游调度器包括的队列的个数可以等于与该上游调度器对应的网络设备中包括的队列的个数,且该上游调度器可以对其所包括的多个不同优先级的队列进行调度。若上游调度器中不包括队列,则该上游调度器可以对其所连接的各个调度器包括的队列进行调度。
可选地,HQoS模型中每个调度器的调度参数所包括的传输速率阈值的个数可以等于该调度器所需调度的队列的个数,其中每个传输速率阈值用于限制一个队列中的报文的传输速率。因此,调度器对某个优先级的业务流的传输速率阈值也可以理解为:调度器对该优先级的业务流所属队列的传输速率阈值。
示例的,由于每个底层调度器包括一个队列,因此每个底层调度器的调度参数可以包括一个传输速率阈值。假设SQ级调度器与N个底层调度器连接,且SQ级调度器中不包括队列,则SQ级调度器的调度参数可以包括:与该N个底层调度器包括的N个队列对应的N个传输速率阈值。
可以理解的是,上游调度器包括的队列的个数与SQ级调度器连接的底层调度器的个数可以相等,也可以不等。若某个上游调度器包括的队列个数小于SQ级调度器所连接的底层调度器的个数,则该上游调度器可以将多个底层调度器中的报文在一个队列中调度。
例如,假设每个SQ级调度器均与4个底层调度器连接,则每个上游调度器也可以包括4个不同优先级的队列。或者,若某个上游调度器对应的网络设备中仅包括2个不同优先级的队列,则该上游调度器也可以仅包括2个队列,并且该2个队列中的每个队列可以与2个底层调度器中的队列对应。也即是,上游调度器可以将2个底层调度器中的报文混合至一个队列中调度。
可选地,该传输速率阈值可以包括PIR、CAR、CIR和EIR中的一个或多个。并且,上述每种速率的初始值均可以小于或等于调度器所对应的网络设备的下行端口的最大带宽。
作为一种可能的实现方式,调度器对各个队列的传输速率阈值的初始值可以等于该下行端口的最大带宽。作为另一种可能的实现方式,调度器对各个队列的传输速率阈值的初始值可以等于该下行端口的最大带宽除以该调度器所需调度的队列的个数。作为又一种可能的实现方式,若设备映射模型中记录的端口参数还包括:网络设备的下行端口对不同优先级的队列的调度比例,则第一网络设备还可以基于该调度比例分配该下行端口的最大带宽,从而得到对各个队列的传输速率阈值。例如,各个队列的传输速率阈值的初始值的比例可以等于该调度比例。
示例的,假设流量调度系统中,某个OLT 40的下行出端口的最大带宽为1Gbps,且与该OLT 40对应的GQ级调度器中包括4个不同优先级的队列,则该GQ级调度器对该4个队列的PIR的初始值均可以被配置为1/4Gbps。或者,假设该OLT 40对4个不同优先级的队列的调度比例为1:2:3:4,则该GQ级调度器对该4个队列的PIR的初始值可以分别被配置为:0.1Gbps、0.2Gbps、0.3Gbps和0.4Gbps。可以看出,GQ级调度器对该4个队列的PIR的初始值的比例等于该调度比例。
可选地,对于该HQoS模型中的SQ级调度器,该设备映射模型中还可以记录有SQ级调度器对应的用户所办理的网络套餐的最大带宽。若该网络套餐的最大带宽小于该ONT 50的下行出端口的最大带宽,则第一网络设备可以基于该网络套餐的最大带宽确定SQ级调度器对不同优先级的队列的传输速率阈值。例如,假设某ONT 50的下行出端口的最大带宽为1Gbps,但该ONT 50的用户购买的是最大带宽为100兆比特每秒(megabits per second,Mbps)的网络套餐,则与该ONT 50对应的SQ级调度器对不同优先级的队列的PIR的初始值之和可以小于等于100Mbps。
若设备映射模型中记录的网络设备的端口参数还包括:最大端口缓存,则对于包括队列的调度器,该调度器的调度参数还可以包括:调度器中每个队列的最大队列缓存。对于不包括队列的调度器,该调度器的调度参数还可以包括:该调度器的最大缓存。其中,调度器中各个队列的最大队列缓存之和可以小于或等于该最大端口缓存,调度器的最大缓存也小于或等于该最大端口缓存。例如,假设SQ级调度器包括4个不同优先级的队列,则该4个队列的最大队列缓存之和可以小于或等于第二网络设备(例如ONT 50)的下行端口的最大端口缓存。
可以理解的是,队列的最大队列缓存是指队列所能够占用的最大缓存,即该队列所能够缓存的报文的总数据量的上限。
对于SQ级调度器连接的N个底层调度器,该N个底层调度器包括的N个队列的最大队列缓存之和应小于或等于与SQ级调度器对应的第二网络设备的下行端口的最大端口缓存。例如,假设SQ级调度器所连接的底层调度器包括第一底层调度器23和第二底层调度器24,其中第一底层调度器23中用于缓存第一业务流的报文的队列为第一队列,第二底层调度器24中用于缓存第二业务流的报文的队列为第二队列。则该第一队列的最大队列缓存与第二队列的最大队列缓存之和可以小于或等于该第二网络设备(例如ONT 50)的下行端口的最大端口缓存。
通过使各个底层调度器中的队列的最大队列缓存之和小于或等于第二网络设备的下行端口的最大端口缓存,可以确保第二网络设备的下行端口的端口缓存能够满足经过该底层调度器调度后的业务流的缓存需求。
在本申请实施例中,该第一网络设备还可以基于该服务等级需求模型建立该流量调度系统的流量模型,进而基于该流量模型确定调度器中各个队列的最大队列缓存。以流量调度系统中的某个OLT 40为例,假设流量调度系统中的业务流主要为视频流(例如,视频流的占比达到80%以上),则第一网络设备可以基于排队论的M/D/1模型计算该OLT 40对应的GQ级调度器的时延,进而基于该时延确定GQ级调度器所需的缓存的大小。该时延的计算公式如下:
其中,W(t)表示GQ级调度器在t时刻的时延。λ为流量到达速率,其服从泊松分布;μ为OLT40的服务速率;ρ为OLT 40的负载率,且该负载率ρ满足:ρ=λ/μ;k为大于等于0且小于等于的整数,表示对μt进行向下取整。
第一网络设备可以基于该OLT 40所处场景中不同类型的业务流的占比以及每种类型的业务流的条数,对上述公式中的流量到达速率λ进行预估。并且,该第一网络设备还可以基于该OLT 40所在地区各个OLT的平均端口负载率确定该OLT 40的负载率ρ。假设该负载率ρ为50%,服务速率μ为1Gbps,则第一网络设备能够基于上述公式计算出该OLT 40对应的GQ级调度器所需的缓存的大小,从而配置该GQ级调度器中各个队列的最大队列缓存。
可选地,如图6所示,该第一网络设备的模型配置模块201还包括参数配置单元2013。该参数配置单元2013能够基于该设备映射模型和该服务等级需求模型,配置HQoS模型中各个调度器的配置参数的初始值。
步骤104、采用HQoS模型分别调度接收到的每个业务流。
在本申请实施例中,第一网络设备通过其上行端口接收到来自服务端的业务流后,能够以业务流所属的用户和业务流的类型这两个特征对不同的业务流进行区分。例如,第一网络设备可以先确定接收到的业务流所属的用户,然后再基于业务流的类型确定该业务流的优先级。第一网络设备完成对业务流的识别之后,可以从HQoS模型包括的第二级调度器22(例如SQ级调度器)中确定出与该业务流所属用户对应的目标第二级调度器,并从该目标第二级调度器所连接的多个底层调度器中确定出与该业务流的优先级对应的目标底层调度器。之后,第一网络设备即可以将该业务流的报文添加至目标底层调度器中进行排队,并基于HQoS模型的第一级调度器21和目标第二级调度器对该目标底层调度器中的报文进行调度。
示例的,参考图2至图4,假设该第一网络设备接收到了来自服务端01的第一业务流,以及来自服务端02的第二业务流。其中,该第一业务流的接收方为第一终端03,第二业务流的接收方为第二终端04,该第一业务流和第二业务流所属的用户相同,且该第一业务流的优先级高于该第二业务流的优先级。则该第一网络设备可以将第一业务流的报文添加至第一底层调度器23中的第一队列,并将第二业务流的报文添加至第二底层调度器24中的第二队列。由于该两个业务流所属的用户相同,因此如图2、图4和图7所示,该第一底层调度器23和第二底层调度器24与同一个第二级调度器22(例如SQ级调度器)连接。
可以理解的是,该服务端01和服务端02可以部署于同一个服务器,也可以部署于不同的服务器。该第一终端03和第二终端04可以为同一终端,也可以为不同的终端,本申请实施例对此不做限定。
第一网络设备在将业务流的报文添加至对应的底层调度器后,作为一种可能的实现方式,第一网络设备可以依次通过第二级调度器22和第一级调度器21调度底层调度器中的报文。例如,第二级调度器22可以先按照其配置的调度策略(例如SP调度或WFQ调度等)将底层调度器中的报文调度至第二级调度器22中。然后,第一级调度器21再按照其配置的调度策略将第二级调度器22中的报文调度至第一级调度器21中。
作为另一种可能的实现方式,第一网络设备可以依次通过第一级调度器21和第二级调度器22调度底层调度器中的报文。例如,第一级调度器21可以先按照其配置的调度策略为第二级调度器22分配调度资源(例如带宽资源)。第二级调度器22进而可以基于第一级调度器21分配的调度资源为其所连接的各个底层调度器分配调度资源。最后,底层调度器即可基于分配的调度资源向第二级调度器22传输报文。
还可以理解的是,任一业务流在HQoS模型包括的各级调度器中的传输顺序为:底层调度器、第二级调度器22和第一级调度器21。对于HQoS模型包括多个级联的第二级调度器22的场景,报文在该多个级联的第二级调度器22的传输顺序为:从靠近底层调度器的方向到远离该底层调度器的方向依次传输。例如,假设如图2、图4和图7所示,HQoS模型包括依次级联的SQ级调度器、GQ级调度器和VI级调度器,则报文在该HQoS模型中各级调度器的传输顺序为:FQ级调度器→SQ级调度器→GQ级调度器→VI级调度器→DP级调度器。
假设该HQoS模型中,第一底层调度器23对第一业务流的PIR为1000Mbps,第二底层调度器24对第二业务流的PIR为800Mbps。则该第一底层调度器23在向SQ级调度器传输第一业务流时,可以将该第一业务流的数据传输速率限制在1000Mbps以下,第二底层调度器24在向SQ级调度器传输第二业务流时,可以将该第二业务流的数据传输速率限制在800Mbps以下。
参考图6,该第一网络设备还包括处理模块202、网络接口203和电源204。该处理模块202包括业务识别单元2021,该网络接口203与上游设备(例如骨干路由器10)连接,用于接收来自服务端(例如DC或CDN中的服务端)的业务流,并将业务流传输至业务识别单元2021。
该业务识别单元2021可以基于预先配置的业务流识别策略,识别接收到的各个业务流,并确定每个业务流的优先级。之后,该业务识别单元2021即可基于业务流所属的用户和业务流的优先级,将该业务流的报文添加至对应的底层调度器中。其中,该业务流识别策略可以包括下述方式中的至少一种:基于差分服务代码点(differentiated servicescode point,DSCP)定义QoS属性的技术,深度包检测(deep packet inspection,DPI)技术,基于流量识别模型的识别技术,以及基于流量特征的识别技术等。其中,该流量识别模型可以是基于AI算法训练得到的。
示例的,假设第一网络设备接收到的第一业务流、第二业务流和第三业务流所属的用户相同,但优先级互不相同。则如图7所示,该业务识别单元2021可以将第一业务流的报文D1添加至对应的第一底层调度器23中,将第二业务流的报文D2添加至对应的第二底层调度器24中,并将第三业务流的报文D3添加至对应的第三底层调度器25中。该第三底层调度器25也为FQ级调度器。
步骤105、分别监测每个业务流在第一网络设备与终端之间的传输质量。
在本申请实施例中,第一网络设备可以在业务流调度的过程中,实时监测每个业务流在第一网络设备与终端之间的传输质量。例如,假设该第一网络设备调度的业务流包括:第一业务流和第二业务流,则该第一网设备可以监测该第一业务流在该第一网络设备与第一终端03之间的传输质量,并监测该第二业务流在第一网络设备与第二终端04之间的传输质量。其中,该传输质量的衡量参数可以包括时延、丢包率、数据传输速率和突发流量大小(burst size,BS)中的一个或多个。
如图6所示,该第一网络设备中的处理模块202还包括数据统计单元2022和计算单元2023。下文以第一业务流为例,对第一网络设备监测业务流的传输质量的过程进行说明。
首先,该数据统计单元2022可以统计第一业务流在至少一个调度器中的传输状态数据。计算单元2023可基于数据统计单元202统计得到的传输状态数据,确定该第一业务流在该第一底层调度器23与该第一级调度器21之间的传输质量。由于该HQoS模型中各级调度器与流量调度系统中的各级网络设备之间存在映射关系,因此该第一业务流在该第一底层调度器23与该第一级调度器21之间的传输质量,即反映了该第一业务流在第一网络设备与第一终端03之间的传输质量。
可选地,该传输状态数据可以包括下述数据中的至少一种:该第一业务流所属队列新增的报文数量和发出的报文数量,该第一业务流所属队列的队列长度,该第一业务流所属队列占用的缓存,以及该第一业务流所属队列的丢包数。其中,第一业务流所属队列的丢包数PL可以满足:PL=P_in-P_out-P_buffer。P_in、P_out和P_buffer分别为第一业务流所属队列在统计时长内新增的报文数量,发出的报文数量,以及队列中缓存的报文数量。
作为一种可选的实现方式,对于HQoS模型中的每个调度器均包括多个不同优先级的队列的场景,如图2所示,数据统计单元2022可以对每个调度器中第一业务流所属队列进行传输状态数据的统计。例如,可以对第一业务流所属队列进行报文计数、队列长度统计、缓存占用统计以及丢包数统计。其中,报文计数是指:统计该第一业务流所属队列新增的报文数量。计算单元2023可对各个调度器对该第一业务流的传输状态数据进行计算,从而得到该第一业务流在该第一网络设备的传输质量。
例如,对于时延,该计算单元2023可以将各个调度器中第一业务流所属队列的队列长度相加,然后再基于总的队列长度确定该第一业务流在第一网络设备和第一终端03之间传输的时延,该时延与该总的队列长度正相关。
对于丢包率,该计算单元2023可以将各个调度器中第一业务流所属队列在统计时长内的丢包数相加,然后再将总的丢包数与第一底层调度器23中该第一业务流所属队列在该统计时长内新增的报文数量相除,从而得到该第一业务流在该统计时长内的丢包率。其中,该统计时长可以等于第一业务流的传输时长,即该第一网络设备在接收到第一业务流的报文后可以持续对该第一业务流的传输状态数据进行统计。或者,该统计时长也可以为预先配置的固定时长,即第一网络设备可以每隔统计时长对该第一业务流的传输状态数据进行一次统计。
对于数据传输速率,该计算单元2023可以将第一底层调度器23中第一业务流所属队列在单位时长内发出的报文的总数据量与该单位时长相除,从而得到该第一业务流的数据传输速率。其中,该数据传输速率的单位可以为bps。该单位时长的数量级可以为秒级,例如,该单位时长可以为1秒。或者,为了确保统计得到的数据传输速率的精度,该单位时长的数量级还可以为毫秒级,例如可以为10毫秒。
对于突发流量大小,计算单元2023可以对第一底层调度器23中第一业务流所属队列在统计时长内连续新增的报文的数据量进行累加,从而得到该突发流量大小。其中,连续新增的报文是指:与前一个报文的到达间隔小于时间阈值(例如1微秒)的报文。
可以理解的是,由于该HQoS模型中每一层级的调度器均包括多个,因此参考图2,数据统计单元2022还可以记录每个调度器的标识(identification,ID),以便区分不同调度器的统计数据。
作为另一种可选的实现方式,HQoS模型中的底层调度器包括队列,第一级调度器21和/或第二级调度器22中未设置不同优先级的队列。在该实现方式中,对于包括队列的每个调度器,该数据统计单元2022可以对该调度器中第一业务流所属的队列进行传输状态数据的统计。例如,若HQoS模型中仅底层调度器中包括队列,则数据统计单元2022可以仅对该底层调度器中的队列进行传输状态数据的统计。
可以理解的是,由于HQoS模型中的各级调度器能够按照一定的调度顺序对底层调度器中的报文进行调度,因此在该实现方式中,具有队列的调度器中各个队列的传输状态数据的统计结果即可准确反映HQoS模型对第一业务流的整体调度情况。
例如,假设HQoS模型中仅底层调度器中包括队列,则计算单元2023可以基于第一底层调度器23中第一业务流所属队列(即第一队列)的队列长度,确定该第一业务流在第一网络设备和第一终端03之间的时延。该计算单元2023可以将第一底层调度器23中第一队列的丢包数与该第一队列新增的报文数量相除,从而得到该第一业务流在第一网络设备和第一终端03之间的丢包率。并且,该计算单元2023可以将该第一队列在统计时长内发出的报文数量与该统计时长相除,从而得到该第一业务流在第一网络设备和第一终端03之间的数据传输速率。
示例的,假设流量调度系统中,某个具备无线WIFI功能的ONT 50的下行端口的最大带宽为1Gbps,该ONT 50的用户购买的是100Mbps的网络带宽套餐。若该用户正在使用第二终端04观看点播视频,则流量调度系统需要将来自服务端02的视频点播业务流调度至该第二终端04。下文以第二终端04距离ONT 50较远,且ONT 50向第二终端04传输视频点播业务流的数据传输速率最大达到20Mbps为例进行说明。
第一网络设备中的业务识别单元2021在通过网络接口203接收到该视频点播业务流后,可以将该视频点播业务流的报文添加至对应的底层调度器中的队列(例如第二底层调度器24中的第二队列)进行排队。假设该HQoS模型中仅底层调度器包括队列,则数据统计单元2022可以对该第二底层调度器24中第二队列在单位时长内发出的报文数量进行统计,并将统计得到的数值除以该单位时长,即可得到该视频点播业务流在该第一网络设备与该第二终端04之间的数据传输速率。例如,若以秒级粒度的单位时长进行统计,则该计算单元2023可以计算得出该视频流的数据传输速率为4Mbps。若以毫秒级粒度的单位时长进行统计,则该计算单元2023可以计算得出该视频流的数据传输速率最大能够达到20Mbps。
可以理解的是,第一网络设备除了可以监测业务流的端到端的传输质量,还可以基于业务流在每个调度器中的传输状态数据,确定业务流在该调度器对应的网络设备中的传输质量。
还可以理解的是,在本申请实施例中,该第一网络设备监测到的各个业务流的传输质量还可以用于进行可视化显示。例如,该第一网络设备可以将用于衡量各个业务流的传输质量的衡量参数发送至控制器以进行显示。或者,该第一网络设备可以与显示设备连接,第一网络设备可以通过该显示设备显示各个业务流的传输质量的衡量参数。
步骤106、检测第一业务流的传输质量是否满足与该第一业务流对应的服务等级需求。
在本申请实施例中,第一网络设备监测到第一业务流在该第一网络设备与该第一终端之间的传输质量后,即可将该传输质量与该第一业务流的服务等级需求进行对比,以判断该第一业务流的传输质量是否满足其服务等级需求。若第一网络设备确定第一业务流的传输质量不满足其服务等级需求,则第一网络设备可以执行步骤107。若第一网络设备确定第一业务流的传输质量满足其服务等级需求,则第一网络设备可以继续执行步骤105,即继续监测该第一业务流的传输质量。
若第一业务流的服务等级需求包括时延上限,则第一网络设备检测到第一业务流的端到端时延大于该时延上限时,可以确定该第一业务流的传输质量不满足其服务等级需求。若第一业务流的服务等级需求包括丢包率上限,则第一网络设备检测到第一业务流的端到端丢包率大于该丢包率上限时,可以确定该第一业务流的传输质量不满足其服务等级需求。若第一业务流的服务等级需求包括数据传输速率下限,则第一网络设备检测到第一业务流的端到端的数据传输速率小于该数据传输速率下限时,可以确定该第一业务流的传输质量不满足其服务等级需求。
示例的,参考图6,该处理模块202还可以包括传输质量监测单元2024,该传输质量监测单元2024可以用于检测该第一业务流的传输质量是否满足该第一业务流的服务等级需求。假设该第一业务流为游戏或视频会议的业务流,其服务等级需求中的时延上限为20ms。若第一网络设备确定出的该第一业务流在第一网络设备与第一终端03之间的时延为30ms,则由于该时延大于该时延上限20ms,因此该第一网络设备可以执行步骤107。
步骤107、检测该第二业务流是否满足流量整形的条件。
在本申请实施例中,第一网络设备在检测到优先级较高的第一业务流的传输质量不满足与该第一业务流对应的服务等级需求后,可以检测优先级较低的第二业务流是否满足流量整形的条件。若第一网络设备确定第二业务流满足流量整形的条件,则可以执行步骤108,即对该第二业务流进行流量整形;若第一网络设备确定第二业务流不满足流量整形的条件,则可以执行步骤109。
可选地,该流量整形的条件可以包括下述条件中的至少一种:HQoS模型对该第二业务流的传输速率阈值大于第二业务流的平均数据传输速率,第二业务流的当前数据传输速率的大于第二业务流的数据传输速率的峰值阈值。基于上述步骤105中的描述可知,该第二业务流的当前数据传输速率是第一网络设备测得的。例如,第一网络设备可以基于第二业务流在HQoS模型中的传输状态数据计算得到该第二业务流的当前数据传输速率。
在本申请实施例中,第一网络设备能够在统计时长内实时监测第二业务流的数据传输速率。因此可以理解,该第二业务流的平均数据传输速率可以是指第二业务流的数据传输速率在该统计时长内的平均值。
若HQoS模型对第二业务流的传输速率阈值小于或等于该第二业务流的平均数据传输速率,则第一网络设备可以确定若继续降低第二业务流的传输速率阈值将会严重影响第二业务流的业务体验。因此,第一网络设备可以将传输速率阈值大于平均数据传输速率作为流量整形的条件之一。
若第二业务流的当前数据传输速率大于第二业务流的数据传输速率的峰值阈值,则第一网络设备可以确定该第二业务流当前存在流量突发。其中,流量突发具备的特征包括:在较短的时间段内(例如10毫秒)以较高的数据传输速率发送数据,然后再在较长的时间段内停止发送数据,或以较低的数据传输速率发送数据。以第二业务流为视频点播业务流为例,若以10毫秒作为计算数据传输速率的单位时长,则某个统计时长内该视频点播业务流的实时数据传输速率最大可以达到350Mbps。但是,该视频点播业务流在该统计时长内的平均数据传输速率仅为约3Mbps至5Mbps。其中,该统计时长的数量级可以为秒级。
由于流量突发会严重抢占其他业务流的带宽资源,因此对存在流量突发的业务流进行流量整形可以有效改善其他业务流的传输质量。相应的,第一网络设备还可以将当前数据传输速率大于第二业务流的数据传输速率的峰值阈值作为流量整形的条件之一。并且,为了便于第一网络设备准确检测第二业务流当前是否存在流量突发,上述步骤105中用于计算该第二业务流的数据传输速率的单位时长的数量级可以为毫秒级。
可选地,第二业务流的数据传输速率的峰值阈值可以是基于第二业务流的类型确定的。并且,不同类型的业务流的数据传输速率的峰值阈值可以不同。可以理解的是,各个业务流的数据传输速率的峰值阈值还可以基于各级网络设备的下行端口的最大端口缓存确定,且最大端口缓存越大,业务流的数据传输速率的峰值阈值越高。
以传输速率阈值包括PIR为例。若该第一网络设备检测到HQoS模型对第二业务流的PIR已小于或等于该第二业务流的平均数据传输速率,则可以确定该第二业务流已经不满足流量整形的条件,并可以执行步骤109。或者,若第一网络设备检测到第二业务流的当前数据传输速率的峰值小于第二业务流的数据传输速率的峰值阈值,则可以确定该第二业务流当前并不存在流量突发,因此也可以确定该第二业务流不满足流量整形的条件,并可以执行步骤109。
若该第一网络设备检测到第二业务流的PIR大于该第二业务流的平均数据传输速率,且第二业务流的数据传输速率的峰值大于第二业务流的峰值阈值,则可以确定该第二业务流满足流量整形的条件,并可以执行步骤108。
在本申请实施例中,不同业务流的优先级可以是基于时延需求确定的,即对时延要求越高的业务流的优先级越高。相应的,该第一业务流的服务等级需求中的时延上限可以小于该第二业务流的服务等级需求中的时延上限。其中,对于时延要求较高(即对实时性要求高)的业务流也可以称为时延敏感型业务流,对于时延要求较低(即对实时性要求低)的业务流也可以称为非时延敏感型业务流。因此在本申请实施例中,时延敏感型业务的业务流的优先级可以较高,非时延敏感型业务的业务流的优先级可以较低。
表1示出了流量调度系统中部分类型的业务流的流量大小以及对实时性的要求。参考表1,对于视频会议和交互式虚拟现实(virtual reality,VR)等交互型且流量较大的业务流,其服务等级需求一般包括高带宽、低丢包率和低时延。而对于视频点播和文件下载等非交互型且流量较大的业务流,其服务等级需求一般包括高带宽,但对丢包率和时延没有严格要求。对于语音和游戏等交互型且流量较小的业务流,其服务等级需求一般包括低丢包率和低时延,但对带宽没有严格要求。而对于社交聊天和电子邮件等流量较小的业务流,其对于带宽、丢包率和时延均没有严格要求。
表1
业务流 | 流量大小 | 实时性要求高低 |
视频会议、交互式VR | 大 | 高 |
语音、游戏 | 小 | 高 |
视频点播、文件下载 | 大 | 低 |
社交聊天、电子邮件 | 小 | 低 |
研究表明,网络中流量较大的业务流(例如视频会议和交互式VR等)的数量较少,但占用了大多数的网络带宽。例如,表2示出了某骨干路由器的10G端口在时长为48秒的时间段内输出的流量的分布特征。其中,10G端口是指带宽为10吉比特每秒(Gbps)的下行出端口。假设该10G端口在该时间段内输出了1.5×106条业务流,则参考表2可以看出,该1.5×106条业务流中,48s内的总流量大于0.1兆字节(Mbyte,MB)的业务流(下文简称为大流)的数量占比仅约为1.46%。但是,这些大流占用的网络带宽的带宽占比达到了89.21%。其余数量占比约为98.5%的业务流所占用的网络带宽的带宽占比仅约为10%。
表2
总流量(MB) | 数量 | 数量占比 | 带宽占比 |
>0.1 | 22000 | 1.46% | 89.21% |
在表1所示的各类型的业务流中,视频点播业务流和文件下载业务流是典型的大流,其具有数据传输速率高,持续时间长,报文间隔大,以及采用大突发模式发送流量(即存在流量突发)等特点。由于流量突发会严重抢占其他业务流的带宽资源,因此流量调度系统中的大流是导致网络拥塞和网络服务质量下降的主要原因。
在相关技术的流量调度系统中,网络设备在接收到不同类型的业务流后,并不会进行区分处理,即网络设备会将时延敏感型业务流与非时延敏感型业务流混合在同一队列中进行调度。由此,不仅使得时延敏感型业务流得不到优先处理,无法保障其服务等级需求,而且还可能导致其传输质量受非时延敏感型业务流的影响而恶化。比如在家庭宽带场景下,网络游戏的流量较小,如果将其与视频点播业务流或文件下载业务流这类大流混合在同一队列中进行调度,则网络游戏的传输质量会受到严重影响。例如,可能导致网络游戏的流量出现高时延和高丢包率等问题,进而严重影响用户的游戏体验。
而在本申请实施例中,由于可以基于业务流的时延需求确定业务流的优先级,并可以在高优先级的业务流的服务等级需求不满足时,对低优先级的业务流进行流量整形,因此能够优先保障时延敏感型业务流的服务等级需求。
可以理解的是,除了时延需求之外,业务流的优先级还可以基于服务等级需求中的其他参数确定,例如还可以基于对丢包率的需求确定,本申请实施例对此不做限定。
步骤108、调整HQoS模型对第二业务流的传输速率阈值为第一阈值。
第一网络设备在确定该第二业务流满足流量整形的条件后,即可将HQoS模型对第二业务流的传输速率阈值调节为第一阈值,且该第一阈值小于该第二业务流的当前数据传输速率,由此可以实现对第二业务流的流量整形。
可选地,为了避免流量整形对第二业务流的业务体验造成影响,该第一阈值可以大于或等于该第二业务流的平均数据传输速率。例如,该第一阈值可以是该第二业务流的平均数据传输速率的1.5倍。
如前文所述,该第二业务流的传输速率阈值可以包括PIR、CAR、CIR和EIR中的一个或多个。若该传输速率阈值包括PIR、CAR、CIR和EIR中的多个速率,则第一网络设备需分别调整传输速率阈值中的每个速率。在一种可能的实现中,第一网络设备可以将传输速率阈值中的多个速率均调整为同一个第一阈值,即调整后的各个速率相等。在另一种可能的实现中,第一网络设备可以将传输速率阈值中的多个速率分别调整为各自对应的第一阈值,即调整后的各个速率可以不等。
图8是本申请实施例提供的一种第一业务流和第二业务流的数据传输速率的示意图。图8中的横轴表示时间t,纵轴表示数据传输速率v。参考图8可以看出,第一网络设备未对第二业务流进行流量整形时,该第二业务流存在流量突发的情况。并且,该第二业务流的流量突发的时段与该第一业务流的流量突发的时段有重叠,由此会严重影响该第一业务流的业务体验。该第一网络设备在对第二业务流进行流量整形后,可以实现对该第二业务流的数据传输速率的平滑处理,从而能够将网络带宽让位于优先级更高的第一业务流。
由于HQoS模型中的第一级调度器21、第二级调度器22和第二底层调度器24可以限制第二业务流的数据传输速率,因此在本申请实施例中,第一网络设备可以调整第一级调度器21、第二级调度器22和第二底层调度器24中至少一个调度器对该第二业务流的传输速率阈值为第一阈值。
作为一种可选的实现方式,该第一网络设备可以调整第二底层调度器24对该第二业务流的传输速率阈值为第一阈值。由于该第二底层调度器24仅需对其所包括的一个队列中的报文进行调度,而第一级调度器21和第二级调度器22均需对其所连接的多个调度器中的报文进行调度,因此仅调节第二底层调度器24对第二业务流的传输速率阈值,可以有效减少对其他业务流的影响。
示例的,假设流量调度系统中,某个具备无线WIFI功能的ONT 50的下行是1Gbps速率的链路,与该ONT 50无线连接的第一终端03正在召开视频会议,与该ONT 50无线连接的第二终端04正在播放点播视频。则流量调度系统需要将来自服务端01的视频会议的视频流(即第一业务流)调度至该第一终端03,并需要将来自服务端02的视频点播业务流(即第二业务流)调度至该第二终端04。若由于视频点播业务流的流量突发,导致视频会议的视频流瞬时积压较为严重,第一网络设备中的传输质量监测单元2024可以监测到该视频会议的视频流的时延无法满足该视频会议流的服务等级需求。相应的,该处理模块202中的流量整形单元2025即可对该视频点播业务流进行流量整形。例如,若计算单元2023计算得到该视频点播业务流的平均数据传输速率为4Mbps,则流量整形单元2025可以将第二底层调度器24对该视频点播业务流的PIR调节为4Mbps。由此,实现了对该视频点播流的平滑处理,从而能够将网络带宽均让位于对时延敏感的视频会议的视频流。
通过上述方式,还可以确保该第一网络设备发出的视频点播流的数据传输速率始终稳定在4Mbps以下。由此,即使下游的LSW 30、OLT 40和ONT 50均不具备业务流识别和QoS差异化调度能力,也可以确保该流量整形后的视频点播流在经过通过下游的各级网络设备时,能够始终将网络带宽让位于视频会议流,从而保障视频会议流的端到端服务等级需求。同时,视频点播流以4Mbps发出也满足该视频流的码率,并不会恶化该视频业务自身体验。
作为另一种可选的实现方式,该第一网络设备可以确定传输该第一业务流发生网络拥塞的目标调度器,并调整该目标调度器对第二业务流的传输速率阈值为第一阈值。其中,该目标调度器为第一级调度器21或第二级调度器22。通过调整该目标调度器对第二业务流的传输速率阈值,可以有效降低目标调度器传输第一业务流时的拥塞程度,进而改善第一业务流的传输质量。
对于HQoS模型中第一级调度器21和第二级调度器22均包括队列的场景,该第一网络设备可以对比各个调度器中第一业务流所属队列的传输状态数据,并基于该传输状态数据确定传输第一业务流发生网络拥塞的目标调度器。
例如,第一网络设备可以对比各个调度器中第一业务流所属队列的队列长度,并将队列长度最长的调度器确定为发生网络拥塞的目标调度器。或者,第一网络设备可以对比各个调度器中第一业务流所属队列的丢包率,并将丢包率最高的调度器确定为发生网络拥塞的目标调度器。
对于第一级调度器21和第二级调度器22中仅部分调度器包括队列的场景,该第一网络设备可以基于各个调度器的拓扑结构,以及具有队列的调度器中各个队列的传输状态数据,确定传输第一业务流发生网络拥塞的目标调度器。
例如,假设某个SQ级调度器中不包括队列,但该SQ级调度器连接的N个底层调度器中每个队列中缓存的报文的数据量均大于该队列的最大队列缓存,或各个队列缓存的报文的数据量之和大于该SQ级调度器的最大缓存,又或每个队列的丢包率均大于丢包率阈值,则第一网络设备可以确定该SQ级调度器为发生网络拥塞的目标调度器。
示例的,假设某SQ级调度器连接有4个底层调度器,该4个底层调度器中的队列的最大队列缓存分别为100字节、200字节、300字节和400字节,且该SQ级调度器的最大缓存为800字节。若某个时刻该4个队列实际缓存的报文的数据量分别为99字节、199字节、299字节和399字节,则由于该4个队列缓存的报文的数据量之和大于该SQ级调度器的最大缓存,因此第一网络设备可以确定该SQ级调度器为传输第一业务流发生网络拥塞的目标调度器。
步骤109、调整HQoS模型对第三业务流的传输速率阈值为第二阈值。
在本申请实施例中,流量调度系统中承载的业务流还可以包括第三业务流,该第三业务流的优先级高于该第二业务流,且低于该第一业务流。相应的,在上述步骤104中,该第一网络设备还可以基于HQoS模型调度该第三业务流。
在上述步骤107中,第一网络设备若检测到第二业务流不满足流量整形的条件,则可以将HQoS模型对第三业务流的传输速率阈值为第二阈值,该第二阈值小于该第三业务流的当前数据传输速率,由此可以实现对该第三业务流进行流量整形。该步骤109的实现过程可以参考上述步骤108,此处不再赘述。
可以理解的是,第一网络设备在检测到高优先级的第一业务流的传输质量不满足该第一业务流的服务等级需求之后,可以按照优先级由低到高的顺序,依次检测每个低优先级的业务流是否满足流量整形的条件。若检测到任一低优先级的业务流满足流量整形的条件,则可以将HQoS模型对该低优先级的业务流的传输速率阈值调低,以实现对该低优先级的业务流的流量整形。也即是,第一网络设备可以在确定该第三业务流满足流量整形的条件后再执行上述步骤109。
还可以理解的是,在本申请实施例中,对于该第一网络设备接收到的每个业务流,该第一网络设备均可以基于上述步骤106所示的方式,判断该业务流的传输质量是否满足与该业务流对应的服务等级需求。并且,该第一网络设备在检测到任一业务流的传输质量不满足与该业务流对应的服务等级需求时,均可以参考上述步骤107至步骤109所示的方法对优先级更低的业务流进行流量整形。
应当理解的是,本申请实施例提供的业务流的调度方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,上述步骤102可以在步骤101之前执行。或者,上述步骤101和步骤102可以根据情况删除,相应的,可以直接配置该HQoS模型中各个调度器的调度参数的初始值。又或者,上述步骤107和步骤109可以根据情况删除,即第一网络设备可以直接对第二业务流进行流量整形。
综上所述,本申请实施例提供了一种业务流的调度方法,第一网络设备在检测到优先级较高的业务流的传输质量不满足与该业务流对应的服务等级需求时,可以调整HQoS模型对优先级较低的业务流的传输速率阈值为第一阈值。由于该第一阈值小于该优先级较低的业务流的当前数据传输速率,因此可以实现对该优先级较低的业务流的流量整形。进而,可以将该第一网络设备的下行端口的带宽让位于该优先级较高的业务流,以确保能够优先满足该优先级较高的业务流的服务等级需求。
由于第一网络设备还通过第二网络设备与终端连接,因此该第一网络设备对优先级较低的业务流进行流量整形后,该优先级较低的业务流能够以平稳的数据传输速率传输至下游的第二网络设备,即该优先级较低的业务流在下游的第二网络设备中也不会出现流量突发。由此,即使该下游的第二网络设备不具备业务流识别和QoS差异化调度的功能,也可以避免该优先级较低的业务流因流量突发而抢占优先级较高的业务流的带宽资源。也即是,通过第一网络设备对优先级较低的业务流进行流量整形,可以确保该优先级较高的业务流经过下游的第二网络设备时均能够获得较大的带宽,进而能够有效保障该优先级较高的业务流的服务等级需求。
并且,由于可以避免优先级较低的业务流在下游的第二网络设备中出现流量突发,因此可以降低对第二网络设备的缓存需求,进而降低第二网络设备的设备成本。又由于无需下游的第二网络设备具备业务流识别和QoS差异化调度的功能,因此无需对现网中不具备上述功能的第二网络设备进行更新即可实现本申请实施例提供的方案,即本申请实施例提供的方案具有较高的应用灵活性和兼容性。
此外,由于第一网络设备在对优先级较低的业务流进行流量整形时,可以确保降低后的传输速率阈值大于或等于该优先级较低的业务流的平均数据传输速率,因此可以避免影响该优先级较低的业务流的业务体验。
图9是本申请实施例提供的一种业务流的调度装置的结构示意图,该调度装置可以应用于上述方法实施例提供的第一网络设备中,且可以用于实现上述实施例提供的业务流的调度方法。例如,该调度装置可以实现图5中第一设备的功能以及执行图5所示的方法。该装置还可以是图1至图4中的SR/BRAS。如图9所示,该业务流的调度装置包括:
调度模块301用于基于HQoS模型分别调度第一业务流和第二业务流,其中,该第一业务流的优先级高于该第二业务流的优先级。该调度模块301的功能实现可以参考上述方法实施例中步骤104的相关描述。
调整模块302用于当第一业务流的传输质量不满足与该第一业务流对应的服务等级需求时,调整HQoS模型对第二业务流的传输速率阈值为第一阈值,该第一阈值小于该第二业务流的当前数据传输速率。也即是,该调整模块302可以用于对第二业务流进行流量整形。
该调整模块302的功能实现可以参考上述方法实施例中步骤108的相关描述。并且,该调整模块302可以用于实现图6所示实施例中传输质量监测单元2024和流量整形单元2025的功能。
在一种实现中,该第一阈值可以大于或等于该第二业务流的平均数据传输速率。
在一种实现中,该调整模块302可以用于:当该第一业务流的传输质量不满足与该第一业务流对应的服务等级需求,且该第二业务流的当前数据传输速率大于第二业务流的数据传输速率的峰值阈值时,调整该HQoS模型对该第二业务流的传输速率阈值为该第一阈值。
该调整模块302的功能实现还可以参考上述方法实施例中步骤107的相关描述。并且,该调整模块302还可以用于实现图6所示实施例中数据统计单元2022和计算单元2023的功能。
在一种实现中,该第二业务流的传输速率阈值可以包括PIR、CAR、CIR和EIR中的一个或多个。
在一种实现中,第一网络设备可以通过第二网络设备与终端连接;相应的,该HQoS模型可以包括:与该第一网络设备的下行端口对应的第一级调度器,与该第二网络设备的下行端口对应的第二级调度器,用于通过该第二网络设备的下行端口传输第一业务流的第一底层调度器,以及用于通过该第二网络设备的下行端口传输第二业务流的第二底层调度器。
在一种实现中,该调整模块302可以用于:调整该第一级调度器、该第二级调度器和该第二底层调度器中至少一个调度器对该第二业务流的传输速率阈值为第一阈值。
在一种实现中,该调整模块302可以用于确定传输该第一业务流发生网络拥塞的目标调度器,并调整该目标调度器对该第二业务流的传输速率阈值为第一阈值。其中,该目标调度器可以为第一级调度器或第二级调度器。
在一种实现中,该第一级调度器对第一业务流和第二业务流的传输速率阈值之和小于或等于该第一网络设备的下行端口的最大带宽;该第二级调度器对第一业务流和第二业务流的传输速率阈值之和小于或等于该第二网络设备的下行端口的最大带宽。
在一种实现中,该第一底层调度器对第一业务流的传输速率阈值小于或等于该第二网络设备的下行端口的最大带宽;该第二底层调度器对第二业务流的传输速率阈值小于或等于该第二网络设备的下行端口的最大带宽。
在一种实现中,该第一底层调度器可以包括用于缓存第一业务流的报文的第一队列,该第二底层调度器可以包括用于缓存第二业务流的报文的第二队列;该第一队列的最大队列缓存与第二队列的最大队列缓存之和小于或等于第二网络设备的下行端口的最大端口缓存。
在一种实现中,该第一业务流的服务等级需求中的时延上限可以小于该第二业务流的服务等级需求中的时延上限。也即是,业务流的优先级可以是基于业务流的时延需求划分的,且对时延要求越高的业务流的优先级可以越高。
在一种实现中,该调度模块301还可以用于基于HQoS模型调度第三业务流,该第三业务流的优先级高于第二业务流的优先级,且低于第一业务流的优先级。
该调整模块302还可以用于:当第二业务流的传输速率阈值小于或等于该第二业务流的平均数据传输速率,或者,当第二业务流的当前数据传输速率小于或等于第二业务流的数据传输速率的峰值阈值时,调整HQoS模型对第三业务流的传输速率阈值为第二阈值,该第二阈值小于该第三业务流的当前数据传输速率。
也即是,该调整模块302若确定第二业务流不满足流量整形的条件,则可以对优先级次低的第三业务流进行流量整形。该调整模块302的功能实现还可以参考上述方法实施例中步骤109的相关描述。
综上所述,本申请实施例提供了一种业务流的调度装置,该装置在优先级较高的业务流的传输质量不满足与该业务流对应的服务等级需求时,可以调整HQoS模型对优先级较低的业务流的传输速率阈值为第一阈值。由于该第一阈值小于该优先级较低的业务流的当前数据传输速率,因此可以实现对该优先级较低的业务流的流量整形。进而,可以将第一网络设备的下行端口的带宽让位于该优先级较高的业务流,以确保能够优先满足该优先级较高的业务流的服务等级需求。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的业务流的调度装置以及各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解的是,本申请实施例提供的业务流的调度装置还可以用专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现上述方法实施例提供的业务流的调度方法,当通过软件实现上述方法实施例提供的业务流的调度方法时,本申请实施例提供的业务流的调度装置中的各个模块也可以为软件模块。
图10是本申请实施例提供的另一种业务流的调度装置的结构示意图,例如该装置可以是图1至图4中的SR/BRAS。该业务流的调度装置可以应用于上述实施例提供的第一网络设备中,例如图5所示的第一设备执行的方法和具备的功能。参考图10,该业务流的调度装置可以包括:处理器401、存储器402、网络接口403和总线404。其中,总线404用于连接处理器401、存储器402和网络接口403。通过网络接口403可以实现与其他设备之间的通信连接。存储器402中存储有计算机程序,该计算机程序用于实现各种应用功能。
应理解,在本申请实施例中,处理器401可以是CPU,该处理器401还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、GPU或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
存储器402可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、EEPROM或闪存。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datadate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
总线404除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线404。
该处理器401被配置为执行存储器402中存储的计算机程序,处理器401通过执行该计算机程序4021来实现上述方法实施例提供的业务流的调度方法,例如执行图5所示的第一网络设备执行的方法。在一种实现中,处理器401用于基于HQoS模型分别调度第一业务流和第二业务流,其中,该第一业务流的优先级高于该第二业务流的优先级;还用于当第一业务流的传输质量不满足与该第一业务流对应的服务等级需求时,调整HQoS模型对第二业务流的传输速率阈值为第一阈值,该第一阈值小于该第二业务流的当前数据传输速率。
图11是本申请实施例提供的又一种业务流的调度装置的结构示意图,例如可以是图1至图4中的SR/BRAS。该业务流的调度装置可以应用于上述实施例提供的第一网络设备中,例如,执行图5所示的第一网络设备执行的方法。如图11所示,该调度装置500可以包括:主控板501、接口板502和接口板503。多个接口板的情况下可以包括交换网板(图中未示出),该交换网板用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。
主控板501用于完成系统管理、设备维护、协议处理等功能。接口板502和503用于提供各种业务接口,例如,基于SONET/SDH的数据包(packet over SONET/SDH,POS)接口、千兆以太网(Gigabit Ethernet,GE)接口、异步传输模式(asynchronous transfer mode,ATM)接口等,并实现报文的转发。其中,SONET是指同步光纤网络(synchronous opticalnetwork),SDH是指同步数字体系(synchronous digital hierarchy)。主控板501上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板501、接口板502以及接口板503之间通过系统总线与系统背板相连实现互通。接口板502上包括一个或多个处理器5021。处理器5021用于对接口板进行控制管理并与主控板501上的中央处理器5011进行通信,以及用于报文的转发处理。接口板502上的存储器5022用于存储转发表项,处理器5021通过查找存储器5022中存储的转发表项进行报文的转发。
该接口板502包括一个或多个网络接口5023用于接收上一跳节点发送的报文,并根据处理器5021的指示向下一跳节点发送处理后的报文。具体实现过程这里不再逐一赘述。该处理器5021的具体功能这里同样不再逐一赘述。
可以理解,如图11所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板503的结构与该接口板502的结构基本相似,接口板503上的操作与该接口板502的操作基本相似,为了简洁,不再赘述。此外,可以理解的是,图11中的接口板中的处理器5021和/或5031可以是专用硬件或芯片,如网络处理器或者专用集成电路来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。在另外的实施方式中,该处理器5021和/或5031也可以采用通用的处理器,如通用的CPU来实现以上描述的功能。
此外应理解的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该第一网络设备的数据处理能力越强,提供的接口板越多。多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板通信,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该第一网络设备包括多块接口板,可以通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
具体的实施例中,存储器5022可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器5022可以是独立存在,通过通信总线与处理器5021相连接。存储器5022也可以和处理器5021集成在一起。
存储器5022用于存储程序代码,并由处理器5021来控制执行,以执行上述实施例提供的业务流的调度方法。处理器5021用于执行存储器5022中存储的程序代码。程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为上述图9所示实施例中的功能模块。
具体实施例中,该网络接口5023可以是使用任何网络接口一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当所述指令或代码在计算机上执行时,使得该计算机执行以实现上述方法实施例提供的业务流的调度方法,例如执行图5所示的第一网络设备执行的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例提供的业务流的调度方法,例如执行图5所示的第一网络设备执行的方法。
本申请实施例还提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,该芯片可以用于执行上述方法实施例提供的业务流的调度方法,例如执行图5所示的第一网络设备执行的方法。可选地,该芯片可以为流量管理(traffic management,TM)芯片。
本申请实施例还提供了一种网络设备,该网络设备可以为上述实施例中的第一网络设备,且可以用于实现上述实施例提供的业务流的调度方法。
在一种可能的实现方式中,该网络设备可以包括上述实施例提供的业务流的调度装置。例如,该网络设备可以包括如图9、图10或图11所示的业务流的调度装置。在另一种可能的实现方式中,该网络设备可以包括上述实施例提供的芯片。
本申请实施例还提供了一种流量调度系统,该流量调度系统包括终端和第一网络设备,该第一网络设备用于向终端调度业务流。
在一种可能的实现方式中,该第一网络设备可以包括上述实施例提供的业务流的调度装置。例如,该第一网络设备可以包括如图9、图10或图11所示的业务流的调度装置。在另一种可能的实现方式中,该第一网络设备可以包括上述实施例提供的芯片。
可选地,参考图1至图4,该第一网络设备可以为流量调度系统中的SR/BRAS 20、LSW 30、OLT 40或者ONT 50。在本申请实施例中,该流量调度系统还可以包括一个或多个级联的第二网络设备,该第一网络设备可以通过该一个或多个级联的第二网络设备与终端连接。举例来说,参考图1至图4,在一种场景中,该第一网络设备为SR/BRAS 20,该流量调度系统还可以包括一个第二网络设备,该一个第二网络设备为LSW 30、OLT 40和ONT 50中任意一个设备。在另一种场景中,该第一网络设备为SR/BRAS 20,该流量调度系统还可以包括两个第二网络设备,该两个第二网络设备为LSW 30、OLT 40和ONT 50中任意两个设备。在又一种场景中,该第一网络设备为SR/BRAS 20,该流量调度系统还可以包括依次级联的三个第二网络设备,该三个第二网络设备分别为LSW 30、OLT 40和ONT 50。也即是,SR/BRAS 20作为第一网络设备可以通过依次级联的LSW 30、OLT 40和ONT 50与终端连接。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如:固态硬盘(solid state disk,SSD))等。
应当理解的是,本文提及的术语“至少一个”的含义是指一个或多个,“多个”是指两个或两个以上。在本申请的描述中,为了便于清楚描述本申请实施例的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。本文中术语“系统”和“网络”可互换使用。
还应当理解的是,在本文中提及的“和/或”,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述,仅为本申请的可选实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (27)
1.一种业务流的调度方法,其特征在于,应用于第一网络设备,所述方法包括:
基于层次化服务质量HQoS模型分别调度第一业务流和第二业务流,其中,所述第一业务流的优先级高于所述第二业务流的优先级;
当所述第一业务流的传输质量不满足与所述第一业务流对应的服务等级需求时,调整所述HQoS模型对所述第二业务流的传输速率阈值为第一阈值,所述第一阈值小于所述第二业务流的当前数据传输速率。
2.根据权利要求1所述的方法,其特征在于,所述第一阈值大于或等于所述第二业务流的平均数据传输速率。
3.根据权利要求1或2所述的方法,其特征在于,所述调整所述HQoS模型对所述第二业务流的传输速率阈值为第一阈值,包括:
当所述第一业务流的传输质量不满足与所述第一业务流对应的服务等级需求,且所述第二业务流的当前数据传输速率大于所述第二业务流的数据传输速率的峰值阈值时,调整所述HQoS模型对所述第二业务流的传输速率阈值为所述第一阈值。
4.根据权利要求1至3任一所述的方法,其特征在于,所述第二业务流的传输速率阈值包括峰值信息速率PIR、承诺访问速率CAR、承诺信息速率CIR和额外信息速率EIR中的一个或多个。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一网络设备通过第二网络设备与终端连接;
所述HQoS模型包括:与所述第一网络设备的下行端口对应的第一级调度器,与所述第二网络设备的下行端口对应的第二级调度器,用于通过所述第二网络设备的下行端口传输所述第一业务流的第一底层调度器,以及用于通过所述第二网络设备的下行端口传输所述第二业务流的第二底层调度器。
6.根据权利要求5所述的方法,其特征在于,所述调整所述HQoS模型对所述第二业务流的传输速率阈值为第一阈值,包括:
调整所述第一级调度器、所述第二级调度器和所述第二底层调度器中至少一个调度器对所述第二业务流的传输速率阈值为所述第一阈值。
7.根据权利要求5所述的方法,其特征在于,所述调整所述HQoS模型对所述第二业务流的传输速率阈值为第一阈值,包括:
确定传输所述第一业务流发生网络拥塞的目标调度器,所述目标调度器为所述第一级调度器或所述第二级调度器;
调整所述目标调度器对所述第二业务流的传输速率阈值为所述第一阈值。
8.根据权利要求5至7任一所述的方法,其特征在于,所述第一级调度器对所述第一业务流和所述第二业务流的传输速率阈值之和小于或等于所述第一网络设备的下行端口的最大带宽;
所述第二级调度器对所述第一业务流和所述第二业务流的传输速率阈值之和小于或等于所述第二网络设备的下行端口的最大带宽。
9.根据权利要求5至8任一所述的方法,其特征在于,所述第一底层调度器包括用于缓存所述第一业务流的报文的第一队列,所述第二底层调度器包括用于缓存所述第二业务流的报文的第二队列;
所述第一队列的最大队列缓存与所述第二队列的最大队列缓存之和小于或等于所述第二网络设备的下行端口的最大端口缓存。
10.根据权利要求1至9任一所述的方法,其特征在于,所述第一业务流的服务等级需求中的时延上限小于所述第二业务流的服务等级需求中的时延上限。
11.根据权利要求1至10任一所述的方法,其特征在于,所述方法还包括:
基于所述HQoS模型调度第三业务流,所述第三业务流的优先级高于所述第二业务流的优先级,且低于所述第一业务流的优先级;
当所述第二业务流的传输速率阈值小于或等于所述第二业务流的平均数据传输速率,或者,当所述第二业务流的当前数据传输速率小于或等于所述第二业务流的数据传输速率的峰值阈值,调整所述HQoS模型对所述第三业务流的传输速率阈值为第二阈值,所述第二阈值小于所述第三业务流的当前数据传输速率。
12.一种业务流的调度装置,其特征在于,应用于第一网络设备,所述调度装置包括:
调度模块,用于基于层次化服务质量HQoS模型分别调度第一业务流和第二业务流,其中,所述第一业务流的优先级高于所述第二业务流的优先级;
调整模块,用于当所述第一业务流的传输质量不满足与所述第一业务流对应的服务等级需求时,调整所述HQoS模型对所述第二业务流的传输速率阈值为第一阈值,所述第一阈值小于所述第二业务流的当前数据传输速率。
13.根据权利要求12所述的调度装置,其特征在于,所述第一阈值大于或等于所述第二业务流的平均数据传输速率。
14.根据权利要求12或13所述的调度装置,其特征在于,所述调整模块,用于:
当所述第一业务流的传输质量不满足与所述第一业务流对应的服务等级需求,且所述第二业务流的当前数据传输速率大于所述第二业务流的数据传输速率的峰值阈值时,调整所述HQoS模型对所述第二业务流的传输速率阈值为所述第一阈值。
15.根据权利要求12至14任一所述的调度装置,其特征在于,所述第二业务流的传输速率阈值包括峰值信息速率PIR、承诺访问速率CAR、承诺信息速率CIR和额外信息速率EIR中的一个或多个。
16.根据权利要求12至15任一所述的调度装置,其特征在于,所述第一网络设备通过第二网络设备与终端连接;
所述HQoS模型包括:与所述第一网络设备的下行端口对应的第一级调度器,与所述第二网络设备的下行端口对应的第二级调度器,用于通过所述第二网络设备的下行端口传输所述第一业务流的第一底层调度器,以及用于通过所述第二网络设备的下行端口传输所述第二业务流的第二底层调度器。
17.根据权利要求16所述的调度装置,其特征在于,所述调整模块,用于:
调整所述第一级调度器、所述第二级调度器和所述第二底层调度器中至少一个调度器对所述第二业务流的传输速率阈值为所述第一阈值。
18.根据权利要求17所述的调度装置,其特征在于,所述调整模块,用于:
确定传输所述第一业务流发生网络拥塞的目标调度器,所述目标调度器为所述第一级调度器或所述第二级调度器;
调整所述目标调度器对所述第二业务流的传输速率阈值为所述第一阈值。
19.根据权利要求16至18任一所述的调度装置,其特征在于,所述第一级调度器对所述第一业务流和所述第二业务流的传输速率阈值之和小于或等于所述第一网络设备的下行端口的最大带宽;
所述第二级调度器对所述第一业务流和所述第二业务流的传输速率阈值之和小于或等于所述第二网络设备的下行端口的最大带宽。
20.根据权利要求16至19任一所述的调度装置,其特征在于,所述第一底层调度器包括用于缓存所述第一业务流的报文的第一队列,所述第二底层调度器包括用于缓存所述第二业务流的报文的第二队列;
所述第一队列的最大队列缓存与所述第二队列的最大队列缓存之和小于或等于所述第二网络设备的下行端口的最大端口缓存。
21.根据权利要求12至20任一所述的调度装置,其特征在于,所述第一业务流的服务等级需求中的时延上限小于所述第二业务流的服务等级需求中的时延上限。
22.根据权利要求12至21任一所述的调度装置,其特征在于,
所述调度模块,还用于基于所述HQoS模型调度第三业务流,所述第三业务流的优先级高于所述第二业务流的优先级,且低于所述第一业务流的优先级;
所述调整模块,还用于当所述第二业务流的传输速率阈值小于或等于所述第二业务流的平均数据传输速率,或者,当所述第二业务流的当前数据传输速率的峰值小于或等于所述第二业务流的数据传输速率的峰值阈值,调整所述HQoS模型对所述第三业务流的传输速率阈值为第二阈值,所述第二阈值小于所述第三业务流的当前数据传输速率。
23.一种业务流的调度装置,其特征在于,所述业务流的调度装置包括存储器和处理器,所述存储器用于存储计算机程序或代码,所述处理器用于执行所述计算机程序或代码以实现如权利要求1至11任一所述的业务流的调度方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令或代码,当所述指令或代码在计算机上执行时,使得所述计算机执行如权利要求1至11任一所述的业务流的调度方法。
25.一种芯片,其特征在于,所述芯片包括可编程逻辑电路和/或程序指令,所述芯片用于执行如权利要求1至11任一所述的业务流的调度方法。
26.一种流量调度系统,其特征在于,所述流量调度系统包括终端和第一网络设备,所述第一网络设备用于调度所述终端的第一业务流和第二业务流,所述第一网络设备包括如权利要求12至23任一所述的调度装置。
27.根据权利要求26所述的流量调度系统,其特征在于,所述流量调度系统还包括第二网络设备,所述第一网络设备通过所述第二网络设备与所述终端连接。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/137364 WO2022135202A1 (zh) | 2020-12-24 | 2021-12-13 | 业务流的调度方法、装置及系统 |
EP21909199.8A EP4262313A4 (en) | 2020-12-24 | 2021-12-13 | METHOD, DEVICE AND SYSTEM FOR PLANNING A SERVICE FLOW |
US18/339,273 US20230336486A1 (en) | 2020-12-24 | 2023-06-22 | Service flow scheduling method and apparatus, and system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020115506346 | 2020-12-24 | ||
CN202011550634 | 2020-12-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114679792A true CN114679792A (zh) | 2022-06-28 |
Family
ID=82070319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110272534.XA Pending CN114679792A (zh) | 2020-12-24 | 2021-03-12 | 业务流的调度方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230336486A1 (zh) |
EP (1) | EP4262313A4 (zh) |
CN (1) | CN114679792A (zh) |
WO (1) | WO2022135202A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116112256B (zh) * | 2023-02-08 | 2024-06-25 | 电子科技大学 | 一种面向应用加密流量识别的数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050249220A1 (en) * | 2004-05-05 | 2005-11-10 | Cisco Technology, Inc. | Hierarchical QoS behavioral model |
CN103634223A (zh) * | 2013-12-03 | 2014-03-12 | 北京东土科技股份有限公司 | 一种基于网络业务流的动态控制传输方法和装置 |
US20190068503A1 (en) * | 2016-04-28 | 2019-02-28 | Huawei Technologies Co., Ltd | Congestion processing method, host, and system |
CN110177054A (zh) * | 2019-05-22 | 2019-08-27 | 新华三技术有限公司 | 一种端口队列调度方法、装置、网络控制器及存储介质 |
CN110266604A (zh) * | 2019-07-09 | 2019-09-20 | 京信通信系统(中国)有限公司 | 空口带宽自适应控制方法、装置和通信设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938403B (zh) * | 2009-06-30 | 2012-02-22 | 中国电信股份有限公司 | 多用户多业务的服务质量的保证方法和业务接入控制点 |
US8713572B2 (en) * | 2011-09-15 | 2014-04-29 | International Business Machines Corporation | Methods, systems, and physical computer storage media for processing a plurality of input/output request jobs |
CN104079501B (zh) * | 2014-06-05 | 2017-06-13 | 邦彦技术股份有限公司 | 一种基于多优先级的队列调度方法 |
US11128536B2 (en) * | 2018-10-04 | 2021-09-21 | Sandvine Corporation | System and method for intent based traffic management |
-
2021
- 2021-03-12 CN CN202110272534.XA patent/CN114679792A/zh active Pending
- 2021-12-13 EP EP21909199.8A patent/EP4262313A4/en active Pending
- 2021-12-13 WO PCT/CN2021/137364 patent/WO2022135202A1/zh unknown
-
2023
- 2023-06-22 US US18/339,273 patent/US20230336486A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050249220A1 (en) * | 2004-05-05 | 2005-11-10 | Cisco Technology, Inc. | Hierarchical QoS behavioral model |
CN103634223A (zh) * | 2013-12-03 | 2014-03-12 | 北京东土科技股份有限公司 | 一种基于网络业务流的动态控制传输方法和装置 |
US20190068503A1 (en) * | 2016-04-28 | 2019-02-28 | Huawei Technologies Co., Ltd | Congestion processing method, host, and system |
CN110177054A (zh) * | 2019-05-22 | 2019-08-27 | 新华三技术有限公司 | 一种端口队列调度方法、装置、网络控制器及存储介质 |
CN110266604A (zh) * | 2019-07-09 | 2019-09-20 | 京信通信系统(中国)有限公司 | 空口带宽自适应控制方法、装置和通信设备 |
Also Published As
Publication number | Publication date |
---|---|
EP4262313A4 (en) | 2024-05-01 |
EP4262313A1 (en) | 2023-10-18 |
WO2022135202A1 (zh) | 2022-06-30 |
US20230336486A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11316795B2 (en) | Network flow control method and network device | |
CN108259383B (zh) | 一种数据的传输方法和网络设备 | |
US7948881B2 (en) | Distributed bandwidth allocation for resilient packet ring networks | |
US8520522B1 (en) | Transmit-buffer management for priority-based flow control | |
WO2017024824A1 (zh) | 基于聚合链路的流量管理方法及装置 | |
US9185047B2 (en) | Hierarchical profiled scheduling and shaping | |
US11785113B2 (en) | Client service transmission method and apparatus | |
US8139485B2 (en) | Logical transport resource traffic management | |
US8542586B2 (en) | Proportional bandwidth sharing of the excess part in a MEF traffic profile | |
WO2021057447A1 (zh) | 确定传输数据流的需求带宽的方法、设备和系统 | |
US9197570B2 (en) | Congestion control in packet switches | |
JP2008529398A (ja) | 電気通信ネットワークの帯域幅割り当て | |
US20140192819A1 (en) | Packet exchanging device, transmission apparatus, and packet scheduling method | |
CN113162789A (zh) | 调整服务等级的方法、装置、设备、系统及存储介质 | |
Gaixas et al. | Assuring QoS guarantees for heterogeneous services in RINA networks with ΔQ | |
US20230336486A1 (en) | Service flow scheduling method and apparatus, and system | |
Dhaini et al. | Per-stream QoS and admission control in Ethernet passive optical networks (EPONs) | |
JP2020072336A (ja) | パケット転送装置、方法、及びプログラム | |
CN109995608B (zh) | 网络速率计算方法和装置 | |
CN114501544A (zh) | 一种数据传输方法、装置和存储介质 | |
CN114448903A (zh) | 一种报文处理方法、装置和通信设备 | |
US12028265B2 (en) | Software-defined guaranteed-latency networking | |
JP7193787B2 (ja) | 通信システム、ブリッジ装置、通信方法、及びプログラム | |
WO2024193427A1 (zh) | 流量控制方法、装置及系统 | |
JP5938939B2 (ja) | パケット交換装置、パケット交換方法及び帯域制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |