CN114338545A - 流量整形方法及装置 - Google Patents
流量整形方法及装置 Download PDFInfo
- Publication number
- CN114338545A CN114338545A CN202011063588.7A CN202011063588A CN114338545A CN 114338545 A CN114338545 A CN 114338545A CN 202011063588 A CN202011063588 A CN 202011063588A CN 114338545 A CN114338545 A CN 114338545A
- Authority
- CN
- China
- Prior art keywords
- queue
- message
- queues
- packet
- flow
- 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
- 238000007493 shaping process Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012545 processing Methods 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 25
- 238000010586 diagram Methods 0.000 description 31
- 238000013461 design Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 241000135164 Timea Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 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
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/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
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/621—Individual queue per connection or flow, e.g. per VC
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种流量整形方法及装置。包括:报文标记装置接收第一报文,所述报文标记装置确定所述第一报文的入队队列,所述报文标记装置将所述第一报文的队列标识标记为所述第一报文的入队队列的队列标识后发送至报文输出装置,用于所述报文输出装置根据所述第一报文的队列标识将所述第一报文发送至对应的队列输出。从而,可实现流量整形后报文输出时间确定。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种流量整形方法及装置。
背景技术
确定性网络是一项帮助实现IP网络从“尽力而为”到“准时、准确、快速”,控制并降低端到端时延的技术,确定性网络是当前的业界热点,确定性网络的需求来自于工业互联网、智能工厂、可编程逻辑控制器(Programmable Logic Controller,PLC)拉远和云化等,也来自于增强现实(Augmented Reality,AR)/虚拟现实(Virtual Reality,VR)实时交互、远程手术、触觉互联网等远程实时业务,其核心在于保证业务流的端到端带宽、时延和抖动。流量整形(traffic shaping)是一种主动调整流量输出速率的措施,其典型作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度向外发送。一般地,在确定性网络中,报文从发送设备到接收设备的传输路径上,有入网关(ingress GateWay,iGW)、路由器和出网关等设备,报文到达入网关后,iGW需要对接收到的流量进行整形,确定性网络中对iGW上的整形要求是:在iGW上进行流量整形后的流量的突发量(burst)小于或等于Bi*T字节,即整形后iGW按照每条流每T周期字节数不超过Bi*T的方式发送,其中Bi代表每条流服务等级协议规定的带宽。
现有技术中常通过逐流运行漏桶算法和流间调度实现流量整形,其中,该方法具体为:每条流维护一个队列,对于每一队列而言,队列中的报文以固定的速率经过漏桶出队,若队列中有剩余的缓存空间,后续的报文就可以入队,否则丢弃后续的报文。在不止一条流时,若多条流同时有经过漏桶出队的报文,即多个队列同时有报文出队,此时出队的报文需要经过调度才能到达输出端口。
但是上述流量整形方法中,当多条流同时有经过漏桶出队的报文而需要调度时,存在某些报文无法立刻到达输出端口,需要等待一段时间,这个时间称为调度延迟,调度延迟会造成报文的输出时间不确定。
发明内容
本申请提供一种流量整形方法及装置,可实现流量整形后报文输出时间确定。
第一方面,本申请提供一种流量整形方法,包括:报文标记装置接收第一报文,接着确定第一报文的入队队列,然后将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置,用于报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。
通过第一方面提供的流量整形方法,通过报文标记装置接收到第一报文后,确定第一报文的入队队列,然后将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置,由报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。由于报文从不同队列输出,不同队列开启的时间是已知的,因此报文输出时间是确定的,从而可实现报文输出时间是确定的。
在一种可能的设计中,报文标记装置确定第一报文的入队队列,可以为:报文标记装置根据第一报文到达的时刻,确定第一报文可入的队列,接着报文标记装置从第一报文可入的队列中确定出第一报文的入队队列,入队队列为一组门控队列中的一个队列,一组门控队列包括N个队列,N个队列中每个队列一次持续开启的时间为T,N个队列按照预设的顺序循环开启,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和,N为大于1的正整数,i为正整数。
通过本实施方式提供的流量整形方法,报文标记装置先根据第一报文到达的时刻,确定第一报文可入的队列,然后从第一报文可入的队列中确定出第一报文的入队队列,入队队列为一组门控队列中的一个队列,通过利用一组定时开关轮转的门控队列,一组门控队列包括N个队列,N个队列中每个队列持续开启的时间为T,由于报文从门控队列的不同队列输出,门控队列中不同队列开启的时间是已知的,因此报文输出时间是确定的,即报文输出时间是已知的。而且,由于N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,小于或等于第一阈值与流i的最大报文长度之和,即就是控制每条流i在每周期T内的发送字节数小于或等于第一阈值,或者,控制每条流i在每周期T内的发送字节数小于或等于第一阈值与流i的最大报文长度之和,从而可保证整形精度较好,满足确定性网络的整形要求。
在一种可能的设计中,报文标记装置根据第一报文到达的时刻,确定第一报文可入的队列,可以为:报文标记装置根据第一报文到达的时刻、报文从报文标记装置发送到报文输出装置所需的最大传输时长tmax、报文从报文标记装置发送到报文输出装置所需的最小传输时长tmin,确定第一报文可入的队列。
在一种可能的设计中,报文标记装置根据第一报文到达的时刻、报文从报文标记装置发送到报文输出装置所需的最大传输时长tmax、报文从报文标记装置发送到报文输出装置所需的最小传输时长tmin,确定第一报文可入的队列,可以为:
报文标记装置根据第一报文到达的时刻t0和tmax,计算第一报文到达报文输出装置的最晚时刻t1=t0+tmax,并根据第一报文到达的时刻t0和tmin,计算第一报文到达报文输出装置的最早时刻t1’=t0+tmin,报文标记装置根据t1时刻处于开启状态的第一队列和t1’时刻处于开启状态的第二队列,确定第一报文可入的队列。
在一种可能的设计中,报文标记装置根据t1时刻处于开启状态的第一队列和t1’时刻处于开启状态的第二队列,确定第一报文可入的队列,可以为:
若第一队列和第二队列为同一队列,报文标记装置确定第一报文可入的队列为一组门控队列中除第一队列之外的N-1个队列,或者,
若第一队列和第二队列是相邻的两个队列,报文标记装置确定第一报文可入的队列一组门控队列中除第一队列和第二队列之外的N-2个队列,或者,
若第一队列与第二队列之间有J个队列,报文标记装置确定第一报文可入的队列为一组门控队列中除第一队列、第二队列和第一队列与第二队列之间的J个队列之外的N-J-2个队列。
在一种可能的设计中,报文标记装置从第一报文可入的队列中确定出第一报文的入队队列,可以为:
报文标记装置确定第一条流在所述第一报文可入的队列中的未输出的报文的总长度Badd小于第一条流在第一报文可入的队列中的最大缓存量B,第一条流为第一报文所属的流,或者,报文标记装置确定Badd与第一报文之和小于或等于B,接着报文标记装置根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列。
在一种可能的设计中,报文标记装置根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列,可以为:
若Badd大于或等于M-1倍的第一阈值且小于M倍的第一阈值,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第M个队列,M为大于或等于1的正整数。
在一种可能的设计中,报文标记装置根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列,可以为:
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度小于第一阈值,报文标记装置确定第一报文的入队队列为第一队列之后的第一个队列;
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度大于或等于第一阈值,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,K为大于或等于2的正整数,第K个队列当前已入队报文的总长度小于第一阈值。
在一种可能的设计中,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,可以为:
报文标记装置从第一队列之后的第二个队列开始,从第一报文可入的队列中确定出当前已入队第一条流的报文的总长度小于第一阈值的第一个队列,将当前已入队第一条流的报文的总长度小于第一阈值的第一个队列确定为第K个队列。
在一种可能的设计中,报文标记装置根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列,可以为:
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值,报文标记装置确定第一报文的入队队列为第一队列之后的第一个队列;
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度与第一报文的长度之和大于第一阈值,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,K为大于或等于2的正整数,第K个队列当前已入队报文的总长度与第一报文的长度之和小于第一阈值。
在一种可能的设计中,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,可以为:报文标记装置从第一队列之后的第二个队列开始,从第一报文可入的队列中确定出当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值的第一个队列,将当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值的第一个队列确定为第K个队列。
在一种可能的设计中,方法还包括:报文标记装置确定Badd大于或等于B,或者,报文标记装置确定Badd与第一报文之和大于B,丢弃第一报文。
在一种可能的设计中,报文标记装置将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置之后,方法还包括:报文标记装置将Badd加上第一报文的长度,报文标记装置确定第一报文的第一个可入队列与第一报文的上一个报文的第一个可入队列不同时,将Badd减去第一阈值,报文标记装置确定Badd小于第一阈值时,将Badd置零。
本实施方式中,通过报文标记装置将Badd加上第一报文的长度,实现了Badd的累加,报文标记装置确定第一报文的第一个可入队列与第一报文的上一个报文的第一个可入队列不同时,将Badd减去第一阈值,报文标记装置确定Badd小于第一阈值时,将Badd置零,便于进行后续报文的入队或丢弃的判断。
在一种可能的设计中,第一阈值为Bi*T,Bi为第一条流的带宽,第一条流为第一报文所属的流。
第二方面,本申请提供一种流量整形方法,包括:
报文输出装置接收第一报文,第一报文携带队列标识,队列标识为第一报文的入队队列的队列标识;
报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。
通过第二方面提供的流量整形方法,通过报文输出装置接收到第一报文后,第一报文携带第一报文的入队队列的队列标识,报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。由于报文从不同队列输出,不同队列开启的时间是已知的,因此报文输出时间是确定的,从而可实现报文输出时间是确定的。
在一种可能的设计中,第一报文的入队队列为一组门控队列中的一个队列,一组门控队列包括N个队列,N个队列中每个队列一次持续开启的时间为T,N个队列按照预设的顺序循环开启,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与流的最大报文长度之和,N为大于1的正整数,i为正整数。
在一种可能的设计中,第一阈值为Bi*T,Bi为第一条流的带宽,第一条流为第一报文所属的流。
第三方面,本申请提供一种流量整形装置,包括:
接收模块,用于接收第一报文;
确定模块,用于确定第一报文的入队队列;
发送模块,用于将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置,用于报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。
在一种可能的设计中,确定模块包括:
确定单元,用于根据第一报文到达的时刻,确定第一报文可入的队列;
处理单元,用于从第一报文可入的队列中确定出第一报文的入队队列,入队队列为一组中的一个队列,一组包括N个队列,N个队列中每个队列一次持续开启的时间为T,N个队列按照预设的顺序循环开启,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和,N为大于1的正整数,i为正整数。
在一种可能的设计中,确定单元用于:
根据第一报文到达的时刻、报文从报文标记装置发送到报文输出装置所需的最大传输时长tmax、报文从报文标记装置发送到报文输出装置所需的最小传输时长tmin,确定第一报文可入的队列。
在一种可能的设计中,确定单元用于:
根据第一报文到达的时刻t0和tmax,计算第一报文到达报文输出装置的最晚时刻t1=t0+tmax,并根据第一报文到达的时刻t0和tmin,计算第一报文到达报文输出装置的最早时刻t1’=t0+tmin;
根据t1时刻处于开启状态的第一队列和t1’时刻处于开启状态的第二队列,确定第一报文可入的队列。
在一种可能的设计中,确定单元用于:
若第一队列和第二队列为同一队列,确定第一报文可入的队列为一组门控队列中除第一队列之外的N-1个队列,或者,
若第一队列和第二队列是相邻的两个队列,确定第一报文可入的队列一组门控队列中除第一队列和第二队列之外的N-2个队列,或者,
若第一队列与第二队列之间有J个队列,确定第一报文可入的队列为一组门控队列中除第一队列、第二队列和第一队列与第二队列之间的J个队列之外的N-J-2个队列。
在一种可能的设计中,处理单元用于:
确定第一条流在所述第一报文可入的队列中的未输出的报文的总长度Badd小于第一条流在第一报文可入的队列中的最大缓存量B,第一条流为第一报文所属的流,或者,确定Badd与第一报文之和小于或等于B;
根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列。
在一种可能的设计中,处理单元用于:
若Badd大于或等于M-1倍的第一阈值且小于M倍的第一阈值,确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第M个队列,M为大于或等于1的正整数。
在一种可能的设计中,处理单元用于:
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度小于第一阈值,确定第一报文的入队队列为第一队列之后的第一个队列;
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度大于或等于第一阈值,确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,K为大于或等于2的正整数,第K个队列当前已入队报文的总长度小于第一阈值。
在一种可能的设计中,处理单元具体用于:
从第一队列之后的第二个队列开始,从第一报文可入的队列中确定出当前已入队第一条流的报文的总长度小于第一阈值的第一个队列,将当前已入队第一条流的报文的总长度小于第一阈值的第一个队列确定为第K个队列。
在一种可能的设计中,处理单元用于:
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值,确定第一报文的入队队列为第一队列之后的第一个队列;
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度与第一报文的长度之和大于第一阈值,确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第M个队列,M为大于1的正整数,第M个队列当前已入队报文的总长度与第一报文的长度之和小于第一阈值。
在一种可能的设计中,处理单元具体用于:
从第一队列之后的第二个队列开始,从第一报文可入的队列中确定出当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值的第一个队列,将当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值的第一个队列确定为第M个队列。
在一种可能的设计中,处理单元还用于:
确定Badd大于或等于B,或者,确定Badd与第一报文之和大于B,丢弃第一报文。
在一种可能的设计中,处理单元还用于:
将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置之后,将Badd加上第一报文的长度;
确定第一报文的第一个可入队列与第一报文的上一个报文的第一个可入队列不同时,将Badd减去第一阈值;
确定Badd小于第一阈值时,将Badd置零。
在一种可能的设计中,第一阈值为Bi*T,Bi为第一条流的带宽,第一条流为第一报文所属的流。
上述第三方面以及上述第三方面的各可能的设计中所提供的流量整形装置,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第四方面,本申请提供一种流量整形装置,包括:
接收模块,用于接收第一报文,第一报文携带队列标识,队列标识为第一报文的入队队列的队列标识;
处理模块,用于根据第一报文的队列标识将第一报文发送至对应的队列输出。
在一种可能的设计中,
第一报文的入队队列为一组门控队列中的一个队列,一组门控队列包括N个队列,N个队列中每个队列一次持续开启的时间为T,N个队列按照预设的顺序循环开启,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和,N为大于1的正整数,i为正整数。
在一种可能的设计中,第一阈值为Bi*T,Bi为第一条流的带宽,第一条流为第一报文所属的流。
上述第四方面以及上述第四方面的各可能的设计中所提供的流量整形装置,其有益效果可以参见上述第二方面和第二方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第五方面,本申请提供一种流量整形装置,包括:
处理器,用于执行存储器中存储的程序,当程序被执行时,使得装置执行第一方面及第一方面任一种可能的设计中或第二方面及第二方面任一种可能的设计中的流量整形方法。
第六方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当流量整形装置的至少一个处理器执行该执行指令时,流量整形装置执行第一方面及第一方面任一种可能的设计中的流量整形方法。
附图说明
图1为可应用本申请实施例提供的流量整形方法的一种通信系统的架构示意图;
图2为本申请提供的一种流量整形方法实施例的流程图;
图3为本申请提供的一种门控队列的开启和关闭示意图;
图4为门控队列中每个队列开启的时间对应于时间轴上的某个周期的示意图;
图5为本申请实施例提供的一种确定第一报文可入的队列的示意图;
图6为本申请实施例中一种t1时刻处于开启状态的第一队列的示意图;
图7为本申请实施例中一种t1’时刻处于开启状态的第二队列的示意图;
图8为本申请实施例中另一种t1时刻处于开启状态的第一队列的示意图;
图9为本申请实施例中另一种t1’时刻处于开启状态的第二队列的示意图;
图10为本申请实施例提供的一种第一报文被丢弃时的示意图;
图11为本申请实施例提供的一种确定出第一报文的入队队列后的示意图;
图12为本申请提供的一种流量整形方法实施例的流程图;
图13为报文经报文标记装置处理后发送至报文输出装置的过程示意图;
图14为一种报文在确定的时间内输出的示意图;
图15为本申请提供的一种流量整形装置实施例的结构示意图;
图16为本申请提供的一种流量整形装置实施例的结构示意图;
图17为本申请提供的一种流量整形装置实施例的结构示意图;
图18为本申请提供的一种流量整形装置的结构示意图。
具体实施方式
本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明,本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或方案不应被解释为比其它实施例或方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请实施例主要涉及确定性网络的流量整形技术,流量整形是一种主动调整流量输出速率的措施,流量整形典型作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度向外发送,流量整形通过减少外出流量的速率来强迫流量遵循某种带宽的分配限制。
本申请实施例可应用于确定性网络,确定性网络的核心在于要保证业务流的端到端带宽、时延和抖动,确定性网络中对iGW上的整形要求是:在iGW上进行流量整形后的流量的突发量(burst)小于或等于Bi*T字节,Bi代表每条流i服务等级协议规定的带宽。本申请实施例可应用于平均速率较低、突发度较大的流量,经过本申请提供的流量整形方法后接入确定性网络,以实现确定性时延,“确定性时延”指报文在服从预设突发性要求的前提下,报文传输所经历的时延及抖动满足规定的上限。
现有技术中通过逐流运行漏桶算法和流间调度实现流量整形,该方法存在的问题是:调度延迟会造成报文的输出时间不确定。本申请提供一种流量整形方法及装置,通过利用一组定时开关轮转的门控队列,一组门控队列包括N个队列,N个队列中每个队列持续开启的时间为T,报文标记装置接收到一个报文后,先确定该报文的入队队列,然后将该报文标记该报文的入队队列的队列标识后发送至报文输出装置,由报文输出装置根据报文的队列标识将报文发送至对应的队列输出,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,小于或等于第一阈值与流i的最大报文长度之和,由于报文从门控队列的不同队列输出,门控队列中不同队列开启的时间是已知的,因此报文输出时间是确定的,即报文输出时间是已知的。
另外,由于现有技术中的流量整形方法为了实现高性能,对报文的处理不是逐包处理,而是批量处理,因此会造成突发,当平均速率较低的报文经过上述方法整形后,流量的突发量会超过每周期允许发送的字节数Bi*T,整形精度较差,不满足确定性网络的整形要求。本申请中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,每个队列每条流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和,即就是控制每条流i在每周期T内的发送字节数小于或等于第一阈值,或者,控制每条流i在每周期T内的发送字节数小于或等于第一阈值与流i的最大报文长度之和,第一阈值可以为Bi*T,从而可保证整形精度较好,满足确定性网络的整形要求。
下面结合附图详细说明本申请提供的流量整形方法及装置。
图1为可应用本申请实施例提供的流量整形方法的一种通信系统的架构示意图,如图1所示,通信系统可以包括基站11(Base Station,BS)、基站网关(Cell Site Gateway,CSG)12、汇聚网关(Aggregation Site Gateway,ASG)13和移动边缘计算(Mobile EdgeComputing,MEC)服务器14,每个变电站通过数据传输单元(Data Transfer unit,DTU)连接BS,例如,每个BS连接两个DTU,每个BS通过CSG接入网络,其中,多个CSG组成CSG环,每个ASG可以接入n个CSG环。例如,一个CSG环由20个CSG组成,CSG环接入到ASG,例如,每个ASG可以接入20个CSG环。BS向MEC传输数据时,BS发送的报文经过CSG环到达ASG,流量在ASG上经过一跳即到达MEC。BS为CSG的上游设备,CSG可以称为入口网关,BS向CSG发送报文,当发生流量瞬时增大或瞬时减小时,会导致报文传输速率不均匀,此时需要对流量进行整形,具体可以是在每个CSG上进行流量整形,可以将执行本申请提供的流量整形方法的装置设置在每个CSG上,从而在CSG上进行流量整形,例如本申请实施例提供的报文标记装置和报文输出装置可以设置在每个CSG上,从而在CSG上通过报文标记装置和报文输出装置进行流量整形。
图1所示的通信系统仅是一种示例,本申请不以此为限。
本申请实施例提供的流量整形方法的执行主体可以是路由器或交换机等网络设备,具体可以是入口网关或运营商边缘(Provider Edge,PE)路由器。下文中所示的报文标记装置和报文输出装置可以是设置在入口网关或PE路由器中。可选的,报文标记装置可以是网络处理器(Network Processor,NP),报文输出装置可以是流量管理器,报文标记装置和报文输出装置还可以是不同的硬件模块,报文标记装置和报文输出装置可以部署在同一设备上,也可以分别部署在相连接的上一跳网络设备和下一跳网络设备上。
图2为本申请提供的一种流量整形方法实施例的流程图,如图2所示,本实施例的方法可以包括:
S101、报文标记装置接收第一报文。
具体来说,第一设备可以是接收第一设备的上游设备发送的第一报文,报文标记装置可以是在某一时刻接收一个报文,还可以是在某一时刻接收一包报文,第一报文为一包报文中的一个,报文标记装置按照报文到达时刻的先后顺序,逐流逐个报文执行S102-S103的方法进行处理。
S102、报文标记装置确定第一报文的入队队列。
具体地,第一报文的入队队列为一组门控队列中的一个队列,具体来说,本申请实施例中的一组门控队列包括N个队列,图3为本申请提供的一种门控队列的开启和关闭示意图,如图3所示,一组门控队列包括N个队列,N个队列例如为Q0、Q1、Q2、Q3、Q4、……QN-1,N个队列中每个队列持续开启的时间为T,N个队列中任意时刻只有一个队列开启,其余队列关闭,如图3中所示某一时刻队列Q1开启,其余队列Q0、Q2、Q3、Q4、……QN-1关闭,N个队列按照预设的顺序开启,例如,N个队列按照第一个队列至第N个队列的自然顺序循环开启,每个队列的开启时间结束之后,关闭本队列,并打开下一个队列,图4为门控队列中每个队列开启的时间对应于时间轴上的某个周期的示意图,如图4所示,N个队列按照Q0、Q1、Q2、Q3、Q4、……QN-1的顺序开启,QN-1开启T时长关闭后接着Q0开启。其中,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,例如,N个队列中每个队列入队的报文总长度等于第一阈值,或者为第一阈值减1字节,或者为第一阈值减2字节,等等。或者,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和,i为正整数,例如,对于流i而言,每个队列流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和。可选的,第一阈值可以为Bi*T,Bi为第一报文所属的流的带宽。本申请实施例中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,每个队列每条流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和,即就是控制每条流i在每周期T内的发送字节数小于或等于第一阈值,或者,控制每条流i在每周期T内的发送字节数小于或等于第一阈值与流i的最大报文长度之和,从而可保证整形精度较好,满足确定性网络的整形要求。
本申请实施例中的门控队列可以是每个输出端口部署一组门控队列,也可以是所有输出端口共享一组门控队列。输出端口可以是入口网关或PE路由器等设备上的输出端口。
作为一种可实施的方式,S102可以为:
S1021、报文标记装置根据第一报文到达的时刻,确定第一报文可入的队列。
其中,第一报文到达的时刻是指第一报文到达报文标记装置的时刻。具体来说,若第一报文在t时刻入队,第一报文不能进入t时刻处于开启状态的队列,例如t时刻处于开启状态的队列为Qx,则第一报文不能入Qx,因为若第一报文入队列Qx,Qx在关闭之前该第一报文可能来不及发送。报文标记装置需要先确定出第一报文可入的队列,即当前可以入队的队列,然后再从第一报文可入的队列中确定出最终的入队队列,具体地,报文标记装置可以是根据第一报文到达的时刻、报文从报文标记装置发送到报文输出装置所需的最大传输时长tmax、报文从报文标记装置发送到报文输出装置所需的最小传输时长tmin,确定第一报文可入的队列。
其中,报文从报文标记装置发送到报文输出装置所需的最大传输时长tmax和报文从报文标记装置发送到报文输出装置所需的最小传输时长tmin可以为预设值,具体可以根据报文标记装置与报文输出装置之间的数据传输时长确定后预存在报文标记装置中。
作为一种可实施的方式,报文标记装置根据第一报文到达的时刻、tmax和tmin,确定第一报文可入的队列,可以包括:
首先报文标记装置根据第一报文到达的时刻t0和tmax,计算第一报文到达报文输出装置的最晚时刻t1=t0+tmax,并根据第一报文到达的时刻t0和tmin,计算第一报文到达报文输出装置的最早时刻t1’=t0+tmin。
接着报文标记装置根据t1时刻处于开启状态的第一队列和t1’时刻处于开启状态的第二队列,确定第一报文可入的队列。
具体地,门控队列中每个队列持续开启的时间T和门控队列中第一个队列的开启时间是预先存储在报文标记装置和报文输出装置中的,报文标记装置和报文输出装置均已知门控队列中每个队列持续开启的时间T和门控队列中第一个队列的开启时间,因此,报文标记装置可以根据预存的门控队列中每个队列持续开启的时间T和门控队列中第一个队列的开启时间确定出t1时刻处于开启状态的第一队列,以及t1’时刻处于开启状态的第二队列。报文标记装置根据第一队列和第二队列,可以确定出第一报文的入队队列。
其中,报文标记装置根据t1时刻处于开启状态的第一队列和t1’时刻处于开启状态的第二队列,确定第一报文可入的队列,有如下三种可能的情形:
一、若第一队列和第二队列为同一队列,报文标记装置确定第一报文可入的队列为一组门控队列中除第一队列之外的N-1个队列。
二、若第一队列和第二队列是相邻的两个队列,报文标记装置确定第一报文可入的队列一组门控队列中除第一队列和第二队列之外的N-2个队列。
三、若第一队列与第二队列之间有J个队列,报文标记装置确定第一报文可入的队列为一组门控队列中除第一队列、第二队列和第一队列与第二队列之间的J个队列之外的N-J-2个队列。
以一组门控队列包括N=10个队列为例,图5为本申请实施例提供的一种确定第一报文可入的队列的示意图,如图5所示,第一报文在t0时刻到达报文标记装置,第一报文到达报文输出装置的最早时刻为t1’=t0+tmin,第一报文到达报文输出装置的最晚时刻t1=t0+tmax,第一报文可能到达报文输出装置的时刻为t1’~t1之间,由于t1时刻处于开启状态的第一队列为Q8,t1’时刻处于开启状态的第二队列为Q7,Q7和Q8是相邻的两个队列,因此,Q7和Q8为不能入的队列,第一报文可入的队列为除了Q7和Q8之外的N-2=8个队列,即Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6,第一个可入的队列为Q9,最后一个可入的队列为Q6。
图6为本申请实施例中一种t1时刻处于开启状态的第一队列的示意图,图7为本申请实施例中一种t1’时刻处于开启状态的第二队列的示意图,如图6和图7所示,第一队列和第二队列相同,均为Qx,则第一报文的入队队列为除第一队列Qx之外的N-1个队列中的一个队列,需要说明的是,若t1时刻处于开启状态的队列为Qx,则第一报文不能入Qx,因为若第一报文入队列Qx,Qx在关闭之前该第一报文可能来不及发送,因此能发送第一报文的最早周期是Qx+1开启的周期,能发送第一报文的最晚周期是Qx-1开启的周期,因此第一报文的入队队列为除了第一队列Qx之外的N-1个队列中的一个队列。
图8为本申请实施例中另一种t1时刻处于开启状态的第一队列的示意图,图9为本申请实施例中另一种t1’时刻处于开启状态的第二队列的示意图,如图7和图8所示,第一队列和第二队列不同,第一队列为Qx,第二队列为Qx-1,则第一报文的入队队列为除第一队列Qx和第二队列Qx-1之外的N-2个队列中的一个队列。需要说明的是,若t1时刻处于开启状态的队列为Qx,则第一报文不能入Qx,因为若第一报文入队列Qx,Qx在关闭之前该第一报文可能来不及发送,因此能发送第一报文的最早周期是Qx+1开启的周期,若t1’时刻处于开启状态的队列为Qx-1,则第一报文不能入Qx-1,因为若第一报文入队列Qx-1,Qx-1在关闭之前该第一报文可能来不及发送,因此能发送第一报文的最晚周期是Qx-2开启的周期,因此第一报文的入队队列为除了第一队列Qx和第二队列Qx-1之外的N-2个队列中的一个队列。
S1022、报文标记装置从第一报文可入的队列中确定出第一报文的入队队列。
其中,第一报文的入队队列为一组门控队列中的一个队列,一组门控队列包括N个队列,N个队列中每个队列一次持续开启的时间为T,N个队列按照预设的顺序循环开启,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与流的最大报文长度之和,N为大于1的正整数。
具体来说,确定出第一报文可入的队列,第一报文是否可以入队以及应该入可入的队列中的哪个队列还需进一步确定,作为一种可实施的方式,S1022可以为:
首先,报文标记装置确定第一条流在第一报文可入的队列中的未输出的报文的总长度Badd小于第一条流在第一报文可入的队列中的最大缓存量B,或者,报文标记装置确定Badd与第一报文之和小于或等于B,第一条流为第一报文所属的流。
接着,报文标记装置根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列。
其中,第一报文可入的队列中第一条流的未输出的报文为确定第一报文的入队队列之前第一条流累计已入队列的报文,即就是说,报文标记装置在确定第一报文的入队队列时,需要先确定第一条流当前累计已入队列的报文的总长度Badd是否小于第一条流在第一报文可入的队列中的最大缓存量B,或者,确定Badd与第一报文之和是否小于或等于B。对于这两种情形,确定Badd与第一报文之和是否小于或等于B适用于报文的长度不变,确定Badd是否小于或等于B适用于报文的长度改变。确定Badd是否小于或等于B这种方式,对于每个队列而言存储的报文总长度较长。若是,才能根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列。以图5所示的第一报文可入的队列为Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6为例,Badd为第一条流在Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6中累计已入队列(即累计缓存)的报文的总长度(也称总字节数)。B为第一条流在Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6中允许缓存的报文的总长度(也称总字节数),B可以是预先配置的,其配置范围受限于第一报文可入队列的数量。可选的,在图5所示的第一报文可入的队列中,B最大可以配置为8Bi*T。
其中,第一条流在当前可入队列中的最大缓存量B可以是预先配置的,不同流的最大缓存量B可以不同。
具体地,B为第一条流在当前可入队列中的最大缓存量,在确定第一报文的入队队列时,首先需要判断当前可入队列中第一条流的未输出的报文的总长度Badd是否小于B,若当前可入队列中第一条流的未输出的报文的总长度Badd大于或等于B,说明当前可入队列中第一条流的未输出的报文的总长度Badd已达到或超过第一条流在当前可入队列中的最大缓存量B,此时第一报文无法入队,丢弃第一报文。Badd小于B时,才为第一报文分配可入的队列。图10为本申请实施例提供的一种第一报文被丢弃时的示意图,如图10所示,B等于3Bi*T,第一报文到达之前,Badd已达到3Bi*T,因此,第一报文被丢弃。或者,判断Badd与第一报文之和是否小于或等于B,Badd与第一报文之和小于B时,才为第一报文分配可入的队列,报文标记装置确定Badd与第一报文之和大于或等于B时,丢弃第一报文。
具体地,报文标记装置根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列,有如下三种可实施的方式:
方式一、若Badd大于或等于M-1倍的第一阈值且小于M倍的第一阈值,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第M个队列,M为大于或等于1的正整数。
具体来说,直接根据Badd和第一阈值,确定Badd所在的区间,例如,Badd大于5倍的第一阈值且小于4倍的第一阈值,则第一报文的入队队列为第一报文可入的队列中第一队列之后的第4个队列。
方式二、若第一队列之后的第一个队列当前已入队第一条流的报文的总长度小于第一阈值,报文标记装置确定第一报文的入队队列为第一队列之后的第一个队列;
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度大于或等于第一阈值,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,K为大于或等于2的正整数,第K个队列当前已入队报文的总长度小于第一阈值。
具体来说,本方式中,第一报文的入队队列为从第一队列之后的第一个队列开始,以图5所示的第一报文可入的队列为Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6为例,Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6即为第一队列之后的队列,可以是从Q9开始,依次确定出当前已入队报文的总长度小于第一阈值的队列,若尝试到Q6还是不能入第一报文,则接着继续从Q9开始,是循环尝试入队的。
其中,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,可以为:
报文标记装置从第一队列之后的第二个队列开始,从第一报文可入的队列中确定出当前已入队第一条流的报文的总长度小于第一阈值的第一个队列,将当前已入队第一条流的报文的总长度小于第一阈值的第一个队列确定为第K个队列。
方式三、若第一队列之后的第一个队列当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值,报文标记装置确定第一报文的入队队列为第一队列之后的第一个队列;
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度与第一报文的长度之和大于第一阈值,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,K为大于1的正整数,第K个队列当前已入队报文的总长度与第一报文的长度之和小于第一阈值。
具体来说,本方式中,第一报文的入队队列为从第一队列之后的第一个队列开始,以图5所示的第一报文可入的队列为Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6为例,Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6即为第一队列之后的队列,可以是从Q9开始,依次确定出当前已入队报文的总长度与第一报文的长度之和小于第一阈值的队列,若尝试到Q6还是不能入第一报文,则接着继续从Q9开始,是循环尝试入队的。
其中,报文标记装置确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,可以为:
报文标记装置从第一队列之后的第二个队列开始,从第一报文可入的队列中确定出当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值的第一个队列,将当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值的第一个队列确定为第K个队列。
S103、报文标记装置将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置。
S104、报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。
具体地,报文输出装置接收第一报文,第一报文携带队列标识,队列标识为第一报文的入队队列的队列标识。
报文标记装置经S102确定出第一报文的入队队列后,例如,确定出第一报文的入队队列为Q2,报文标记装置将第一报文标记队列Q2的队列标识2后发送至报文输出装置,报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。
进一步地,在一种可实施的方式中,S103中报文标记装置对第一报文标记第一报文的入队队列的队列标识后发送至报文输出装置之后,还可以包括:
S105、报文标记装置将Badd加上第一报文的长度。
图11为本申请实施例提供的一种确定出第一报文的入队队列后的示意图,如图11所示,第一报文的入队队列为Q2,若B大于3Bi*T,则将Badd加上第一报文的长度。
S106、报文标记装置确定第一报文的第一个入队队列与第一报文的上一个报文的第一个入队队列不同时,将Badd减去第一阈值。
具体地,第一报文的第一个入队队列是指第一报文的入队队列中的第一个队列,例如以图5所示的第一报文可入的队列为Q9、Q0、Q1、Q2、Q3、Q4、Q5和Q6为例,第一报文的入队队列中的第一个队列为Q9。
S107、报文标记装置确定Badd小于第一阈值时,将Badd置零。
需要说明的是。S105-S107没有执行的先后顺序。
本实施例提供的流量整形方法,通过报文标记装置接收到第一报文后,确定第一报文的入队队列,然后将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置,由报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。由于报文从不同队列输出,不同队列开启的时间是已知的,因此报文输出时间是确定的,从而可实现报文输出时间是确定的。
下面采用一个具体的实施例,对图2所示方法实施例中的技术方案进行详细说明。
图12为本申请提供的一种流量整形方法实施例的流程图,如图9所示,本实施例的方法可以包括:
S201、报文标记装置接收第一报文。
S202、报文标记装置根据第一报文到达的时刻,确定第一报文可入的队列。
在一种可实施的方式中,可以是根据第一报文到达的时刻t0、报文从报文标记装置发送到报文输出装置所需的最大传输时长tmax和报文从报文标记装置发送到报文输出装置所需的最小传输时长tmin,确定第一报文可入的队列。
具体地,可以是根据t1=t0+tmax时刻处于开启状态的第一队列和t1’=t0+tmin时刻处于开启状态的第二队列,确定第一报文可入的队列。若第一队列和第二队列为同一队列,报文标记装置确定第一报文可入的队列为一组门控队列中除第一队列之外的N-1个队列。若第一队列和第二队列是相邻的两个队列,报文标记装置确定第一报文可入的队列一组门控队列中除第一队列和第二队列之外的N-2个队列。若第一队列与第二队列之间有J个队列,报文标记装置确定第一报文可入的队列为一组门控队列中除第一队列、第二队列和第一队列与第二队列之间的J个队列之外的N-J-2个队列。
S203、报文标记装置确定第一条流在第一报文可入的队列中的未输出的报文的总长度Badd是否小于第一条流在第一报文可入的队列中的最大缓存量B,第一条流为第一报文所属的流。
若是,执行S204,若否,丢弃第一报文。
具体地,B为第一条流在当前可入队列中的最大缓存量,在确定第一报文的入队队列时,首先需要判断当前可入队列中第一条流的未输出的报文的总长度Badd是否小于B,若当前可入队列中第一条流的未输出的报文的总长度Badd大于或等于B,说明当前可入队列中第一条流的未输出的报文的总长度Badd已达到或超过第一条流在当前可入队列中的最大缓存量B,此时第一报文无法入队,当前可入队列中第一条流的未输出的报文的总长度小于或等于B时,才为第一报文分配可入的队列。
在另一种可实施的方式中,S203可以为:报文标记装置确定Badd与第一报文之和是否小于或等于B。若是,执行S204,若否,丢弃第一报文。
S204、报文标记装置根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列。
具体地,报文标记装置根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列,有三种可实施的方式,具体请参见图2所示实施例中的相关描述,此处不再赘述。
S205、报文标记装置将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置。
S206、报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。
图13为报文经报文标记装置处理后发送至报文输出装置的过程示意图,如图13所示,报文标记装置是逐流逐个报文处理的,例如,图13中所示的接收到多个报文,该多个报文的接收时刻可以是相同的,也可以是不同的,对于第一个报文,报文标记装置在确定第一个报文可入的队列中第一条流的未输出的报文的总长度Badd小于或等于第一条流在第一个报文可入的队列中的最大缓存量B时,丢弃第一个报文,第一条流为第一个报文所属的流。报文标记装置在确定Badd小于B时经S204确定出第一个报文可入的队列,然后标记对应的队列标识后发送至报文输出装置,接着对第二个报文也同样处理,标记对应的标识后发送至报文输出装置,例如图13所示的前一部分报文入队列1,后一部分报文入队列2,报文输出装置根据每个报文的标识将每个报文发送至对应的队列,在队列开启时输出。
本申请提供的流量整形方法可以实现报文在确定的时间内输出,例如,图14为一种报文在确定的时间内输出的示意图,第一报文在t0时刻到达当前网络设备,即第一报文在t0时刻到达报文标记装置,第一报文可能到达报文输出装置的时刻为t1’~t1之间的值,t1=t0+tmax,t1’=t0+tmin。t1时刻处于开启状态的队列为第一队列,假设第一队列之后的第一个队列的起始时间为t2,经过本实施例提供的流量整形方法可以控制第一报文在t2~t2+m*T之间输出,m大于或等于1,例如,要控制第一报文在t2~t2+T时刻输出,t2+T时刻开启的队列为队列4,则报文标记装置在第一报文中标记上队列标识4后,将第一报文发送至报文输出装置,报文输出装置将第一报文送入队列4,队列4在t2+T时刻打开,在t2+2T时刻关闭,从而,实现了报文在确定的时间内输出。
在S205之后,本实施例的方法还可以包括:
S207、报文标记装置将Badd加上第一报文的长度。
S208、报文标记装置确定第一报文的第一个入队队列与第一报文的上一个报文的第一个入队队列不同时,将Badd减去第一阈值。
图15为本申请提供的一种流量整形装置实施例的结构示意图,如图15所示,本实施例的装置可以包括:接收模块11、确定模块12和发送模块13,其中,
接收模块11用于接收第一报文。
确定模块12用于确定第一报文的入队队列。
发送模块13用于将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置,用于报文输出装置根据第一报文的队列标识将第一报文发送至对应的队列输出。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图16为本申请提供的一种流量整形装置实施例的结构示意图,如图16所示,本实施例的装置在图15所示装置的基础上,进一步地,确定模块12包括:确定单元121和处理单元122,其中,
确定单元121用于根据第一报文到达的时刻,确定第一报文可入的队列;
处理单元122用于从第一报文可入的队列中确定出第一报文的入队队列,入队队列为一组中的一个队列,一组包括N个队列,N个队列中每个队列一次持续开启的时间为T,N个队列按照预设的顺序循环开启,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和,N为大于1的正整数,i为正整数。
可选的,确定单元121用于:
根据第一报文到达的时刻、报文从报文标记装置发送到报文输出装置所需的最大传输时长tmax、报文从报文标记装置发送到报文输出装置所需的最小传输时长tmin,确定第一报文可入的队列。
可选的,确定单元121用于:
根据第一报文到达的时刻t0和tmax,计算第一报文到达报文输出装置的最晚时刻t1=t0+tmax,并根据第一报文到达的时刻t0和tmin,计算第一报文到达报文输出装置的最早时刻t1’=t0+tmin;
根据t1时刻处于开启状态的第一队列和t1’时刻处于开启状态的第二队列,确定第一报文可入的队列。
可选的,确定单元121用于:若第一队列和第二队列为同一队列,确定第一报文可入的队列为一组门控队列中除第一队列之外的N-1个队列,或者,
若第一队列和第二队列是相邻的两个队列,确定第一报文可入的队列一组门控队列中除第一队列和第二队列之外的N-2个队列,或者,
若第一队列与第二队列之间有J个队列,确定第一报文可入的队列为一组门控队列中除第一队列、第二队列和第一队列与第二队列之间的J个队列之外的N-J-2个队列。
可选的,处理单元122用于:确定第一条流在第一报文可入的队列中的未输出的报文的总长度Badd小于第一条流在第一报文可入的队列中的最大缓存量B,第一条流为第一报文所属的流,或者,确定Badd与第一报文之和小于或等于B,根据Badd和第一阈值,从第一报文可入的队列中确定出第一报文的入队队列。
可选的,处理单元122用于:若Badd大于或等于M-1倍的第一阈值且小于M倍的第一阈值,确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第M个队列,M为大于或等于1的正整数。
可选的,处理单元122用于:
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度小于第一阈值,确定第一报文的入队队列为第一队列之后的第一个队列;若第一队列之后的第一个队列当前已入队第一条流的报文的总长度大于或等于第一阈值,确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第K个队列,K为大于或等于2的正整数,第K个队列当前已入队报文的总长度小于第一阈值。
可选的,处理单元122具体用于:
从第一队列之后的第二个队列开始,从第一报文可入的队列中确定出当前已入队第一条流的报文的总长度小于第一阈值的第一个队列,将当前已入队第一条流的报文的总长度小于第一阈值的第一个队列确定为第K个队列。
可选的,处理单元122用于:
若第一队列之后的第一个队列当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值,确定第一报文的入队队列为第一队列之后的第一个队列;若第一队列之后的第一个队列当前已入队第一条流的报文的总长度与第一报文的长度之和大于第一阈值,确定第一报文的入队队列为第一报文可入的队列中第一队列之后的第M个队列,M为大于1的正整数,第M个队列当前已入队报文的总长度与第一报文的长度之和小于第一阈值。
可选的,处理单元122具体用于:
从第一队列之后的第二个队列开始,从第一报文可入的队列中确定出当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值的第一个队列,将当前已入队第一条流的报文的总长度与第一报文的长度之和小于或等于第一阈值的第一个队列确定为第M个队列。
进一步地,处理单元122还用于:
确定Badd大于或等于B,或者,确定Badd与第一报文之和大于B,丢弃第一报文。
进一步地,处理单元122还用于:将第一报文的队列标识标记为第一报文的入队队列的队列标识后发送至报文输出装置之后,将Badd加上第一报文的长度,确定第一报文的第一个可入队列与第一报文的上一个报文的第一个可入队列不同时,将Badd减去第一阈值,确定Badd小于第一阈值时,将Badd置零。
可选的,第一阈值为Bi*T,Bi为第一条流的带宽。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图17为本申请提供的一种流量整形装置实施例的结构示意图,如图17所示,本实施例的装置可以包括:接收模块21和处理模块22,其中,
接收模块21用于接收第一报文,第一报文携带队列标识,队列标识为第一报文的入队队列的队列标识;
处理模块22用于根据第一报文的队列标识将第一报文发送至对应的队列输出。
可选的,第一报文的入队队列为一组门控队列中的一个队列,一组门控队列包括N个队列,N个队列中每个队列一次持续开启的时间为T,N个队列按照预设的顺序循环开启,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与流i的最大报文长度之和,N为大于1的正整数,i为正整数。
可选的,第一阈值为Bi*T,Bi为第一条流的带宽,第一条流为第一报文所属的流。
图18为本申请提供的一种流量整形装置的结构示意图,流i量整形装置100包括:
存储器101和处理器102;
存储器101,用于存储计算机程序;
处理器102,用于执行存储器存储的计算机程序,以实现上述实施例中的密钥协商方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器101既可以是独立的,也可以跟处理器102集成在一起。
当存储器101是独立于处理器102之外的器件时,流量整形装置100还可以包括:
总线103,用于连接存储器101和处理器102。
可选地,本实施例还包括:通信接口104,该通信接口104可以通过总线103与处理器102连接。处理器102可以控制通信接口103来实现流量整形装置100的上述的获取的功能。
该装置可以用于执行上述方法实施例中的各个步骤和/或流程。
本申请还提供一种可读存储介质,可读存储介质中存储有执行指令,当电子设备的至少一个处理器执行该执行指令时,电子设备执行上述方法实施例中的流量整形方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述方法实施例中的流量整形方法。
本申请还提供一种芯片,芯片与存储器相连,或者芯片上集成有存储器,当存储器中存储的软件程序被执行时,实现上述方法实施例中的流量整形方法。
本领域普通技术人员可以理解:在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (36)
1.一种流量整形方法,其特征在于,包括:
报文标记装置接收第一报文;
所述报文标记装置确定所述第一报文的入队队列;
所述报文标记装置将所述第一报文的队列标识标记为所述第一报文的入队队列的队列标识后发送至报文输出装置,用于所述报文输出装置根据所述第一报文的队列标识将所述第一报文发送至对应的队列输出。
2.根据权利要求1所述的方法,其特征在于,所述报文标记装置确定所述第一报文的入队队列,包括:
所述报文标记装置根据所述第一报文到达的时刻,确定所述第一报文可入的队列;
所述报文标记装置从所述第一报文可入的队列中确定出所述第一报文的入队队列,所述入队队列为一组门控队列中的一个队列,所述一组门控队列包括N个队列,所述N个队列中每个队列一次持续开启的时间为T,所述N个队列按照预设的顺序循环开启,所述N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,所述N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与所述流i的最大报文长度之和,所述N为大于1的正整数,所述i为正整数。
3.根据权利要求2所述的方法,其特征在于,所述报文标记装置根据所述第一报文到达的时刻,确定所述第一报文可入的队列,包括:
所述报文标记装置根据所述第一报文到达的时刻、报文从所述报文标记装置发送到报文输出装置所需的最大传输时长tmax、报文从所述报文标记装置发送到所述报文输出装置所需的最小传输时长tmin,确定所述第一报文可入的队列。
4.根据权利要求3所述的方法,其特征在于,所述报文标记装置根据所述第一报文到达的时刻、报文从所述报文标记装置发送到报文输出装置所需的最大传输时长tmax、报文从所述报文标记装置发送到所述报文输出装置所需的最小传输时长tmin,确定所述第一报文可入的队列,包括:
所述报文标记装置根据所述第一报文到达的时刻t0和所述tmax,计算所述第一报文到达所述报文输出装置的最晚时刻t1=t0+tmax,并根据所述第一报文到达的时刻t0和所述tmin,计算所述第一报文到达所述报文输出装置的最早时刻t1’=t0+tmin;
所述报文标记装置根据所述t1时刻处于开启状态的第一队列和所述t1’时刻处于开启状态的第二队列,确定所述第一报文可入的队列。
5.根据权利要求4所述的方法,其特征在于,所述报文标记装置根据所述t1时刻处于开启状态的第一队列和所述t1’时刻处于开启状态的第二队列,确定所述第一报文可入的队列,包括:
若所述第一队列和所述第二队列为同一队列,所述报文标记装置确定所述第一报文可入的队列为所述一组门控队列中除所述第一队列之外的N-1个队列,或者,
若所述第一队列和所述第二队列是相邻的两个队列,所述报文标记装置确定所述第一报文可入的队列所述一组门控队列中除所述第一队列和所述第二队列之外的N-2个队列,或者,
若所述第一队列与所述第二队列之间有J个队列,所述报文标记装置确定所述第一报文可入的队列为所述一组门控队列中除所述第一队列、所述第二队列和所述第一队列与所述第二队列之间的J个队列之外的N-J-2个队列。
6.根据权利要求4或5所述的方法,其特征在于,所述报文标记装置从所述第一报文可入的队列中确定出所述第一报文的入队队列,包括:
所述报文标记装置确定第一条流在所述第一报文可入的队列中的未输出的报文的总长度Badd小于所述第一条流在所述第一报文可入的队列中的最大缓存量B,所述第一条流为所述第一报文所属的流,或者,所述报文标记装置确定所述Badd与所述第一报文之和小于或等于所述B;
所述报文标记装置根据所述Badd和所述第一阈值,从所述第一报文可入的队列中确定出所述第一报文的入队队列。
7.根据权利要求6所述的方法,其特征在于,所述报文标记装置根据所述Badd和所述第一阈值,从所述第一报文可入的队列中确定出所述第一报文的入队队列,包括:
若所述Badd大于或等于M-1倍的第一阈值且小于M倍的第一阈值,所述报文标记装置确定所述第一报文的入队队列为所述第一报文可入的队列中所述第一队列之后的第M个队列,所述M为大于或等于1的正整数。
8.根据权利要求6所述的方法,其特征在于,所述报文标记装置根据所述Badd和所述第一阈值,从所述第一报文可入的队列中确定出所述第一报文的入队队列,包括:
若所述第一队列之后的第一个队列当前已入队所述第一条流的报文的总长度小于所述第一阈值,所述报文标记装置确定所述第一报文的入队队列为所述第一队列之后的第一个队列;
若所述第一队列之后的第一个队列当前已入队所述第一条流的报文的总长度大于或等于所述第一阈值,所述报文标记装置确定所述第一报文的入队队列为所述第一报文可入的队列中所述第一队列之后的第K个队列,所述K为大于或等于2的正整数,所述第K个队列当前已入队报文的总长度小于所述第一阈值。
9.根据权利要求8所述的方法,其特征在于,所述报文标记装置确定所述第一报文的入队队列为所述第一报文可入的队列中所述第一队列之后的第K个队列,包括:
所述报文标记装置从所述第一队列之后的第二个队列开始,从所述第一报文可入的队列中确定出当前已入队所述第一条流的报文的总长度小于所述第一阈值的第一个队列,将所述当前已入队所述第一条流的报文的总长度小于所述第一阈值的第一个队列确定为所述第K个队列。
10.根据权利要求6所述的方法,其特征在于,所述报文标记装置根据所述Badd和所述第一阈值,从所述第一报文可入的队列中确定出所述第一报文的入队队列,包括:
若所述第一队列之后的第一个队列当前已入队所述第一条流的报文的总长度与所述第一报文的长度之和小于或等于所述第一阈值,所述报文标记装置确定所述第一报文的入队队列为所述第一队列之后的第一个队列;
若所述第一队列之后的第一个队列当前已入队所述第一条流的报文的总长度与所述第一报文的长度之和大于所述第一阈值,所述报文标记装置确定所述第一报文的入队队列为所述第一报文可入的队列中所述第一队列之后的第K个队列,所述K为大于或等于2的正整数,所述第K个队列当前已入队报文的总长度与所述第一报文的长度之和小于所述第一阈值。
11.根据权利要求8所述的方法,其特征在于,所述报文标记装置确定所述第一报文的入队队列为所述第一报文可入的队列中所述第一队列之后的第K个队列,包括:
所述报文标记装置从所述第一队列之后的第二个队列开始,从所述第一报文可入的队列中确定出当前已入队所述第一条流的报文的总长度与所述第一报文的长度之和小于或等于所述第一阈值的第一个队列,将所述当前已入队所述第一条流的报文的总长度与所述第一报文的长度之和小于或等于所述第一阈值的第一个队列确定为所述第K个队列。
12.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述报文标记装置确定所述Badd大于或等于所述B,或者,所述报文标记装置确定所述Badd与所述第一报文之和大于所述B,丢弃所述第一报文。
13.根据权利要求6-10任一项所述的方法,其特征在于,所述报文标记装置将所述第一报文的队列标识标记为所述第一报文的入队队列的队列标识后发送至报文输出装置之后,所述方法还包括:
所述报文标记装置将所述Badd加上所述第一报文的长度;
所述报文标记装置确定所述第一报文的第一个可入队列与所述第一报文的上一个报文的第一个可入队列不同时,将所述Badd减去所述第一阈值;
所述报文标记装置确定所述Badd小于所述第一阈值时,将所述Badd置零。
14.根据权利要求2-13任一项所述的方法,其特征在于,所述第一阈值为Bi*T,所述Bi为第一条流的带宽,所述第一条流为所述第一报文所属的流。
15.一种流量整形方法,其特征在于,包括:
报文输出装置接收第一报文,所述第一报文携带队列标识,所述队列标识为所述第一报文的入队队列的队列标识;
所述报文输出装置根据所述第一报文的队列标识将所述第一报文发送至对应的队列输出。
16.根据权利要求15所述的方法,其特征在于,
所述第一报文的入队队列为一组门控队列中的一个队列,所述一组门控队列包括N个队列,所述N个队列中每个队列一次持续开启的时间为T,所述N个队列按照预设的顺序循环开启,所述N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,所述N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与所述流i的最大报文长度之和,所述N为大于1的正整数,所述i为正整数。
17.根据权利要求16所述的方法,其特征在于,所述第一阈值为Bi*T,所述Bi为第一条流的带宽,所述第一条流为所述第一报文所属的流。
18.一种流量整形装置,其特征在于,包括:
接收模块,用于接收第一报文;
确定模块,用于确定所述第一报文的入队队列;
发送模块,用于将所述第一报文的队列标识标记为所述第一报文的入队队列的队列标识后发送至报文输出装置,用于所述报文输出装置根据所述第一报文的队列标识将所述第一报文发送至对应的队列输出。
19.根据权利要求18所述的装置,其特征在于,所述确定模块包括:
确定单元,用于根据所述第一报文到达的时刻,确定所述第一报文可入的队列;
处理单元,用于从所述第一报文可入的队列中确定出所述第一报文的入队队列,所述入队队列为一组中的一个队列,所述一组包括N个队列,所述N个队列中每个队列一次持续开启的时间为T,所述N个队列按照预设的顺序循环开启,所述N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,所述N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与所述流i的最大报文长度之和,所述N为大于1的正整数,所述i为正整数。
20.根据权利要求19所述的装置,其特征在于,所述确定单元用于:
根据所述第一报文到达的时刻、报文从所述报文标记装置发送到报文输出装置所需的最大传输时长tmax、报文从所述报文标记装置发送到所述报文输出装置所需的最小传输时长tmin,确定所述第一报文可入的队列。
21.根据权利要求20所述的装置,其特征在于,所述确定单元用于:
根据所述第一报文到达的时刻t0和所述tmax,计算所述第一报文到达所述报文输出装置的最晚时刻t1=t0+tmax,并根据所述第一报文到达的时刻t0和所述tmin,计算所述第一报文到达所述报文输出装置的最早时刻t1’=t0+tmin;
根据所述t1时刻处于开启状态的第一队列和所述t1’时刻处于开启状态的第二队列,确定所述第一报文可入的队列。
22.根据权利要求21所述的装置,其特征在于,所述确定单元用于:
若所述第一队列和所述第二队列为同一队列,确定所述第一报文可入的队列为所述一组门控队列中除所述第一队列之外的N-1个队列,或者,
若所述第一队列和所述第二队列是相邻的两个队列,确定所述第一报文可入的队列所述一组门控队列中除所述第一队列和所述第二队列之外的N-2个队列,或者,
若所述第一队列与所述第二队列之间有J个队列,确定所述第一报文可入的队列为所述一组门控队列中除所述第一队列、所述第二队列和所述第一队列与所述第二队列之间的J个队列之外的N-J-2个队列。
23.根据权利要求21或22所述的装置,其特征在于,所述处理单元用于:
确定第一条流在所述第一报文可入的队列中的未输出的报文的总长度Badd小于所述第一条流在所述第一报文可入的队列中的最大缓存量B,所述第一条流为所述第一报文所属的流,或者,所述报文标记装置确定所述Badd与所述第一报文之和小于或等于所述B;
根据所述Badd和所述第一阈值,从所述第一报文可入的队列中确定出所述第一报文的入队队列。
24.根据权利要求23所述的装置,其特征在于,所述处理单元用于:
若所述Badd大于或等于M-1倍的第一阈值且小于M倍的第一阈值,确定所述第一报文的入队队列为所述第一报文可入的队列中所述第一队列之后的第M个队列,所述M为大于或等于1的正整数。
25.根据权利要求23所述的装置,其特征在于,所述处理单元用于:
若所述第一队列之后的第一个队列当前已入队所述第一条流的报文的总长度小于所述第一阈值,确定所述第一报文的入队队列为所述第一队列之后的第一个队列;
若所述第一队列之后的第一个队列当前已入队所述第一条流的报文的总长度大于或等于所述第一阈值,确定所述第一报文的入队队列为所述第一报文可入的队列中所述第一队列之后的第K个队列,所述K为大于或等于2的正整数,所述第K个队列当前已入队报文的总长度小于所述第一阈值。
26.根据权利要求25所述的装置,其特征在于,所述处理单元具体用于:
从所述第一队列之后的第二个队列开始,从所述第一报文可入的队列中确定出当前已入队所述第一条流的报文的总长度小于所述第一阈值的第一个队列,将所述当前已入队所述第一条流的报文的总长度小于所述第一阈值的第一个队列确定为所述第K个队列。
27.根据权利要求23所述的装置,其特征在于,所述处理单元用于:
若所述第一队列之后的第一个队列当前已入队所述第一条流的报文的总长度与所述第一报文的长度之和小于或等于所述第一阈值,确定所述第一报文的入队队列为所述第一队列之后的第一个队列;
若所述第一队列之后的第一个队列当前已入队所述第一条流的报文的总长度与所述第一报文的长度之和大于所述第一阈值,确定所述第一报文的入队队列为所述第一报文可入的队列中所述第一队列之后的第M个队列,所述M为大于1的正整数,所述第M个队列当前已入队报文的总长度与所述第一报文的长度之和小于所述第一阈值。
28.根据权利要求25所述的装置,其特征在于,所述处理单元具体用于:
从所述第一队列之后的第二个队列开始,从所述第一报文可入的队列中确定出当前已入队所述第一条流的报文的总长度与所述第一报文的长度之和小于或等于所述第一阈值的第一个队列,将所述当前已入队所述第一条流的报文的总长度与所述第一报文的长度之和小于或等于所述第一阈值的第一个队列确定为所述第M个队列。
29.根据权利要求23所述的装置,其特征在于,所述处理单元还用于:
确定所述Badd大于或等于所述B,或者,确定所述Badd与所述第一报文之和大于所述B,丢弃所述第一报文。
30.根据权利要求23-27任一项所述的装置,其特征在于,所述处理单元还用于:
将所述第一报文的队列标识标记为所述第一报文的入队队列的队列标识后发送至报文输出装置之后,将所述Badd加上所述第一报文的长度;
确定所述第一报文的第一个可入队列与所述第一报文的上一个报文的第一个可入队列不同时,将所述Badd减去所述第一阈值;
确定所述Badd小于所述第一阈值时,将所述Badd置零。
31.根据权利要求19-30任一项所述的装置,其特征在于,所述第一阈值为Bi*T,所述Bi为第一条流的带宽,所述第一条流为所述第一报文所属的流。
32.一种流量整形装置,其特征在于,包括:
接收模块,用于接收第一报文,所述第一报文携带队列标识,所述队列标识为所述第一报文的入队队列的队列标识;
处理模块,用于根据所述第一报文的队列标识将所述第一报文发送至对应的队列输出。
33.根据权利要求32所述的装置,其特征在于,
所述第一报文的入队队列为一组门控队列中的一个队列,所述一组门控队列包括N个队列,所述N个队列中每个队列一次持续开启的时间为T,所述N个队列按照预设的顺序循环开启,所述N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值,或者,所述N个队列中每个队列每条流i可入队的报文总长度小于或等于第一阈值与所述流i的最大报文长度之和,所述N为大于1的正整数,所述i为正整数。
34.根据权利要求33所述的装置,其特征在于,所述第一阈值为Bi*T,所述Bi为第一条流的带宽,所述第一条流为所述第一报文所属的流。
35.一种流量整形装置,其特征在于,包括:
处理器,用于执行存储器中存储的程序,当所述程序被执行时,使得所述装置执行权利要求1~14或15-17任一项所述的流量整形方法。
36.一种可读存储介质,所述可读存储介质中存储有执行指令,其特征在于,当流量整形装置的至少一个处理器执行所述执行指令时,所述流量整形装置执行权利要求1~14或15-17任一项所述的流量整形方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063588.7A CN114338545A (zh) | 2020-09-30 | 2020-09-30 | 流量整形方法及装置 |
EP21874278.1A EP4207687A4 (en) | 2020-09-30 | 2021-09-17 | METHOD AND DEVICE FOR TRAFFIC SHAPING |
PCT/CN2021/119119 WO2022068617A1 (zh) | 2020-09-30 | 2021-09-17 | 流量整形方法及装置 |
US18/192,063 US20230239248A1 (en) | 2020-09-30 | 2023-03-29 | Traffic shaping method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063588.7A CN114338545A (zh) | 2020-09-30 | 2020-09-30 | 流量整形方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114338545A true CN114338545A (zh) | 2022-04-12 |
Family
ID=80949567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011063588.7A Pending CN114338545A (zh) | 2020-09-30 | 2020-09-30 | 流量整形方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230239248A1 (zh) |
EP (1) | EP4207687A4 (zh) |
CN (1) | CN114338545A (zh) |
WO (1) | WO2022068617A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024036476A1 (zh) * | 2022-08-16 | 2024-02-22 | 新华三技术有限公司 | 一种报文转发方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793747A (en) * | 1996-03-14 | 1998-08-11 | Motorola, Inc. | Event-driven cell scheduler and method for supporting multiple service categories in a communication network |
US6621792B1 (en) * | 1999-02-23 | 2003-09-16 | Avaya Technology Corp. | Computationally-efficient traffic shaper |
CN102326369B (zh) * | 2011-08-04 | 2014-04-30 | 华为技术有限公司 | 队列调度方法和装置 |
EP2979407B1 (en) * | 2013-03-28 | 2018-09-12 | British Telecommunications public limited company | Re-marking of packets for queue control |
US9450881B2 (en) * | 2013-07-09 | 2016-09-20 | Intel Corporation | Method and system for traffic metering to limit a received packet rate |
US10715441B2 (en) * | 2015-09-04 | 2020-07-14 | Arista Networks, Inc. | System and method of a high buffered high bandwidth network element |
US10735339B1 (en) * | 2017-01-16 | 2020-08-04 | Innovium, Inc. | Intelligent packet queues with efficient delay tracking |
CN115714742A (zh) * | 2018-05-11 | 2023-02-24 | 华为技术有限公司 | 一种报文发送的方法、网络节点和系统 |
JP7000988B2 (ja) * | 2018-05-21 | 2022-01-19 | 富士通株式会社 | パケット転送装置及びパケット転送方法 |
-
2020
- 2020-09-30 CN CN202011063588.7A patent/CN114338545A/zh active Pending
-
2021
- 2021-09-17 EP EP21874278.1A patent/EP4207687A4/en active Pending
- 2021-09-17 WO PCT/CN2021/119119 patent/WO2022068617A1/zh unknown
-
2023
- 2023-03-29 US US18/192,063 patent/US20230239248A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230239248A1 (en) | 2023-07-27 |
EP4207687A4 (en) | 2024-01-24 |
EP4207687A1 (en) | 2023-07-05 |
WO2022068617A1 (zh) | 2022-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100431191B1 (ko) | 크레딧 기반 라운드 로빈을 이용한 패킷 스케쥴링장치 및방법 | |
CN112311494B (zh) | 一种报文传输方法、装置及系统 | |
KR101990235B1 (ko) | 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드 | |
CN110086728B (zh) | 发送报文的方法、第一网络设备及计算机可读存储介质 | |
Kesselman et al. | Improved competitive performance bounds for CIOQ switches | |
JP2006506845A (ja) | ルータにおけるパケットに対し論理リンクを選択する方法 | |
WO2016082603A1 (zh) | 一种调度器及调度器的动态复用方法 | |
JP2011024027A (ja) | パケット送信制御装置、ハードウェア回路およびプログラム | |
WO2022022224A1 (zh) | 调度数据包的方法和相关装置 | |
CN114374647A (zh) | 一种对时敏业务流和路由联合调度的规划方法及装置 | |
US20230239248A1 (en) | Traffic shaping method and apparatus | |
CN101212417B (zh) | 一种基于时间粒度的互联网服务质量保证方法 | |
CN113783785A (zh) | Ecn水线值的配置方法、装置及网络设备 | |
CN111740922B (zh) | 数据传输方法、装置、电子设备及介质 | |
JP2005236669A (ja) | 通信品質制御方法およびその通信品質制御装置 | |
JP2008125073A (ja) | WiMAXスケジューラーの待ち時間カウントを使用した無効データ除去 | |
US9166924B2 (en) | Packet scheduling method and apparatus considering virtual port | |
KR101681613B1 (ko) | 분산 병렬 데이터 전송 시스템에서 자원들을 스케줄링하기 위한 장치 및 그 방법 | |
CN117579577B (zh) | 基于时间敏感网络的数据帧转发方法、装置及计算机设备 | |
JP3514215B2 (ja) | スケジューリング回路 | |
CN113965520B (zh) | 报文发送调度方法和装置、异步流量整形器 | |
CN113810305B (zh) | 报文转发方法、装置、转发节点以及计算机可读存储介质 | |
Yao et al. | Burst-Aware Mixed Flow Scheduling in Time-Sensitive Networks for Power Business | |
JP2002124985A (ja) | 送信装置、通信システムおよび送信方法 | |
Lien et al. | Generalized dynamic frame sizing algorithm for finite-internal-buffered networks |
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 |