CN117812014A - 调度策略的确定方法及相关装置 - Google Patents
调度策略的确定方法及相关装置 Download PDFInfo
- Publication number
- CN117812014A CN117812014A CN202211215235.3A CN202211215235A CN117812014A CN 117812014 A CN117812014 A CN 117812014A CN 202211215235 A CN202211215235 A CN 202211215235A CN 117812014 A CN117812014 A CN 117812014A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- policy
- scheduling policy
- link
- application
- 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 113
- 230000004044 response Effects 0.000 claims abstract description 54
- 230000008901 benefit Effects 0.000 claims description 60
- 238000013507 mapping Methods 0.000 claims description 54
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 6
- 208000027744 congestion Diseases 0.000 description 107
- 238000007726 management method Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 16
- 238000005457 optimization Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000007906 compression Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 235000019580 granularity Nutrition 0.000 description 7
- 238000012800 visualization Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000002902 bimodal effect Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000010355 oscillation Effects 0.000 description 5
- 238000007493 shaping process Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 1
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 1
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 1
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/12—Avoiding congestion; Recovering from congestion
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种调度策略的确定方法及相关装置。该方法包括:响应于第一链路存在拥塞,根据所述第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对所述第一链路上的至少一个应用的流量的第一调度策略;应用所述第一调度策略。在第一链路存在拥塞时,根据该链路上的多个应用支持的调度策略确定调度策略,使得控制设备或网络设备可以基于各个应用分别支持的调度策略统筹调度各个应用的流量,可以充分利用网络资源以传输各个应用的流量,进而可以最大可能地保证各个应用的业务质量,避免相关技术中直接对低优先级应用进行限速,造成的低优先级业务质量肯定受损的问题。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种调度策略的确定方法及相关装置。
背景技术
链路是指在两个节点之间建立的用于传输某种或某几种应用的流量的通路。例如,在节点A和节点B之间建立的用于传输办公类应用的流量的链路。
当链路同时承载多个应用的流量,在链路出现拥塞时,为了保障关键应用的带宽,直接对低优先级应用的流量进行限速,造成低优先级应用的业务质量肯定受损。
发明内容
本申请提供了一种调度策略的确定方法及相关装置,能够避免相关技术中直接对低优先级应用进行限速,造成的低优先级业务质量肯定受损的问题。
第一方面,提供了一种调度策略的确定方法。该方法可以由网络中的控制设备或网络设备执行。该方法包括:响应于第一链路存在拥塞,根据第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对第一链路上的至少一个应用的流量的第一调度策略;应用第一调度策略。
在第一链路存在拥塞时,根据该链路上的多个应用支持的调度策略确定调度策略,使得控制设备或网络设备可以基于各个应用分别支持的调度策略统筹调度各个应用的流量,可以充分利用网络资源以传输各个应用的流量,进而可以最大可能地保证各个应用的业务质量,避免相关技术中直接对低优先级应用进行限速,造成的低优先级业务质量肯定受损的问题。
在本申请的实现方式中,调度策略包括无损调度策略和有损调度策略。有损调度策略是指会造成应用数据包丢失的调度策略,无损调度策略是指不会造成应用数据包丢失的调度策略。
其中,无损调度策略包括如下至少一种:路径调整策略、压缩策略。有损调度策略包括:限速策略。除此之外,调度策略还包括管道映射调整策略,而管道映射调整策略既可以是无损调度策略,也可以是有损调度策略。
在本申请的实现方式中,根据第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对第一链路上的至少一个应用的流量的第一调度策略,包括:响应于存在支持无损调度策略的应用,根据支持无损调度策略的应用所支持的调度策略,确定第一调度策略。响应于不存在支持无损调度策略的应用,根据支持有损调度策略的应用所支持的调度策略,确定第一调度策略。
在该实现方式中,在确定调度策略时优先确定无损调度策略,从而尽量保证链路中所有应用的业务质量。
示例性地,根据支持无损调度策略的应用所支持的调度策略,确定第一调度策略,包括:
响应于支持无损调度策略的应用的数量为一个,确定第一调度策略为支持无损调度策略的应用所支持的调度策略;或,响应于支持无损调度策略的应用的数量为多个,确定第一调度策略包括支持无损调度策略的应用中至少一个应用所支持的调度策略。
其中,确定第一调度策略为支持无损调度策略的应用中至少一个应用所支持的调度策略,包括:对支持无损调度策略的应用及应用支持的调度策略进行组合,得到至少一种策略组合,每种策略组合对应针对至少一个应用的调度策略;确定采用至少一种策略组合中的各个策略组合对应的调度策略进行调度时是否能够解决第一链路的拥塞;响应于存在能解决第一链路的拥塞的策略组合,从能解决拥塞第一链路的拥塞的策略组合中选择策略组合,采用选出的策略组合对应的调度策略作为第一调度策略。
其中,对应用及调度策略进行组合,实际是以调度策略作为精度进行组合,例如,应用 A支持两种调度策略a、b,组合时应用A有两种加入组合的方式,分别是应用A-调度策略 a、应用A-调度策略b。
如果不存在能够解决第一链路的拥塞的组合(也即策略组合),则继续组合并选择,直到穷举了所有组合方式仍不存在能够解决拥塞的组合,则根据支持有损调度策略的应用所支持的调度策略,确定第一调度策略。
在该实现方式中,通过对应用及调度策略进行组合,并从这些组合中选择能够解决第一链路拥塞的组合,保证调度策略执行的效果。
在一种可能的实现方式中,在确定采用组合对应的调度策略进行调度时是否能够解决第一链路的拥塞时,基于当前的流量数据和上述选择的调度策略判断调度后是否能够解决第一链路的拥塞问题。
在另一种可能的实现方式中,在确定采用组合对应的调度策略进行调度时是否能够解决第一链路的拥塞时,基于预测的流量数据和上述选择的调度策略判断调度后是否能够解决第一链路的拥塞问题。
例如,基于预测的流量数据和第一策略组合对应的调度策略,判断第一组合对应的调度策略是否能够解决第一链路的拥塞,第一策略组合为至少一种策略组合中的任一个。
在该实现方式中,基于预测的流量数据确定调度策略,使得网络设备执行的调度策略更能匹配链路未来承载的流量,能进一步缓解链路未来可能出现的拥塞,也使得需要进行调度的频率更低,节省了网络资源。
示例性地,基于预测的流量数据和第一策略组合对应的调度策略,判断第一策略组合对应的调度策略是否能够解决第一链路的拥塞,包括:基于多个应用的流量画像预测各个应用的流量数据;基于第一策略组合对应的调度策略和预测的各个应用的流量数据,确定第一链路预期承载的流量值;基于第一链路预期承载的流量值判断第一链路是否拥塞。
在该实现方式中,采用各个应用的流量画像进行流量数据的预测,能够提高预测精度,进而提高对于能否解决第一链路拥塞的判断的准确性。
在本申请的实现方式中,从能解决拥塞第一链路的拥塞的策略组合中选择策略组合,包括:基于应用的优先级和应用需求中的至少一项,从能解决拥塞第一链路的拥塞的策略组合中选择组合。
在一种可能的实现方式中,基于各个应用的优先级,选择优先级较低的策略组合对应的调度策略。
在另一种可能的实现方式中,基于各个应用的应用需求,选择能够满足组合中应用需求的策略组合对应的调度策略。
在又一种可能的实现方式中,基于各个应用的优先级和各个应用的应用需求,选择能够满足组合中应用需求的组合中优先级较低的策略组合对应的调度策略。
可选地,该方法还包括:确定第一调度策略涉及的链路;根据第一调度策略涉及的链路的流量数据,确定第一调度策略执行后第一调度策略涉及的链路是否会拥塞;响应于第一调度策略涉及的链路不会拥塞,基于第一调度策略生成第一调度策略指令。
在该实现方式中,考虑第一调度策略执行后涉及到的其他链路是否拥塞,避免解决第一链路拥塞时造成其他链路拥塞的问题,从而保证整个网络传输的业务质量。
可选地,该方法还包括:响应于第二链路存在拥塞,根据第二链路承载的流量所属的多个应用分别支持的调度策略,确定针对第二链路上的至少一个应用的流量的第二调度策略;确定第一调度策略和第二调度策略涉及的链路;根据涉及的链路的流量数据,确定第一调度策略和第二调度策略执行后涉及的链路是否会拥塞;响应于涉及的链路不会拥塞,基于第一调度策略生成第一调度策略指令,基于第二调度策略生成第二调度策略指令。
在该实现方式中,在对多条链路拥塞进行调度时,使得每个链路拥塞的调度策略都不会造成其他链路的拥塞。该方案以整个网络为调度对象,避免了相关技术中只着眼于单个设备或链路,带来的额外网络问题。
可选地,该方法还包括:在应用第一调度策略前,确定采用第一调度策略进行流量调度后的预期收益;在应用第一调度策略后,确定实际收益;响应于第三链路存在拥塞,基于预期收益和实际收益确定第三调度策略。
在该实现方式中,基于预期收益和实际收益的偏差,可以为后续的调度策略的确定提供指导,从而使得调度后的效果更好。
在一种可能的实现方式中,该方法还包括:根据多个应用的流量数据生成各个应用的流量画像;根据各个应用的流量画像,调整各个应用和管道的映射关系,管道包括隧道和队列中的至少一个。
示例性地,根据各个应用的流量画像,调整各个应用和管道的映射关系,包括:根据各个应用的流量模式,将流量模式相同的应用映射到同一个管道,将流量模式不同的应用映射到不同的管道。
在该实现方式中,将相同流量模式的应用的流量映射到相同的管道,从而使得不同管道的流量特征更容易区分,从而方便对于各个管道的管控和调度。
在另一种可能的实现方式中,该方法还包括:获取采用多种分组方式对多个应用进行分组之后得到的每种分组方式下各组的流量画像,每组包括至少一个应用;根据各组的流量画像,调整多个各个和管道的映射关系,管道包括隧道和队列中的至少一个。
示例性地,根据各组的流量画像,调整流量统计数据中涉及的多个应用和管道的映射关系,包括:根据每种分组方式下各组的流量画像的平稳度,选择平稳度满足平稳度条件的分组方式;将选出的分组方式下的同一组的应用映射到同一个管道,将不同组的应用映射到不同的管道。
其中,平稳度是指平稳的程度,可以根据流量的流量模式及均峰比等参数来评价。在上述选择过程中,可以选择流量模式为小值振荡、平稳双峰型,然后选择这些流量模式中均峰比满足要求的。
在该实现方式中,将不同画像类型组合到一起进行互补,比如双峰、毛刺这些组合到一起,使得组合出的管道的流量画像更平稳型。这种组合使得得到的管道的流量平稳,可以节省链路带宽调整的次数。
第二方面,提供了一种调度策略的确定装置,该装置包括:
确定单元,用于响应于第一链路存在拥塞,根据第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对第一链路上的至少一个应用的流量的第一调度策略;
应用单元,用于应用第一调度策略。
可选地,该确定单元,用于响应于存在支持无损调度策略的应用,根据支持无损调度策略的应用所支持的调度策略,确定第一调度策略。
可选地,该确定单元,用于响应于支持无损调度策略的应用的数量为一个,确定支持无损调度策略的应用所支持的调度策略为第一调度策略;或,响应于支持无损调度策略的应用的数量为至少两个,确定支持无损调度策略的应用中至少一个应用所支持的调度策略为第一调度策略。
可选地,该确定单元,用于对支持无损调度策略的应用及应用支持的调度策略进行组合,得到至少一种策略组合,每种策略组合对应针对至少一个应用的调度策略;确定采用至少一种策略组合中的各个策略组合对应的调度策略进行调度时是否能够解决第一链路的拥塞;响应于存在能解决第一链路的拥塞的策略组合,从能解决拥塞第一链路的拥塞的策略组合中选择策略组合,采用选出的策略组合对应的调度策略作为第一调度策略。
可选地,该确定单元,用于基于预测的流量数据和第一策略组合对应的调度策略,判断第一策略组合对应的调度策略是否能够解决第一链路的拥塞,第一策略组合为至少一种策略组合中的任一个。
可选地,该确定单元,用于基于多个应用的流量画像预测各个应用的流量数据;基于第一策略组合对应的调度策略和预测的各个应用的流量数据,确定第一链路预期承载的流量值;基于第一链路预期承载的流量值判断第一链路是否拥塞。
可选地,该确定单元,用于基于应用的优先级和应用需求中的至少一项,从能解决拥塞第一链路的拥塞的策略组合中选择策略组合。
可选地,该确定单元,用于响应于不存在支持无损调度策略的应用,根据支持有损调度策略的应用所支持的调度策略,确定第一调度策略。
可选地,该确定单元,还用于确定第一调度策略涉及的链路;根据第一调度策略涉及的链路的流量数据,确定第一调度策略执行后第一调度策略涉及的链路是否会拥塞;
该装置还包括:生成单元,用于响应于第一调度策略涉及的链路不会拥塞,基于第一调度策略生成第一调度策略指令。
可选地,该确定单元,还用于响应于第二链路存在拥塞,根据第二链路承载的流量所属的多个应用分别支持的调度策略,确定针对第二链路上的至少一个应用的流量的第二调度策略;确定第一调度策略和第二调度策略涉及的链路;根据涉及的链路的流量数据,确定第一调度策略和第二调度策略执行后涉及的链路是否会拥塞;
生成单元,用于响应于涉及的链路不会拥塞,基于第一调度策略生成第一调度策略指令,基于第二调度策略生成第二调度策略指令。
可选地,该确定单元,还用于在应用第一调度策略前,确定采用第一调度策略进行流量调度后的预期收益;在应用第一调度策略后,确定实际收益;响应于第三链路存在拥塞,基于预期收益和实际收益确定第三调度策略。
可选地,生成单元,用于根据多个应用的流量数据生成各个应用的流量画像;
该装置还包括:调整单元,用于根据各个应用的流量画像,调整各个应用和管道的映射关系,管道包括隧道和队列中的至少一个。
可选地,生成单元,用于获取采用多种分组方式对多个应用进行分组之后得到的每种分组方式下各组的流量画像,每组包括至少一个应用;
调整单元,用于根据各组的流量画像,调整多个各个和管道的映射关系,管道包括隧道和队列中的至少一个。
第三方面,提供了一种电子设备,该电子设备为控制设备或网络设备。所述电子设备包括处理器和存储器。所述存储器用于存储软件程序以及模块。所述处理器通过运行或执行存储在所述存储器内的软件程序和/或模块实现上述第一方面或第一方面的任一种可能的实施方式中的方法。
可选地,所述处理器为一个或多个,所述存储器为一个或多个。
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器 (read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
第四方面,提供了一种计算机程序产品。所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述第一方面或第一方面的任一种可能的实施方式中的方法。
第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储处理器所执行的程序代码,所述程序代码包括用于实现上述第一方面任一种可能的实施方式中的方法。
第六方面,提供了一种芯片,包括处理器,处理器用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述第一方面任一种可能的实施方式中的方法。
第七方面,提供另一种芯片。所述另一种芯片包括输入接口、输出接口、处理器和存储器。所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连。所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述第一方面任一种可能的实施方式中的方法。
附图说明
图1是本申请实施例提供的一种应用场景的示意图;
图2是本申请实施例提供的一种应用场景的示意图;
图3是本申请实施例提供的一种调度策略的确定方法的流程图;
图4是本申请实施例提供的一种调度策略的确定方法的流程图;
图5是本申请实施例提供的一种WFQ权重调整的示意图;
图6是本申请实施例提供的一种调度策略的确定方法的流程图;
图7是本申请实施例提供的一种调度策略的确定方法的流程图;
图8是本申请实施例提供的一种调度策略的确定方法的流程图;
图9是本申请实施例提供的一种调度策略的确定方法的流程图;
图10是本申请实施例提供的一种调度策略的确定方法的流程图;
图11是本申请实施例提供的一种调度策略的确定方法的流程图;
图12是本申请实施例提供的一种网络拓扑示意图;
图13是本申请实施例提供的一种调度过程示意图;
图14是本申请实施例提供的一种模块示意图;
图15是本申请实施例提供的一种调度策略的确定装置的框图;
图16是本申请实施例提供的一种控制设备或网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为便于对本申请实施例提供的技术方案的理解,首先介绍一下本申请的应用场景。该应用场景可以是分布式存储系统或者数据中心等通信网络。下面以分布式存储系统为例,对本申请应用场景进行说明。
图1是本申请实施例提供的一种应用场景的结构示意图。参见图1,该应用场景包括控制设备11和网络设备12。控制设备11可以是网络中的管理节点,例如,网管设备(如软件定义网络(software defined network,SDN)控制器)。网络设备12可以是网络中的网络节点,例如路由设备。如图1所示,网络设备12包括运营商(provider)设备,也即图中P设备,网络设备12还包括运营商边缘(provider edge)设备,也即图中PE设备。
如图1所示,控制设备11和PE设备连接。控制设备11可以通过PE设备和各个P设备连接,或者,控制设备11也可以直接和各个P设备连接(为了避免附图中线条过于复杂并未直接示出)。
图1中任意两个网络设备12之间建立链路,用于传输业务数据。两个PE设备之间配置有隧道(tunnel)。该隧道用于特定应用的传输,可以传输至少一个应用的流量。
例如,从PE1到PE2的隧道,PE1为隧道的入口设备,PE2为隧道的出口设备。该隧道既可以承载在一个路径上,比如PE1-P1-PE2路径。该隧道也可以承载在多个路径上,比如PE1-P1-PE2和PE1-P2-P3-PE2两条路径,两条路径按照一定比例传输该隧道的流量。
图2是本申请实施例提供的另一种应用场景的结构示意图。参见图2,该应用场景和图 1的应用场景相比,区别在于网络设备12还包括PE3,PE3和PE2之间也可以配置有隧道,该隧道承载在PE3-P2-P3-PE2路径上。图1中P2仅接收PE1的流量,而图2中P2汇聚了 PE1和PE3的流量。
由于P2-P3链路同时承载2个隧道的流量,因此对于P2-P3链路的流量调度要同时考虑两个隧道的流量。
除了控制设备和网络设备,该应用场景还可以包括用户设备,用户设备可以是独立的设备,与控制设备相连,用户设备也可以集成在控制设备中。
图3是本申请实施例提供的一种调度策略的确定方法的流程图。该方法可以应用在控制设备,也可以应用在网络设备,下面以该方法应用在控制设备为例进行说明。如图3所示,该方法包括如下步骤。
S11,响应于第一链路存在拥塞,控制设备根据第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对第一链路上的至少一个应用的流量的调度策略。
其中,链路拥塞是指链路承载的流量超过拥塞阈值。
例如,拥塞阈值为80%,对于带宽为100Mbps的链路,当流量超过80Mbps时,确定该链路存在拥塞。
其中,应用支持的调度策略通常是对应用的业务指令没有影响或者影响较小的调度策略。
S12,控制设备应用该调度策略。
例如,控制设备将该调度策略指令配置于在承载上述至少一个应用的流量的入口设备。
例如,控制设备将每个应用的调度策略指令配置于承载该应用的流量的入口设备。
入口设备例如为承载上述至少一个应用中的每个应用功能的流量的隧道的入口设备。
在本申请实施例中,在第一链路存在拥塞时,根据该链路上的多个应用支持的调度策略确定调度策略,使得控制设备可以基于各个应用分别支持的调度策略统筹调度各个应用的流量,可以充分利用网络资源以传输各个应用的流量,进而可以最大可能地保证各个应用的业务质量,避免相关技术中直接对低优先级应用进行限速,造成的低优先级业务质量肯定受损的问题。
图4是本申请实施例提供的另一种调度策略的确定方法的流程图。该方法可以应用在控制设备,也可以应用在网络设备,下面以该方法应用在控制设备为例进行说明。如图4所示,该方法包括如下步骤。
S21,控制设备确定第一链路存在拥塞。
在一种可能的实现方式中,控制设备接收网络设备发送的流量数据,并根据该流量数据确定第一链路存在拥塞。
例如,每个网络设备(例如,图1~2中的各个P设备和各个PE设备)采集出端口和/或入口端的流量,然后将对应的链路的流量数据发送给控制设备。为了让控制设备知道采集的流量数据的归属,可以在发送流量数据时携带链路标识。
对于一条链路,可以基于链路的发送端的出端口发送的流量,或接收端的入端口的接收流量判断该链路是否存在拥塞。
再例如,网络中的隧道的入口设备(例如,图1~2中的PE设备)采集隧道的流量和/或采集应用的流量,然后将隧道和/或应用的流量数据发送给控制设备。采集时,基于应用流标识来采集应用的流量,基于隧道标识来采集隧道的流量。同样,为了让控制设备知道采集的流量数据的归属,可以在发送流量数据时携带隧道标识、应用流标识等进行指示。
无论是以链路、隧道还是应用作为采集粒度,网络设备都可以按照预定时间间隔采集,如每秒钟采集一次流量数据,每采集一个流量数据即发送给控制设备。当然,网络设备也可以采集一段时间然后再发送,如每秒钟采集一次流量数据,每分钟将采集到的60个流量数据发送给控制设备。
控制设备获取到流量数据后,基于流量数据确定网络拓扑中的各条链路是否存在拥塞。其中,确定链路是否拥塞的方式是判断链路承载的流量是否超过拥塞阈值。不同链路可以各自有对应的拥塞阈值。
对于一条链路,链路承载的流量可以通过该链路的流量数据确定,也可以通过该链路上承载的应用或隧道的流量数据确定,对此不做赘述。
在另一种可能的实现方式中,控制设备接收网络设备发送的第一链路拥塞消息,第一链路拥塞消息用于指示第一链路存在拥塞。
在该实现方式中,确定拥塞的过程由网络设备完成。网络设备可以采用前述方式确定链路拥塞。网络设备也可以根据该设备检测到与该链路关联的出端口、出队列或入队列的性能数据确定链路拥塞。例如,当出端口的丢包率大于阈值时,网络设备确定与该出端口关联的链路发生链路拥塞。又例如,当出队列的队列占用率超过阈值时,或者当出队列的队列占用率超过阈值的持续时长超过时长阈值时,网络设备确定与该出队列关联的链路发生链路拥塞。
S22,控制设备获取第一链路承载的流量所属的各个应用支持的调度策略。
在一种可能的实现方式中,各个应用支持的调度策略可以由用户在用户设备上进行配置,然后发送给控制设备。
在另一种可能的实现方式中,各个应用支持的调度策略可以预先配置在控制设备中。
S23,控制设备根据第一链路承载的流量所属的多个应用支持的调度策略,确定针对第一链路上的至少一个应用的流量的调度策略。
S24,控制设备向承载上述至少一个应用的流量的入口设备发送调度策略指令,以使该入口设备执行该调度策略指令。
在控制设备确定了至少一个应用的流量的调度策略后,控制设备还可以为该至少一个应用中的每个应用生成调度策略指令,并为每个应用配置调度策略指令。例如,控制设备向承载应用的入口设备发送调度策略指令以指示入口设备执行该调度策略指令。入口设备例如为隧道入口设备。
当然,若网络设备(例如,隧道的入口设备)执行该方法,则网络设备可以直接生成调度策略指令并执行该调度策略指令。
以图2为例,第一链路P2-P3承载有PE1-PE2隧道的流量以及PE3-PE2隧道的流量。在上述过程中,如果生成了针对PE1-PE2隧道所承载的应用的调度策略,则将该调度策略指令发送给PE1;如果生成了针对PE3-PE2隧道所承载的应用的调度策略指令,则将该调度策略指令发送给PE3;如果同时生成了针对两个隧道所承载的应用的调度策略指令,则同时给PE1和PE3发送调度策略指令。
在本申请实施例中,调度策略包括无损调度策略和有损调度策略。有损调度策略是指会造成应用数据包丢失的调度策略,无损调度策略是指不会造成应用数据包丢失的调度策略。
其中,无损调度策略包括如下至少一种:路径调整策略、压缩策略。有损调度策略包括:限速策略。除此之外,调度策略还包括管道映射调整策略,而管道映射调整策略既可以是无损调度策略,也可以是有损调度策略。
管道映射调整策略是否有损与调整后的管道的类型相关。例如,存在限速管道(隧道或队列)时,管道映射调整将应用从非限速管道映射到限速管道中,则属于有损调度策略;如果调整后的管道为非限速管道,则管道映射调整属于无损调度策略。
示例性地,路径调整策略包括路由调整策略、隧道分流路径调整策略、隧道分流比例调整策略等。
其中,路由调整策略是指改变应用流量的传输路径的策略。以图1为例,路由调整可以是指将应用的路由从PE1-P1-PE2调整到PE1-P2-P3-PE2。
隧道分流路径调整是指将应用的流量从隧道的一条路径调整到另一条路径上,或者,为隧道新建一条路径,将应用的流量从隧道的一条路径调整到新建的路径上的策略。以图2为例,隧道分流路径调整可以是指将应用从路径PE1-P2-P3-PE2调整到路径PE1-P1-PE2。
隧道分流比例调整是指调整应用的流量在隧道的多条路径上的分流比例的策略。以图2 为例,应用的流量在隧道的两条路径PE1-P2-P3-PE2和PE1-P1-PE2上的分流比例为1:1,通过隧道分流比例调整可以将上述分流比例从1:1调整为2:1。
示例性地,压缩策略是指采用压缩算法对应用的数据包进行压缩的策略,通过对数据包进行压缩,减小传输数据包所需的带宽。
示例性地,限速策略包括应用流量限速策略、应用的流量所在隧道限速策略、应用映射的队列整形策略、应用映射的权重公平队列(weighted fair queuing,WFQ)权重调整策略等。
其中,应用流量限速策略是指针对该应用的流量进行限速的策略。例如针对具有该应用的应用流标识的数据包进行限速。
应用的流量所在隧道限速策略是指对整个隧道的流量进行限速的策略。例如针对携带有该隧道标识的数据包进行限速。应用的流量所在隧道限速可以通过调整承诺访问速率 (committed access rate,CAR)值配置,通常在隧道入口设备的入端口处操作,如将病毒库下载应用所在隧道的带宽由100Mbps限速至50Mbps。
应用映射的队列整形(shaping)策略是指对该应用所映射到的队列进行限速的策略。这里的队列是指网络设备的发送队列。通常在隧道入口设备的出端口处操作,例如将队列1的 shaping值由100Mbps降低至50Mbps。
应用映射的队列的WFQ权重调整策略是指对WFQ队列的权重进行调整的策略,从而使得队列获得的带宽发生变化。下面结合图5对WFQ权重调整进行示例性说明,图5是本申请实施例提供的一种WFQ权重调整的示意图。参见图5,Q表示队列类型,PQ表示队列类型为优先队列(priority queue),WFQ表示队列类型为权重公平队列,其中,PQ队列优先使用链路带宽,WFQ队列使用剩余带宽。W表示权重。在WFQ权重调整时,调整的是队列类型为WFQ队列的权重。在调整前,4个WFQ队列的权重比为1:2:3:3,在调整后,4个WFQ队列的权重比为2:2:3:3。增加了第一个WFQ队列的权重,相当于降低了WFQ队列中其他几个队列的权重。
示例性地,管道映射调整策略包括隧道映射调整策略、队列映射调整策略等。
其中,隧道映射调整策略是指调整应用映射的隧道的策略,将应用映射的隧道从一个隧道调整到另一个隧道。例如,存在隧道A和隧道B,原本应用A映射到隧道A,通过调整将应用A映射到隧道B。如果隧道B不限速,则上述调整属于无损调度策略;如果隧道B 限速,则上述调整属于有损调度策略。
其中,队列映射调整策略是指调整应用映射的队列的策略,将应用映射的队列从一个队列调整到另一个队列。例如,网络设备存在队列A和队列B,原本应用B映射到队列A,通过调整将应用B映射到队列B。如果队列B不限速,则上述调整属于无损调度策略;如果队列B限速,则上述调整属于有损调度策略。如,原本病毒库下载应用映射到队列A,队列 A为非限速队列,队列B为配置有队列整形的限速队列,为了保护队列A中其他应用的带宽,将病毒库下载应用重新映射到队列B。
在一种可能的实现方式中,应用支持的调度策略可以分别针对各个应用进行配置,从而使得控制设备能够获知每个应用所支持的调度策略。
在另一种可能的实现方式中,不针对每个应用分别进行配置,而是配置应用默认支持的调度策略,这种情况下,每个应用都默认支持这些调度策略。
在又一种可能的实现方式中,部分应用单独配置支持的调度策略,另一部分应用不单独配置支持的调度策略,这些应用支持前述应用默认支持的调度策略。
下面结合图6对本申请如何确定调度策略的详细过程进行示例性说明。图6是本申请实施例提供的另一种调度策略的确定方法的流程图。该方法可以应用在控制设备,也可以应用在网络设备,下面以该方法应用在控制设备为例进行说明。如图6所示,该方法包括如下步骤。
S31,控制设备在第一链路承载的流量所属的多个应用中确定支持无损调度策略的应用。
当存在支持无损调度策略的应用时,执行步骤S32;当不存在支持无损调度策略的应用时,执行步骤S33。
S32,控制设备根据支持无损调度策略的应用所支持的调度策略,确定调度策略,并生成调度策略指令。
示例性地,调度策略指令包括待调度的应用的标识、待使用的调度策略的标识以及调度的相关参数。调度的相关参数是调度执行时涉及的参数值,比如路径调整时调整后的链路的标识等。
在步骤S32中,响应于支持无损调度策略的应用的数量为一个,确定调度策略包括支持无损调度策略的应用所支持的调度策略。响应于支持无损调度策略的应用的数量为多个,确定调度策略包括支持无损调度策略的多个应用中的至少一个应用所支持的调度策略。
对于支持无损调度策略的应用的数量为多个的情况而言,控制设备可以按照如下方式确定调度策略:
对支持无损调度策略的应用及应用支持的调度策略进行组合,得到至少一种策略组合 (可能的部分或全部组合),每种策略组合对应针对至少一个应用的调度策略;确定采用至少一种策略组合中的各个策略组合对应的调度策略进行调度时是否能够解决第一链路的拥塞;响应于存在能解决第一链路的拥塞的策略组合,从能解决拥塞第一链路的拥塞的策略组合中选择组合,采用选出的策略组合对应的调度策略作为确定出的调度策略。
其中,对应用及调度策略进行组合,实际是以调度策略作为精度进行组合,例如,应用 A支持两种调度策略a、b,组合时应用A有两种加入组合的方式,分别是应用A-调度策略 a、应用A-调度策略b。即,一个策略组合包括应用A-调度策略a,另一个策略组合包括应用A-调度策略b。
另外,在进行组合时,还可以基于某种条件进行组合,例如选择优先级低于某个阈值的应用进行组合等,这里的条件本申请不做限制。
如果不存在能够解决第一链路的拥塞的组合,则继续组合并选择,直到穷举了所有组合方式仍不存在能够解决拥塞的组合,则控制设备执行步骤S33。
示例性地,控制设备基于应用的优先级和应用需求中的至少一项,从能解决拥塞第一链路的拥塞的策略组合中选择一种策略组合。
下面先对应用的优先级和应用需求进行介绍,然后再说明如何选择。
其中,应用优先级可以采用数字表示,如1、2、3等,通常数字越大,优先级越低。
其中,应用需求包括如下至少一项:带宽需求、时延需求、丢包需求、抖动需求、服务水平协议需求、客户体验需求。
其中,带宽需求可以包括采集带宽需求和保障带宽需求,采集带宽需求是指对于该应用进行流量采集时采集到的流量数据所占用的带宽,通过限定采集带宽需求,保证针对应用采集的流量数据足够多,作为确定调度策略的数据支撑。保障带宽需求是用来限定应用所需的最小保障带宽、最大保障带宽和/或带宽保障区间。最小保障带宽也即需要保障的最小带宽,可以通过承诺信息速率(committed information rate,CIR)限定,例如50Mbps;最大保障带宽是保障的带宽上限,可以通过峰值信息速率(peak informationrate,PIR)限定,例如100Mbps;带宽保障区间包括了需要保障的最小带宽和最大带宽,例如50Mbps~100Mbps。
在一种可能的实现方式中,控制设备基于各个应用的优先级,选择优先级较低的策略组合对应的调度策略。
例如,存在两个组合能够解决第一链路的拥塞问题,一个组合为应用A和应用B(为了方便说明,这里省略了各个应用支持的调度策略),一个组合为应用C和应用D,应用A~D的优先级分别为1、2、3、4,则应用C和应用D组合的优先级更低,控制设备选择应用C 和应用D的组合进行调度。通常,组合中包括多个应用时,优先级可以考虑平均优先级,也可以考虑最高优先级。
这种实现方式,能够通过对低优先级业务进行调度,来保证高优先级应用的业务不受影响。
在另一种可能的实现方式中,控制设备基于各个应用的应用需求,选择能够满足策略组合中应用需求的策略组合对应的调度策略。
对于未单独配置支持的调度策略的应用,组合时从默认支持的调度策略中选择并组合。此时,有可能选择的调度策略与应用需求不匹配。因此,需要将这种情况排除出去,以保证应用的业务质量。
例如,应用A存在较低的时延需求,那么若对应用A执行压缩策略就与应用A的需求并不匹配。因为压缩策略涉及到数据发送方的压缩过程和数据接收方的解压缩过程,这两个过程均会带来额外的时延。在选择时,筛选掉包括应用A的压缩策略的组合。
在又一种可能的实现方式中,控制设备基于各个应用的优先级和各个应用的应用需求,选择能够满足组合中应用需求的组合中优先级较低的组合对应的调度策略。
其中,如何判断优先级,以及如何判断是否满足应用需求可以参见上述描述,这里不做赘述。
无论支持无损调度策略的应用的数量为一个还是多个,在确定调度策略的过程中,都要考虑确定的调度策略能否解决第一链路的拥塞问题。
在一种可能的实现方式中,控制设备基于当前的流量数据和上述选择的调度策略判断调度后是否能够解决第一链路的拥塞问题。例如,控制设备根据当前第一链路的流量值和调度减少的流量,计算调度完成后第一链路是否还会拥塞。
在另一种可能的实现方式中,控制设备基于预测的流量数据和上述选择的调度策略判断调度后是否能够解决第一链路的拥塞问题。例如,控制设备可以基于应用的流量画像预测各应用的流量数据,再基于选择的调度策略根据第一链路预期承载的流量值和拥塞阈值判断第一链路是否还会拥塞。
例如,基于各个应用的流量画像分别预测各个应用的流量数据;基于第一策略组合对应的调度策略和预测的各个应用的流量数据,确定第一链路预期承载的流量值;基于第一链路预期承载的流量值判断第一链路是否拥塞。其中,第一策略组合为至少一种策略组合中的任一个。
示例性地,根据预期承载的流量值和拥塞阈值判断是否拥塞。
其中,控制设备根据各个应用的流量序列生成各个应用的流量画像,该流量序列通常对应的时间较长,例如一天或多天,从而能够准确刻画出流量画像。
其中,流量画像是指基于流量序列获取的流量特征,例如包括流量模式、流量峰值、均峰比等特征。
在确定出应用的流量画像后,可以预测应用在一段时间内的流量数据(例如流量峰值)。根据第一策略组合的调度策略可以确定若使用该第一策略组合对应的调度策略后,第一链路承载的应用。根据预测出的第一链路承载的应用的流量数据确定第一链路预期承载的流量值,进而预测是否还会拥塞,也即是否解决了拥塞问题。
在该实现方式中,基于预测的流量数据确定调度策略,使得网络设备执行的调度策略更能匹配链路未来承载的流量,能进一步缓解链路未来可能出现的拥塞,也使得需要进行调度的频率更低,节省了网络资源。
S33,控制设备根据支持有损调度策略的应用所支持的调度策略,确定调度策略,生成调度策略指令。
除了步骤S31中确定出的支持无损调度策略的应用,其他应用即为支持有损调度策略的应用。
在确定有损调度策略时,除了像无损调度策略一样确定待调度的应用、待使用的策略,还确定有损调度时的参数,例如限速值。
同样地,在进行有损调度策略确定时,也可以采用组合的方式,列举出应用和策略的组合,然后从中选择能够解决第一链路拥塞的策略组合,直到列举所有策略组合均无法解决拥塞,则选择无法解决拥塞的策略组合。其中,调度涉及的参数采用默认值或者应用需要对应的值,例如涉及限速调度策略,则根据应用支持的最小保障带宽设置限速值。
选择时,仍然可以考虑应用优先级和应用需求中的至少一个。选择方法和无损调度相同,这里不再赘述。
例如,关键应用的应用需求包括带宽需求,且最小保障带宽较高,这种情况下可以排除包含关键应用的调度策略为限速策略的策略组合。
再例如,灾备应用的应用需求包括带宽需求,且最小保障带宽较低,这种情况下可以将包含灾备应用的调度策略为限速策略的策略组合纳入选择范围。
在本申请实施例中,限速策略可以针对应用执行,也可以针对隧道执行。例如,隧道中仅包括单个应用时,若单个应用支持限速策略,可以直接对隧道进行限速。再例如,隧道承载的多个应用均支持限速策略,也可以直接对隧道进行限速。
由于本申请提供的方案能够实现不同粒度的调度,例如应用粒度、隧道粒度等,通过不同粒度的调度方案使得本申请的流量调度更精细,更容易缓解链路拥塞。
在上述调度策略确定过程中,仅考虑了对第一链路上的应用的流量进行调度,从而使得第一链路不再拥塞。但如果是路径调整策略、管道映射调整策略将第一链路上的流量转移到其他链路,有可能导致其他链路出现拥塞。为了避免这种情况的发生,在采用路径调整策略、管道映射调整策略时,还需要考虑调度后,受影响的其他链路的拥塞情况。
比如,在步骤S32中,先基于应用的优先级和应用需求中的至少一项确定调度策略;如果该调度策略包括路径调整策略、隧道分流路径调整策略、管道映射调整策略中的一种,则确定该调度策略涉及的链路(第一链路之外的链路);根据调度策略涉及的链路的流量数据,确定调度策略执行后该调度策略涉及的链路是否会拥塞。如果不会拥塞,则采用该调度策略生成调度策略指令。如果会拥塞,则按照步骤S32重新确定调度策略。
如果步骤S32中所有可能的调度方式均会造成调度策略涉及的链路出现拥塞,则执行步骤S33。
在步骤S33中,同样地,如果该调度策略包括管道映射调整策略,也需要考虑调度策略涉及的链路是否会出现拥塞。如果不会拥塞,则采用该调度策略生成调度策略指令。如果会拥塞,则按照步骤S33重新确定调度策略。
前述实施例主要针对的是单条链路拥塞时的调度策略确定的方法,而当网络同时存在两条或多条链路拥塞时,以两条为例,分别针对两条链路确定调度策略,并且调度的目标是调度策略涉及的链路不会拥塞。下面结合图7对存在两条或多条拥塞链路时,如何确定调度策略的详细过程进行示例性说明。图7是本申请实施例提供的另一种调度策略的确定方法的流程图。该方法可以应用在控制设备,也可以应用在网络设备,下面以该方法应用在控制设备为例进行说明。如图7所示,该方法包括如下步骤。
S41,控制设备确定第一链路和第二链路拥塞。
第一链路和第二链路是拥塞链路中的任意两条。以图2为例,第一链路为P1-PE2(属于路径PE1-P1-PE2)、第二链路为P2-P3(属于路径PE1-P2-P3-PE2)。
这里仅仅是以两条链路的情况进行示例性说明,多条链路拥塞的实现方案和两条本质相同。
S42,控制设备获取第一链路承载的流量所属的各个应用支持的调度策略,获取第二链路承载的流量所属的各个应用支持的调度策略。
S43,控制设备根据第一链路承载的流量所属的各个应用支持的调度策略,确定针对第一链路上的至少一个应用的流量的第一调度策略;根据第二链路承载的流量所属的各个应用支持的调度策略,确定针对第二链路上的至少一个应用的流量的第二调度策略。
S44,控制设备根据第一调度策略和第二调度策略涉及的链路的流量数据,确定第一调度策略和第二调度策略执行后涉及的链路是否会拥塞。如果不会拥塞,则执行S45。如果会拥塞,则重新步骤S43。
针对涉及的每个链路,根据采集到的流量数据确定是否会在调度后发生拥塞,确定的详细步骤可以参见步骤S32。
S45,控制设备采用第一调度策略生成第一调度策略指令,采用第二调度策略生成第二调度策略指令。
在对多条链路拥塞进行调度时,使得每个链路拥塞的调度策略都不会造成其他链路的拥塞。即,该方案以整个网络为调度对象,可以从全局调度流量,解决网络中的拥塞问题。
在上述调度策略确定过程中,可以预测调度后的收益,该收益用于指示拥塞链路改善情况。在调度完成后,确定调度的实际收益。一方面实际收益可以反馈给用户设备进行可视化展示,另一方面,基于预期收益和实际收益的偏差,可以为后续的调度策略的确定提供指导,从而使得调度后的效果更好。
下面结合图8示例性说明如何基于收益调整调度策略的确定过程。图8是本申请实施例提供的另一种调度策略的确定方法的流程图。该方法可以应用在控制设备,也可以应用在网络设备,下面以该方法应用在控制设备为例进行说明。如图8所示,该方法包括如下步骤。
S51,控制设备基于确定出的调度策略确定采用该调度策略进行流量调度后的预期收益。
步骤S51在应用该调度策略之前执行,也即预测应用该调度策略产生的收益。
根据第一链路的流量数据,预测调度策略执行后第一链路的流量数据。根据预测的第一链路的流量数据确定调度后的预期收益。
其中,预期收益可以包括:拥塞链路减少数量,拥塞链路流量占用降低比例等。
S52,控制设备在调度策略指令下发后,确定实际收益。
在一种可能的实现方式中,控制设备接收网络设备发送的调度后的流量数据,根据上述流量数据确定第一链路的实际收益。
在另一种可能的实现方式中,控制设备接收网络设备发送的实际收益。
在该步骤中,实际收益与预期收益包含的参数类型是相同的,不再赘述。
S53,控制设备在第三链路出现拥塞时,基于预期收益和实际收益进行调度策略的确定。
其中,第三链路可以是前文的第一链路或第二链路,也可以是第一链路和第二链路之外的链路。
在这里,控制设备进行调度策略确定时,除了前文考虑的因素外,再额外考虑预期收益和实际收益的偏差。例如,当实际收益未达到预期收益时,在针对第三链路进行调度策略确定时,可以以一个比第三链路拥塞阈值更低的阈值作为目标进行调度,这样流量调度的力度更高,从而使得最终的实际收益能够满足要求。相反,当实际收益超出预期收益时,在针对第三链路进行调度策略确定时,可以以一个比第三链路拥塞阈值更高的阈值作为目标进行调度。而如果实际收益与预期收益相当,则以第三链路拥塞阈值为目标进行调度即可。
前文中对于流量的调度主要是为了解决链路拥塞的问题,除此之外,本申请也可以在不考虑链路拥塞的情况下,对部分应用进行管道映射的调整,相当于执行管道映射调整策略。下面结合图9和图10进行示例性说明。图9是本申请实施例提供的另一种调度策略的确定方法的流程图。该方法可以应用在控制设备,也可以应用在网络设备,下面以该方法应用在控制设备为例进行说明。如图9所示,该方法包括如下步骤。
S61,控制设备根据各个应用的流量数据生成各个应用的流量画像。
S62,控制设备根据各个应用的流量画像,调整各个应用和管道的映射关系,管道包括隧道和队列中的至少一个。
示例性地,控制设备根据各个应用的流量画像,调整各个应用和管道的映射关系,包括:控制设备根据各个应用的流量模式,将流量模式相同的应用映射到同一个管道,将流量模式不同的应用映射到不同的管道。
在该实现方式中,将相同流量模式的应用的流量映射到相同的管道,从而使得不同管道的流量特征更容易区分,从而方便对于各个管道的管控和调度。
将相同流量模式的应用的流量映射到同一个管道,也即对各种流量模式的应用进行分类,从而使得分类后的管道的流量具有包含的应用对应的流量模式的特征,由于各个流量模式的变化趋势是已知的,因此,这种映射后各个管道的流量变化趋势已知,有利于调度和管理。
这里,流量模式是指流量画像所反映出的流量变化趋势,包括小值震荡型、突发毛刺型、平稳双峰型和震荡双峰型等。根据流量数据确定流量模式实际是根据流量数据形成的波形图的变化趋势来确定流量模式,这里对确定流量模式的详细过程不做赘述。
其中,流量模式用于指示应用在第一时间段内的流量值的变化趋势。其中,第一时间段可以是指流量数据的采集时间段。在小值震荡型流量模式中,在采集时间段内的大部分时间 (例如50%以上)中流量均为一较低流量值(例如1~3Mb/s)。在突发毛刺型流量模式中,流量序列中流量值的跨度很大,从几Mb/s到上百Mb/s,流量变化也没有规律,也即没有形成明显的波峰和波谷。在平稳双峰型流量模式中,流量序列中流量值按峰-谷-峰波形变化,且在山峰和山谷中流量毛刺少。在震荡双峰型流量模式中,流量序列中流量按峰-谷-峰波形变化,且在山峰和山谷中流量毛刺多(多于平稳双峰型)。
图10是本申请实施例提供的另一种调度策略的确定方法的流程图。该方法可以应用在控制设备,也可以应用在网络设备,下面以该方法应用在控制设备为例进行说明。如图10 所示,该方法包括如下步骤。
S71,控制设备获取采用多种分组方式对多个应用进行分组之后得到的每种分组方式下各组的流量画像,每组包括至少一个应用。
例如,该多个应用为第一流量统计数据中涉及的应用。
S72,控制设备根据各组的流量画像,调整多个应用和管道的映射关系,管道包括隧道和队列中的至少一个。
示例性地,控制设备根据各组的流量画像,调整流量统计数据中涉及的多个应用和管道的映射关系,包括:控制设备根据每种分组方式下各组的流量画像的平稳度,选择平稳度满足平稳度条件的分组方式;控制设备将选出的分组方式下的同一组的应用映射到同一个管道,将不同组的应用映射到不同的管道。
其中,平稳度是指平稳的程度,可以根据流量的流量模式及均峰比等参数来评价。在上述选择过程中,可以选择流量模式为小值振荡、平稳双峰型,然后选择这些流量模式中均峰比满足要求的。
在该实现方式中,将不同画像类型组合到一起进行互补,比如双峰、毛刺这些组合到一起,使得组合出的管道的流量画像更平稳型。这种组合使得得到的管道的流量平稳,可以节省链路带宽调整的次数。
图11是本申请实施例提供的另一种调度策略的确定方法的流程图。该方法可以由图1 或图2所示的应用场景中控制设备及网络设备(隧道入口设备)、以及图中未示出的用户设备(用户设备可以是服务器设备)共同执行。如图11所示,该方法包括如下步骤。
S81,用户设备向控制设备发送用户配置信息。控制设备接收用户设备发送的用户配置信息。
其中,用户配置信息包括应用的优先级、应用需求和应用支持策略中的至少一个。
下面通过示例对用户配置信息进行说明:
如应用(application,APP)1,优先级6,应用需求:最小保障带宽=10Mbps,应用支持策略:应用限速策略。
APP2,优先级5,应用需求:最小保障带宽=50Mbps,应用支持策略:隧道映射调整策略、隧道分流路径调整策略、应用限速策略。
APP3,优先级4,应用需求:最小保障带宽=80Mbps,应用支持策略:隧道映射调整策略、隧道分流路径调整策略、应用限速策略。
APP4,优先级3,应用需求:最小保障带宽=80Mbps,应用支持策略:隧道映射调整策略、应用限速策略。
APP5,优先级2,应用支持策略:路由调整策略。
为了保证网络设备能够区分各个应用,在用户配置信息中可以包含对各个应用的定义,对于应用的定义可以通过应用流标识信息来区分,其中,应用流标识信息基于互联网协议 (Internet Protocol,IP)网段、五元组、或应用感知网络(application awarenetworking, APN)标识等来实现。
例如,应用流标识信息可以是如下有一种:
源IP段和目的IP段构成的二元组;
源IP地址、目的IP地址、源端口、目的端口和协议号构成的五元组;
APN 6标识。其中,APN标识通常由源IP段-目的IP段、服务水平协议(servicelevel agreement,SLA)构成。
步骤S81为可选步骤,用户配置信息除了由用户设备配置到控制设备外,也可以直接在控制设备中配置,而无需用户设备的参与。
在步骤S81之前,网络已经完成应用和隧道的映射配置,应用和队列的映射配置。通常根据应用的优先级完成应用和隧道的映射配置,应用和队列的映射配置。
S82,控制设备向网络设备发送访问控制列表(access control list,ACL)配置信息。网络设备接收控制设备发送的ACL配置信息。
其中,ACL配置信息用于指示网络设备哪些流量可以通过,哪些流量需要阻止。
步骤S82为可选步骤,ACL配置信息除了由控制设备配置到网络设备外,也可以直接在网络设备中配置,而无需控制设备的参与。
S83,网络设备根据ACL配置信息进行ACL配置。
根据步骤S82接收到的ACL配置信息进行流量的访问控制,对此,本申请不做赘述。
S84,网络设备采集流量数据,向控制设备发送采集的流量数据。控制设备接收网络设备发送的流量数据。
在进行采集流量数据时,可以单个维度采集,例如只采集各个应用的流量数据,也可以多维度采集,例如同时对各个应用、各个隧道的流量数据进行采集。
除了网络设备按照上述方式采集流量外,网络设备还可以不区分应用,发送给控制设备后由控制设备进行区分,例如,控制设备根据流量的源IP地址和目的IP地址,将相同应用的流量的聚合,从而确定各个应用流量数据等。
S85,控制设备根据流量数据确定网络中的各条链路是否存在拥塞。
通常,链路拥塞的原因包括链路故障、应用对应的业务流量突增(如临时视频会议导致业务流量突增)。其中,链路故障包括线路故障、设备故障等。
除了直接根据链路的流量数据确定链路是否拥塞外,也可以根据链路承载的应用或者链路映射的隧道的流量数据确定是否拥塞。
示例性地,步骤S85可以包括:控制设备根据各个隧道的流量数据、隧道和链路的映射关系,确定网络中的各条链路的流量数据;控制设备根据网络中的各条链路的流量数据确定网络中的各条链路是否存在拥塞。
一种情况下,网络设备发送各个应用的流量数据,各个隧道的流量数据可以根据各个应用的流量数据确定。另一种情况下,网络设备发送的就是各个隧道的流量数据。
如图2所示,图中对于P2-P3链路的流量数据,可以根据经过PE1-P2-P3-PE2路径的隧道和经过PE3-P2-P3-PE2路径的隧道两部分的流量确定。如果两条隧道只经过上述两条路,则直接将两个隧道流量相加即可得到P2-P3链路的流量数据。而如果经过PE1-P2-P3-PE2路径的隧道还经过PE1-P1-PE2路径,此时需要考虑该隧道在两个路径上的分流比,按照分流比确定经过PE1-P2-P3-PE2路径的流量,将其和经过PE3-P2-P3-PE2路径的流量相加,得到 P2-P3链路的流量数据。
图12是本申请实施例提供的一种网络拓扑示意图。节点S是隧道入口设备,隧道同时包括图中3条路径(S-M-C-D-T、S-M-D-T、S-M-A-B-D-T),在确定M-D链路的流量时,根据隧道中3条路径的分流比,确定出中间路径的流量,也即M-D链路的流量数据。
在该实现方式中,控制设备会基于各个网络设备发送的流量数据来判断是否存在网络拥塞,控制设备根据整个网络的流量情况综合分析,避免只局部分析难以判断全面的情况出现。
S86,在第一链路存在拥塞时,控制设备根据第一链路承载的流量所属的各个应用支持的调度策略,生成针对第一链路上的至少一个应用的流量的调度策略指令。
S87,控制设备将调度策略指令发送给用户设备。用户设备接收该调度策略指令。
可选地,控制设备除了将待执行的调度策略指令发送给用户设备,供人工进行确认外,控制设备还可以计算若执行该调度策略指令能够获得的预期收益,该收益可以是拥塞改善情况,例如拥塞链路减少数量,拥塞链路流量占用降低比例等。将该预期收益发送给用户设备进行展示,从而使得人工在决策前能够更清晰的感知预期效果,使得决策更简化,决策后看到执行的效果,不仅使得决策的收益可视化,而且可以作为下一次决策的经验反馈。
S88,用户设备接收人工针对该调度策略指令的确认或修改信息。
S89,用户设备向控制设备发送确认或修改信息。控制设备接收用户设备发送的确认或修改信息,并确定待发送的调度策略指令。
步骤S87至步骤S89为可选步骤,控制设备也可以不经过用户设备的确认或修改,直接下发调度策略指令。
S810,控制设备向至网络设备发送调度策略指令。该网络设备接收该调度策略指令。
该网络设备为承载上述至少一个应用的隧道入口设备。
S811,网络设备执行该调度策略指令。
在本申请实施例中,步骤S84至步骤S811可以循环执行,例如在执行一次调度策略指令后,重新采集流量数据,并在仍然有链路拥塞时,重新产生调度策略指令并执行。
在循环执行步骤S84至步骤S811的过程中,调度策略指令所选择的调度策略可以按照优先选择无损调度策略然后再选择有损调度策略的顺序实现。
图13是本申请实施例提供的一种调度过程示意图。如图13所示,步骤A先执行无损调度策略,在无损调度策略无法解除拥塞风险时,步骤B执行有损调度策略,在有损调度策略无法解除拥塞风险时,步骤C给出扩容建议。这里,步骤A和步骤B均可以执行一次或多次。
也即,该方法还可以包括:控制设备输出针对第一链路的扩容建议。也即在当前网络容量无法满足第一链路上的应用带宽诉求时,产生针对第一链路的扩容建议。
前述路径调整对应无损调度策略,限速对应有损调度策略。优先选择无损调度策略,保证各个应用的业务质量。而在无损调度难以解决链路拥塞时,则通过有损调度优先保证核心应用的业务质量。
除了给出扩容建议外,响应于第一链路处于轻载状态时,控制设备还可以输出第一链路的缩容建议。
S812,网络设备再次采集流量数据,向控制设备发送采集的流量数据。控制设备接收网络设备发送的流量数据。
S813,控制设备根据流量数据确定实际收益。
示例性地,实际收益可以包括拥塞链路减少数量,拥塞链路流量占用降低比例等。
步骤S812和步骤S813的实际收益确定方式无需网络设备进行计算,由控制设备计算,网络设备的资源占用低。
除了步骤S812和步骤S813的实际收益确定方式外,另一种方式是由网络设备确定出实际收益,然后将实际收益发送给控制设备。
S814,控制设备将实际收益发送给用户设备。用户设备接收该实际收益。
S815,用户设备展示该实际收益。
步骤S812至步骤S815为可选步骤。
在该实现方式中,控制设备接收网络设备发送的执行调度后的流量数据,根据这些流量数据能够确定调度产生的收益,将实际收益发送给用户设备进行展示,从而向用户反馈上述调度策略的确定方案的效果。
S816,控制设备调整各个应用和管道的映射关系,管道包括隧道和队列中的至少一个。
这里,控制设备调整各个应用和管道的映射关系,将调整后的映射关系发送给网络设备,以使网络设备也相应调整。
步骤S816与前述步骤S812~S815的先后关系可以不定,例如在步骤S812之前执行。
除了在链路发生拥塞时执行的调度策略外,在链路不发生拥塞时,也可以通过管道映射关系的调整,改善网络传输。
本申请通过从配置到调度,支撑网络基于应用的端到端精细化管理诉求;基于对流量进行画像和特征分析,为应用特征可视、异常发现、智能调度、管理决策等提供基础;基于隧道、路径、应用等不同粒度的调度管理,灵活组合达成客户差异化管理诉求,同时基于多粒度调度,实现客户自动调优诉求和最小有损优化目标。
图14是本申请实施例提供的一种执行上述方法的系统的模块示意图。参见图14,用户设备包括用户配置模块,用户配置模块基于用户输入生成用户配置信息,也即执行步骤 S81。
参见图14,网络设备包括数据采集模块,数据采集模块用于采集流量数据,并发送给控制设备,也即执行步骤S84和S812。
参见图14,控制设备包括业务管理模块,业务管理模块用于基于流量数据确定各条链路是否发生拥塞,也即执行步骤S85。
参见图14,控制设备还包括控制调度模块、管道管理模块、无损优化模块、有损优化模块和链路管理模块。业务管理模块用于基于流量数据生成流量画像,进而实现流量趋势预测。控制调度模块负责策略调度,通过调用管道管理模块、无损优化模块、有损优化模块和链路管理模块实现调度策略指令的产生,除此之外还用于执行管道删减、网络扩缩容建议的输出。管道管理模块用于实现初始应用和管道的映射配置,如单个核心应用映射到单个队列或隧道,而一般优先级应用或低优先级应用,则多个映射到一个队列或隧道,这样在保障核心应用带宽时,在隧道粒度即可达到精准有损优化调度目的;此外,此方式可以减少单应用单隧道映射时的海量隧道开销。无损优化模块用于提供无损优化调度策略。有损优化模块用于提供有损优化调度策略。链路管理模块用于提供链路扩缩容建议、网络拓扑设计建议等。
通过控制调度模块、管道管理模块、无损优化模块、有损优化模块和链路管理模块一起实现步骤S86。
参见图14,网络设备还包括策略管理模块,用于执行控制设备下发的调度策略指令,也即执行步骤S811。
参见图14,用户设备还包括可视化模块,用于展示预期收益和/或实际收益,也即执行步骤S815。
基于图14提供的系统模块结构可知,本申请提供的方案通过数据采集模块和可视化模块,实现了调度的可视化和传感化,也即基于流量统计,经过分析和处理,完成调度策略,最终实现了收益的可视化。通过控制调度模块、管道管理模块、无损优化模块、有损优化模块和链路管理模块实现了对于调度策略的分析和推荐。通过用户配置模块和可视化模块对调度策略进行人工确认/修改,从而实现了对于调度策略的决策。通过策略管理模块实现了对调度决策的执行。
除此之外,可视化模块还可以配合控制设备,在流量模式异常等情况下输出异常告警和提示等。
图15是本申请实施例提供的一种调度策略的确定装置的框图。该调度策略的确定装置可以通过软件、硬件或者两者的结合实现成为控制设备的全部或者一部分。该调度策略的确定装置可以包括:确定单元901和应用单元902。
确定单元901,用于响应于第一链路存在拥塞,根据第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对第一链路上的至少一个应用的流量的第一调度策略;
应用单元902,用于应用第一调度策略。
可选地,该确定单元901,用于响应于存在支持无损调度策略的应用,根据支持无损调度策略的应用所支持的调度策略,确定第一调度策略。
可选地,该确定单元901,用于响应于支持无损调度策略的应用的数量为一个,确定第一调度策略为支持无损调度策略的应用所支持的调度策略;或,响应于支持无损调度策略的应用的数量为多个,确定第一调度策略包括支持无损调度策略的应用中的至少一个应用所支持的调度策略。
可选地,该确定单元901,用于对支持无损调度策略的应用及应用支持的调度策略进行组合,得到至少一种策略组合,每种策略组合对应针对至少一个应用的调度策略;确定采用至少一种策略组合中的各个策略组合对应的调度策略进行调度时是否能够解决第一链路的拥塞;响应于存在能解决第一链路的拥塞的策略组合,从能解决拥塞第一链路的拥塞的策略组合中选择策略组合,采用选出的策略组合对应的调度策略作为第一调度策略。
可选地,该确定单元901,用于基于预测的流量数据和第一策略组合对应的调度策略,判断第一策略组合对应的调度策略是否能够解决第一链路的拥塞,第一策略组合为至少一种策略组合中的任一个。
可选地,该确定单元901,用于基于多个应用的流量画像预测各个应用的流量数据;基于第一策略组合对应的调度策略和预测的各个应用的流量数据,确定第一链路预期承载的流量值;基于第一链路预期承载的流量值判断第一链路是否拥塞。
可选地,该确定单元901,用于基于应用的优先级和应用需求中的至少一项,从能解决拥塞第一链路的拥塞的策略组合中选择策略组合。
可选地,该确定单元901,用于响应于不存在支持无损调度策略的应用,根据支持有损调度策略的应用所支持的调度策略,确定第一调度策略。
可选地,该确定单元901,还用于确定第一调度策略涉及的链路;根据第一调度策略涉及的链路的流量数据,确定第一调度策略执行后第一调度策略涉及的链路是否会拥塞;
该装置还包括:生成单元903,用于响应于第一调度策略涉及的链路不会拥塞,基于第一调度策略生成第一调度策略指令。
可选地,该确定单元901,还用于响应于第二链路存在拥塞,根据第二链路承载的流量所属的多个应用分别支持的调度策略,确定针对第二链路上的至少一个应用的流量的第二调度策略;确定第一调度策略和第二调度策略涉及的链路;根据涉及的链路的流量数据,确定第一调度策略和第二调度策略执行后涉及的链路是否会拥塞;
生成单元903,用于响应于涉及的链路不会拥塞,基于第一调度策略生成第一调度策略指令,基于第二调度策略生成第二调度策略指令。
可选地,该确定单元901,还用于在应用第一调度策略前,确定采用第一调度策略进行流量调度后的预期收益;在应用第一调度策略后,确定实际收益;响应于第三链路存在拥塞,基于预期收益和实际收益确定第三调度策略。
可选地,生成单元903,用于根据多个应用的流量数据生成各个应用的流量画像;
该装置还包括:调整单元904,用于根据各个应用的流量画像,调整各个应用和管道的映射关系,管道包括隧道和队列中的至少一个。
可选地,生成单元903,用于获取采用多种分组方式对多个应用进行分组之后得到的每种分组方式下各组的流量画像,每组包括至少一个应用;
调整单元904,用于根据各组的流量画像,调整多个各个和管道的映射关系,管道包括隧道和队列中的至少一个。
示例性地,确定单元由图14中的控制调度模块、管道管理模块、无损优化模块、有损优化模块和链路管理模块共同实现,应用单元可以集成在控制调度模块中。
需要说明的是,上述实施例提供的调度策略的确定装置在进行调度策略确定时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的调度策略的确定装置与调度策略的确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图16示出了本申请实施例提供的控制设备或网络设备150的结构示意图。图16所示的控制设备或网络设备150用于执行上述图3至图14任一幅所示的调度策略的确定方法所涉及的操作。该控制设备或网络设备150可以由一般性的总线体系结构来实现。
如图16所示,控制设备或网络设备150包括至少一个处理器151、存储器153以及至少一个通信接口154。
处理器151例如是通用中央处理器(central processing unit,CPU)、数字信号处理器 (digital signal processor,DSP)、网络处理器(network processer,NP)、数据处理单元 (Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器151包括专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,控制设备或网络设备150还包括总线。总线用于在控制设备或网络设备150的各组件之间传送信息。总线可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器153例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器153例如是独立存在,并通过总线与处理器151相连接。存储器153也可以和处理器151集成在一起。
通信接口154使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN) 等。通信接口154可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口 154可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(Gigabit Ethernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口154可以用于控制设备或网络设备150与其他设备进行通信。
在具体实现中,作为一种实施例,处理器151可以包括一个或多个CPU,如图16中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,控制设备或网络设备150可以包括多个处理器,如图 16中所示的处理器151和处理器155。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,控制设备或网络设备150还可以包括输出设备和输入设备。输出设备和处理器151通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二极管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器151通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器153用于存储执行本申请方案的程序代码1510,处理器151可以执行存储器153中存储的程序代码1510。也即是,控制设备或网络设备150可以通过处理器151执行存储器153中的程序代码1510,来实现方法实施例提供的数据处理方法。程序代码1510中可以包括一个或多个软件模块。可选地,处理器151自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的控制设备或网络设备150可对应于上述各个方法实施例中的控制器,控制设备或网络设备150中的处理器151读取存储器153中的指令,使图16 所示的控制设备或网络设备150能够执行控制器所执行的全部或部分操作。
具体的,处理器151用于响应于第一链路存在拥塞,根据所述第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对所述第一链路上的至少一个应用的流量的第一调度策略;应用所述第一调度策略。
其他可选的实施方式,为了简洁,在此不再赘述。
其中,图3至图14任一幅所示的调度策略的确定方法的各步骤通过控制设备或网络设备150的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器。输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连。处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述任一种的调度策略的确定方法。
应理解的是,上述处理器可以是CPU,还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持ARM架构的处理器。
进一步地,在一种可选的实施例中,上述处理器为一个或多个,存储器为一个或多个。可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储参考块和目标块。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、PROM、EPROM、EEPROM或闪存。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM 可用。例如,SRAM、DRAM、SDRAM、DDR SDRAM、ESDRAM、SLDRAM和DR RAM。
本申请实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中存储的计算机指令被控制设备执行时,使得控制设备执行上述所提供的调度策略的确定方法。
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在控制设备上运行时,使得控制设备执行上述所提供的调度策略的确定方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
除非另作定义,此处使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请专利申请说明书以及权利要求书中使用的“第一”、“第二”、“第三”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的元件或者物件及其等同,并不排除其他元件或者物件。
以上仅为本申请一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (25)
1.一种调度策略的确定方法,其特征在于,所述方法包括:
响应于第一链路存在拥塞,根据所述第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对所述多个应用中的至少一个应用的流量的第一调度策略;
应用所述第一调度策略。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对所述第一链路上的至少一个应用的流量的第一调度策略,包括:
响应于存在支持无损调度策略的应用,根据支持所述无损调度策略的应用所支持的调度策略,确定所述第一调度策略。
3.根据权利要求2所述的方法,其特征在于,所述根据支持所述无损调度策略的应用所支持的调度策略,确定所述第一调度策略,包括:
响应于支持所述无损调度策略的应用的数量为一个,确定所述第一调度策略为支持所述无损调度策略的应用所支持的调度策略;或,响应于支持所述无损调度策略的应用的数量为多个,确定所述第一调度策略包括支持所述无损调度策略的应用中的至少一个应用所支持的调度策略。
4.根据权利要求3所述的方法,其特征在于,所述确定所述第一调度策略包括支持所述无损调度策略的应用中的至少一个应用所支持的调度策略,包括:
对支持所述无损调度策略的应用及应用支持的调度策略进行组合,得到至少一种策略组合,每种策略组合对应针对至少一个应用的调度策略;
确定采用所述至少一种策略组合中的各个策略组合对应的调度策略进行调度时是否能够解决所述第一链路的拥塞;
响应于存在能解决所述第一链路的拥塞的策略组合,从能解决所述第一链路的拥塞的策略组合中选择策略组合,所述第一调度策略包括选出的策略组合对应的调度策略。
5.根据权利要求4所述的方法,其特征在于,所述确定采用所述至少一种策略组合中的各个策略组合对应的调度策略进行调度时是否能够解决所述第一链路的拥塞,包括:
基于预测的流量数据和第一策略组合对应的调度策略,判断所述第一策略组合对应的调度策略是否能够解决所述第一链路的拥塞,所述第一策略组合为所述至少一种策略组合中的任一个。
6.根据权利要求5所述的方法,其特征在于,所述基于预测的流量数据和第一策略组合对应的调度策略,判断所述第一策略组合对应的调度策略是否能够解决所述第一链路的拥塞,包括:
基于所述多个应用的流量画像预测各个应用的流量数据;
基于所述第一策略组合对应的调度策略和预测的所述各个应用的流量数据,确定所述第一链路预期承载的流量值;
基于所述第一链路预期承载的流量值判断所述第一链路是否拥塞。
7.根据权利要求4至6任一项所述的方法,其特征在于,所述从能解决拥塞所述第一链路的拥塞的策略组合中选择策略组合,包括:
基于应用的优先级和应用需求中的至少一项,从能解决拥塞所述第一链路的拥塞的策略组合中选择策略组合。
8.根据权利要求2至7任一项所述的方法,其特征在于,所述根据所述第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对所述第一链路上的至少一个应用的流量的第一调度策略,还包括:
响应于不存在支持所述无损调度策略的应用,根据支持有损调度策略的应用所支持的调度策略,确定所述第一调度策略。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
确定所述第一调度策略涉及的链路;
根据所述第一调度策略涉及的链路的流量数据,确定所述第一调度策略执行后所述第一调度策略涉及的链路是否会拥塞;
响应于所述第一调度策略涉及的链路不会拥塞,基于所述第一调度策略生成第一调度策略指令。
10.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
响应于第二链路存在拥塞,根据所述第二链路承载的流量所属的多个应用分别支持的调度策略,确定针对所述第二链路上的至少一个应用的流量的第二调度策略;
确定所述第一调度策略和所述第二调度策略涉及的链路;
根据所述涉及的链路的流量数据,确定所述第一调度策略和所述第二调度策略执行后所述涉及的链路是否会拥塞;
响应于所述涉及的链路不会拥塞,基于所述第一调度策略生成第一调度策略指令,基于所述第二调度策略生成第二调度策略指令。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:
在应用所述第一调度策略前,确定采用所述第一调度策略进行流量调度后的预期收益;
在应用所述第一调度策略后,确定实际收益;
响应于第三链路存在拥塞,基于所述预期收益和所述实际收益确定第三调度策略。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述方法还包括:
根据所述多个应用的流量数据生成各个应用的流量画像;
根据所述各个应用的流量画像,调整所述各个应用和管道的映射关系,所述管道包括隧道和队列中的至少一个。
13.根据权利要求1至11任一项所述的方法,其特征在于,所述方法还包括:
获取采用多种分组方式对所述多个应用进行分组之后得到的每种分组方式下各组的流量画像,每组包括至少一个应用;
根据所述各组的流量画像,调整所述多个应用和管道的映射关系,所述管道包括隧道和队列中的至少一个。
14.一种调度策略的确定装置,其特征在于,所述装置包括:
确定单元,用于响应于第一链路存在拥塞,根据所述第一链路承载的流量所属的多个应用分别支持的调度策略,确定针对所述第一链路上的至少一个应用的流量的第一调度策略;
应用单元,用于应用所述第一调度策略。
15.根据权利要求14所述的装置,其特征在于,所述确定单元用于:
响应于存在支持无损调度策略的应用,根据支持所述无损调度策略的应用所支持的调度策略,确定所述第一调度策略。
16.根据权利要求15所述的装置,其特征在于,所述确定单元用于:
响应于支持所述无损调度策略的应用的数量为一个,确定所述第一调度策略为支持所述无损调度策略的应用所支持的调度策略;或,响应于支持所述无损调度策略的应用的数量为多个,确定所述第一调度策略包括支持所述无损调度策略的应用中的至少一个应用所支持的调度策略。
17.根据权利要求16所述的装置,其特征在于,所述确定单元用于:
对支持所述无损调度策略的应用及应用支持的调度策略进行组合,得到至少一种策略组合,每种策略组合对应针对至少一个应用的调度策略;
确定采用所述至少一种策略组合中的各个策略组合对应的调度策略进行调度时是否能够解决所述第一链路的拥塞;
响应于存在能解决所述第一链路的拥塞的策略组合,从能解决所述第一链路的拥塞的策略组合中选择策略组合,所述第一调度策略包括选出的策略组合对应的调度策略。
18.根据权利要求14至17任一项所述的装置,其特征在于,所述确定单元用于:
确定所述第一调度策略涉及的链路;
根据所述第一调度策略涉及的链路的流量数据,确定所述第一调度策略执行后所述第一调度策略涉及的链路是否会拥塞;
响应于所述第一调度策略涉及的链路不会拥塞,基于所述第一调度策略生成第一调度策略指令。
19.根据权利要求14至17任一项所述的装置,其特征在于,所述确定单元用于:
响应于第二链路存在拥塞,根据所述第二链路承载的流量所属的多个应用分别支持的调度策略,确定针对所述第二链路上的至少一个应用的流量的第二调度策略;
确定所述第一调度策略和所述第二调度策略涉及的链路;
根据所述涉及的链路的流量数据,确定所述第一调度策略和所述第二调度策略执行后所述涉及的链路是否会拥塞;
响应于所述涉及的链路不会拥塞,基于所述第一调度策略生成第一调度策略指令,基于所述第二调度策略生成第二调度策略指令。
20.根据权利要求14至19任一项所述的装置,其特征在于,所述确定单元用于:
在应用所述第一调度策略前,确定采用所述第一调度策略进行流量调度后的预期收益;
在应用所述第一调度策略后,确定实际收益;
响应于第三链路存在拥塞,基于所述预期收益和所述实际收益确定第三调度策略。
21.根据权利要求14至20任一项所述的装置,其特征在于,所述装置还包括生成单元和调整单元,
所述生成单元,用于根据所述多个应用的流量数据生成各个应用的流量画像;
所述调整单元,用于根据所述各个应用的流量画像,调整所述各个应用和管道的映射关系,所述管道包括隧道和队列中的至少一个。
22.根据权利要求14至20任一项所述的装置,其特征在于,所述装置还包括生成单元和调整单元,
所述生成单元,用于获取采用多种分组方式对所述多个应用进行分组之后得到的每种分组方式下各组的流量画像,每组包括至少一个应用;
所述调整单元,用于根据所述各组的流量画像,调整所述多个应用和管道的映射关系,所述管道包括隧道和队列中的至少一个。
23.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储软件程序,所述处理器通过运行或执行存储在所述存储器内的软件程序,以使所述电子设备实现如权利要求1至13任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储处理器所执行的程序代码,所述程序代码包括用于实现如权利要求1至13任一项所述的方法的指令。
25.一种计算机程序产品,其特征在于,包括程序代码,当计算机运行所述计算机程序产品时,使得所述计算机执行如权利要求1至13任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215235.3A CN117812014A (zh) | 2022-09-30 | 2022-09-30 | 调度策略的确定方法及相关装置 |
PCT/CN2023/105128 WO2024066623A1 (zh) | 2022-09-30 | 2023-06-30 | 调度策略的确定方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215235.3A CN117812014A (zh) | 2022-09-30 | 2022-09-30 | 调度策略的确定方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117812014A true CN117812014A (zh) | 2024-04-02 |
Family
ID=90418969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211215235.3A Pending CN117812014A (zh) | 2022-09-30 | 2022-09-30 | 调度策略的确定方法及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117812014A (zh) |
WO (1) | WO2024066623A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052681B (zh) * | 2014-06-25 | 2018-09-21 | 中国联合网络通信集团有限公司 | 流量控制方法和装置 |
US9614770B2 (en) * | 2014-07-21 | 2017-04-04 | Cisco Technology, Inc. | Network traffic control during limited power situations |
CN111314236A (zh) * | 2020-04-14 | 2020-06-19 | 杭州迪普科技股份有限公司 | 报文转发方法及装置 |
CN114051001A (zh) * | 2021-11-10 | 2022-02-15 | 中国电信股份有限公司 | 流量数据处理方法及装置、存储介质及电子设备 |
-
2022
- 2022-09-30 CN CN202211215235.3A patent/CN117812014A/zh active Pending
-
2023
- 2023-06-30 WO PCT/CN2023/105128 patent/WO2024066623A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024066623A1 (zh) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9705783B2 (en) | Techniques for end-to-end network bandwidth optimization using software defined networking | |
US11310152B2 (en) | Communications network management | |
CN110177054B (zh) | 一种端口队列调度方法、装置、网络控制器及存储介质 | |
US20240064105A1 (en) | Management of traffic over a communication channel | |
US10721744B2 (en) | Resource reallocation | |
US11190437B2 (en) | Methods, apparatus and computer programs for allocating traffic in a telecommunications network | |
CN108476175B (zh) | 使用对偶变量的传送sdn流量工程方法与系统 | |
CN109088822B (zh) | 数据流量转发方法、装置、系统、计算机设备及存储介质 | |
US11456959B2 (en) | Sampling node and a method performed thereby for handling flows through a SDN between client(s) and origin server(s) of a communication network | |
CA2959495C (en) | Improved network utilization in policy-based networks | |
US9674093B2 (en) | Method and apparatus for ripple rate sensitive and bottleneck aware resource adaptation for real-time streaming workflows | |
CN117812014A (zh) | 调度策略的确定方法及相关装置 | |
CN115277504B (zh) | 一种网络流量监控方法、装置和系统 | |
US12003405B2 (en) | High latency link determining method, routing advertisement method, and apparatus | |
CN112866146A (zh) | 端到端带宽调整方法、系统、电子设备及存储介质 | |
CN109391521B (zh) | 一种网络流量监测方法及网络设备 | |
EP3881494B1 (en) | Technique for selecting a transport configuration for a data network | |
CN115460150A (zh) | 通信方法、设备及系统 | |
KR20160139591A (ko) | 라우팅 방법 및 그 장치 | |
CN116418761A (zh) | 带宽推荐方法及装置、显示装置、控制设备 | |
CN115174480A (zh) | 一种负载均衡方法、装置、设备及可读存储介质 | |
WO2021093509A1 (zh) | 流量分配方法及装置 | |
CN118246665A (zh) | 业务处理方法、装置及存储介质 | |
JP2021164103A (ja) | ネットワーク通信支援システム及び方法 | |
CN117978755A (zh) | 一种质量安全融合优化提升的数据通信方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |