1.本发明涉及传输网络技术领域,特别涉及一种灵活以太网小颗粒时隙分配方法及装置。
背景技术:2.灵活以太网(flexible ethernet,flexe)技术是在标准以太网技术基础上,为满足高速传送、带宽灵活配置等需求而发展的技术。标准以太网技术在接口层面遵循ieee 802.3定义的mac/phy(medium access control/physical,介质访问控制/物理)层标准。灵活以太网技术是在标准以太网接口的mac子层和pcs(physical coding sub-layer,物理编码子层)子层之间引入了flexe shim层,实现mac层与phy层的解耦合。灵活以太网基于client/group通用架构来支持任意多个不同子接口(flexe client)在任意一组phy(flexe group)上的映射和传输。flexe group本质上是ieee 802.3标准定义的各种以太网phy层,由1~n个flexe实例构成,每个flexe 实例又由1~m个绑定的以太网phy承载。flexe client对应于以太网的各种flexe client接口,与现有ip/ethernet网络中的传统业务接口一致。
3.flexe shim层作为插入传统以太网架构mac层与phy层中间的一个额外逻辑层,通过基于时分复用的calendar时隙分发机制实现flexe技术的核心架构。按照功能模块划分,flexe shim层主要分为空闲删除与插入模块、calendar时隙分配模块以及控制管理模块等。calendar时隙分配模块主要的功能是对以太网phy层的带宽资源进行统一管理,将phy层的带宽划分为大小相等的若干个时隙(slot,表示最小颗粒度的带宽),根据每一个flexe client 的带宽需求,完成时隙与flexe client的映射。
4.calendar时隙分发机制是flexe shim层的核心机制之一,主要功能是实现多个不同速率flexe client数据流在flexe group中的映射、承载与带宽分配。按照oif flexe标准,calendar 可以将flexe group中的每个100g phy划分为20个时隙,每个phy所对应的一组时隙被称为一个sub-calendar,每个时隙所对应的带宽为5gbps。现有的小颗粒时隙方案中,一个5g 时隙通道可以支持1个复帧,每个复帧包含20个基本单元帧。其中,每个基本单元帧支持24个小颗粒时隙(每个时隙10 m),共480个小颗粒时隙。
5.现有flexe标准中,flexe shim将calendar时隙按照每个flexe client的物理链路带宽进行分配,然而实际中大多数flexe client并不会以接近链路容量的速率进行传输。因此,现有机制并不能有效适配以远低于calendar时隙速率传输的flexe client。例如,flexe client以非常低的速率进行传输时,一种策略是给flexe client分配一个calendar时隙,并用冗余数据填充时隙,但是会造成严重的带宽浪费;另一种策略利用mac层帧缓存收集低速率数据,并在缓存满的时候进行传输,但是会造成较长时延。
6.经过对现有技术的检索发现,y. liao等人在《ieee international conference on communications (icc),june 2020,pp. 1-6(电气电子工程师协会国际通信会议,2020年6月,第1-6页)》上发表了文章“calendar allocation based on client traffic in the flexible ethernet standard(灵活以太网标准中基于客户端流量的日历分配)”,该
文提出了一种自适应带宽时隙分配机制,其中将带宽需求较高的flexe client视为主要用户,并优先进行时隙分配满足其带宽需求;将带宽需求较低的flexe client视为次要用户,并进行机会性传输。但是,该文提出的分配机制不能满足带宽需求较低,并且传输时延较敏感的flexe client。z. li等人在《international conference on optical communications and networks (icocn),august 2021,pp. 1-3(光通信与网络国际会议,2021年8月,第1-3页)》上发表了文章“proactive dynamic calendar allocation scheme for 5g/b5g transport network slicing based flexible ethernet(基于5g/b5g承载网切片的灵活以太网主动动态日历分配机制)”,该文提出一种为高优先级时延敏感业务预留资源,并将尽力服务按照缓存时间进行时隙分配的机制。然而,该文没有给出高优先级时延敏感业务的具体判断方法,也没有考虑mac层帧缓存容量对分配机制的影响。另外,上述检索发现的两篇文章都仅考虑了传统的calendar时隙分配,而没有针对最新的小颗粒时隙设计小颗粒时隙分配方案。同时,上述检索发现的两篇文章没有考虑单个flexe client具有多个数据流的情况。
技术实现要素:7.本发明针对现有技术存在的上述不足,针对flexe小颗粒时隙分配的需求,提供一种灵活以太网小颗粒时隙分配方法及装置,结合flexe client资源传输带宽需求、传输时延要求、mac层帧缓存的剩余容量设计动态数据传输优先级。同时,根据单个flexe小颗粒时隙是否可以被多个flexe client使用,分别设计基于动态数据传输优先级的flexe小颗粒时隙分配方法,以克服现有技术中的不足。
8.为实现上述目的,本发明提供如下技术方案:本发明公开了一种灵活以太网小颗粒时隙分配方法,包括如下步骤:s1:将每个基本单元帧作为灵活以太网垫层的日历小颗粒时隙分配单元,灵活以太网垫层获取当前基本单元帧中的每个灵活以太网客户信号的传输需求与介质访问控制层的帧缓存的剩余容量信息;s2:灵活以太网垫层根据获取的灵活以太网客户信号信息计算动态数据传输优先级:根据灵活以太网客户信号数据流的资源传输带宽需求、传输时延要求和介质访问控制层的帧缓存的剩余容量及其三者的权重系数计算动态数据传输优先级;s3:灵活以太网垫层的日历时隙分配模块根据灵活以太网客户信号的动态数据传输优先级,利用轮询的方法进行小颗粒时隙分配,并为其预留小颗粒时隙带宽资源,同时使分配给每个灵活以太网客户信号的小颗粒时隙之间间隔均匀,其中利用轮询的方法进行小颗粒时隙分配的方案包括:限定单个灵活以太网小颗粒时隙不能被多个灵活以太网客户信号使用,或允许单个灵活以太网小颗粒时隙被多个灵活以太网客户信号数据流使用;s4:在小颗粒时隙分配过程中,日历时隙分配模块判断当前基本单元帧内的小颗粒时隙剩余量,直到所有小颗粒时隙资源分配完毕,或者资源分配满足所有灵活以太网客户信号的业务传输需求。
9.作为优选的,所述步骤s2中,动态数据传输优先级由灵活以太网客户信号数据流的资源传输带宽需求、传输时延要求和灵活以太网客户信号的介质访问控制层的帧缓存的剩余容量进行计算,具体为:动态数据传输优先级为资源传输带宽需求加权与时延要求加
权和介质访问控制层的帧缓存的剩余容量加权之和的比值。
10.作为优选的,所述步骤s2中,为灵活以太网客户信号数据流的资源传输带宽需求、传输时延要求和介质访问控制层的帧缓存的剩余容量设定阈值,根据阈值对资源传输带宽需求、传输时延要求和介质访问控制层的帧缓存的剩余容量三者的权重系数的值进行动态调整,具体为:当灵活以太网客户信号数据流的资源传输带宽需求大于设定阈值时,其权重系数的取值增大;当灵活以太网客户信号数据流的时延要求小于设定阈值时,其权重系数的取值增大;当灵活以太网客户信号数据流的介质访问控制层的帧缓存的剩余容量小于设定阈值时,其权重系数的取值增大。
11.作为优选的,所述步骤s3选用限定单个灵活以太网小颗粒时隙不能被多个灵活以太网客户信号使用的小颗粒时隙分配方案时,其具体子步骤如下:s31a:输入每个灵活以太网客户信号数据流的动态数据传输优先级、资源传输带宽需求和每个小颗粒时隙的带宽,并初始化设置当前基本单元帧中剩余的空闲小颗粒时隙数组;s32a:将每个灵活以太网客户信号数据流的动态数据传输优先级的数值按照从大到小的顺序进行排序,生成动态数据传输优先级集合;s33a:获取集合中最大数值的元素所对应的灵活以太网客户信号编号m和其数据流编号k;s34a:初始化设置当前基本单元帧中编号为m的灵活以太网客户信号中编号为k的数据流所对应的小颗粒时隙的分配结果为空集;s35a:计算编号为m的灵活以太网客户信号中编号为k的数据流所需要的小颗粒时隙数量s;计算当前基本单元帧中剩余小颗粒时隙分配需满足的间隔j;s36a:若编号为m的灵活以太网客户信号中编号为k的数据流所需要的小颗粒时隙数量大于等于1,并且剩余的空闲小颗粒时隙大于等于需要的小颗粒时隙数量,则为编号为m的灵活以太网客户信号中编号为k的数据流继续分配空闲小颗粒时隙,其中分配的空闲小颗粒时隙需满足时隙间隔为j;若编号为m的灵活以太网客户信号中编号为k的数据流所需要的小颗粒时隙数量大于1,并且剩余的空闲小颗粒时隙小于需要的小颗粒时隙数量,则将所有空闲小颗粒时隙分配给编号为m的灵活以太网客户信号中编号为k的数据流;s37a:将已分配给编号为m的灵活以太网客户信号中编号为k的数据流的小颗粒时隙从当前基本单元帧中剩余的空闲小颗粒时隙的数组中去除,将动态数据传输优先级集合中最大数值的元素去除。
12.作为优选的,所述步骤s3选用限定单个灵活以太网小颗粒时隙不能被多个灵活以太网客户信号使用的小颗粒时隙分配方案时,所述步骤s4具体为:迭代地执行所述步骤s32a至步骤s37a,直至当前基本单元帧中剩余的空闲小颗粒时隙的数组为空集,或者满足所有灵活以太网客户信号数据流的资源传输带宽需求,输出当前基本单元帧中小颗粒时隙的分配结果,结束此步骤。
13.作为优选的,所述步骤s3选用允许单个灵活以太网小颗粒时隙被多个灵活以太网客户信号数据流使用时,其具体子步骤如下:s31b:输入每个灵活以太网客户信号数据流的动态数据传输优先级、资源传输带宽需求和每个小颗粒时隙的带宽,并初始化设置当前基本单元帧中剩余的空闲小颗粒时隙
数组和小颗粒时隙的剩余带宽数组中的所有元素的值;s32b:将每个灵活以太网客户信号数据流的动态数据传输优先级的数值按照从大到小的顺序进行排序,生成动态数据传输优先级集合;s33b:获取集合中最大数值的元素所对应的灵活以太网客户信号编号m和其数据流编号k;s34b:初始化设置当前基本单元帧中编号为m的灵活以太网客户信号中编号为k的数据流所对应的小颗粒时隙的分配结果为空集,以及小颗粒时隙的带宽分配结果为空集;s35b:计算编号为m的灵活以太网客户信号中编号为k的数据流所需要的小颗粒时隙数量s;计算当前基本单元帧中剩余小颗粒时隙分配需满足的间隔j;s36b:若编号为m的灵活以太网客户信号中编号为k的数据流所需要的小颗粒时隙数量s小于等于剩余的空闲小颗粒时隙的数量,则按照以下步骤进行小颗粒时隙分配:第一步:为编号为m的灵活以太网客户信号中编号为k的数据流分配空闲小颗粒时隙,其中分配的空闲小颗粒时隙需满足时隙间隔为j;第二步:计算更新编号为m的灵活以太网客户信号中编号为k的数据流的小颗粒时隙的带宽分配结果和对应的剩余带宽数组中的元素数值,并进入步骤s38b;s37b:若编号为m的灵活以太网客户信号中编号为k的数据流所需要的小颗粒时隙数量s大于剩余的空闲小颗粒时隙的数量,则给编号为m的灵活以太网客户信号中编号为k的数据流分配所有的空闲小颗粒时隙,并根据其剩余的带宽需求,将已经分配给其他灵活以太网客户信号的小颗粒时隙中的剩余带宽分配给当前灵活以太网客户信号,并更新相应的小颗粒时隙的分配结果、带宽分配结果、小颗粒时隙的剩余带宽数组中的对应元素的值;s38b:将已分配给编号为m的灵活以太网客户信号中编号为k的数据流的小颗粒时隙从当前基本单元帧中剩余的空闲小颗粒时隙的数组中去除,将动态数据传输优先级集合中最大数值的元素去除;作为优选的,所述步骤s3选用允许单个灵活以太网小颗粒时隙被多个灵活以太网客户信号数据流使用时,所述步骤s4具体为:迭代的执行所述步骤s32b至步骤s38b,直至当前基本单元帧中小颗粒时隙的剩余带宽数组中所有元素的值的和为0,或者满足所有灵活以太网客户信号数据流的资源传输带宽需求,输出当前基本单元帧中小颗粒时隙的分配结果和带宽分配结果,结束此步骤。
14.作为优选的,所述步骤s37b,若编号为m的灵活以太网客户信号中编号为k的数据流所需要的小颗粒时隙数量s大于剩余的空闲小颗粒时隙的数量,具体子步骤如下:第一步:分配所有的空闲小颗粒时隙给编号为m的灵活以太网客户信号中编号为k的数据流,并令当前基本单元帧中编号为m的灵活以太网客户信号中编号为k的数据流所对应的小颗粒时隙的分配结果中所有元素所对应的小颗粒时隙带宽分配为输入的小颗粒时隙的带宽,并更新当前基本单元帧中编号为m的灵活以太网客户信号中编号为k的数据流所对应的小颗粒时隙的分配结果中所有元素所对应的剩余带宽数组中的元素数值为0;第二步:计算剩余带宽需求;第三步:将已经分配给其他灵活以太网客户信号的小颗粒时隙中的剩余带宽分配给当前灵活以太网客户信号,直到所有的剩余带宽分配完毕,或者给当前灵活以太网客户信号分配的带宽可以满足其带宽需求;
第四步:更新当前基本单元帧中编号为m的灵活以太网客户信号中编号为k的数据流对应的小颗粒时隙的分配结果、带宽分配结果、小颗粒时隙的剩余带宽数组中的对应元素的值。
15.本发明公开了一种灵活以太网小颗粒时隙分配装置,所述装置包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述灵活以太网小颗粒时隙分配方法。
16.本发明公开了一种计算机可读存储介质,其特征在于:其上存储有程序,该程序被处理器执行时,实现上述灵活以太网小颗粒时隙分配方法。
17.本发明的有益效果:本发明一种灵活以太网小颗粒时隙分配方法及装置,充分考虑flexe calendar小颗粒时隙方案的结构特征,并考虑每个flexe client中存在多个数据流的特点,设计基于数据流的资源传输带宽需求、传输时延要求和flexe client的mac层帧缓存的剩余容量的动态数据传输优先级。同时,本发明提供两种根据flexe client的动态数据传输优先级的小颗粒时隙分配方法。在第一种方法中,单个flexe小颗粒时隙不能被多个flexe client数据流使用,该方法具有低复杂度的特点。在第二种方法中,单个flexe小颗粒时隙可以被多个flexe client数据流使用,可以进一步提高小颗粒时隙的带宽资源利用率。本发明提供的灵活以太网小颗粒时隙分配方法能够满足不同flexe client数据流的传输需求,并通过考虑mac层帧缓存的剩余容量,能有效降低数据掉包率,能够实现小颗粒时隙资源灵活、快速、动态调整分配,并且能够显著提高资源利用率,提升flexe client数据流服务质量。
附图说明
18.图1是本发明实施例的主要步骤流程图;图2是oif flexe标准中的时隙结构,以及小颗粒时隙方案中基本单元帧与小颗粒时隙结构示例图;图3是整个方案a情况下的小颗粒时隙分配算法步骤框图;图4是整个方案b情况下的小颗粒时隙分配算法步骤框图;图5是方案a中5个基本单元帧中对5个flexe client的小颗粒时隙分配结果图;图6是方案a中每个基本单元帧中对应的分配给每个flexe client的小颗粒时隙带宽资源利用率;图7是方案a中每个基本单元帧中所有小颗粒时隙的总体带宽资源利用率;图8是一个基本单元帧内方案a、方案b对应的flexe client小颗粒时隙带宽资源分配结果和对应的flexe client带宽分配满意率;图9是方案a、方案b对应的flexe client数量与总体资源利用率、flexe client带宽分配满意率关系图;图10是方案a、方案b对应的带宽资源负载率与总体资源利用率、flexe client带宽分配满意率关系图;图11是本发明实施例的装置示意图。
具体实施方式
19.为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
20.如图1所示,本发明实施例提供一种灵活以太网小颗粒时隙分配方法,包括如下步骤:步骤一:将每个基本单元帧作为flexe shim(flexible ethernet shim,灵活以太网垫层)层calendar(日历)小颗粒时隙分配单元,flexe shim层获取当前基本单元帧中的每个flexe client(灵活以太网客户信号)的传输需求与mac(medium access control,介质访问控制)层的帧缓存的剩余容量信息;图2是oif flexe标准中时隙结构,以及小颗粒时隙方案中基本单元帧与小颗粒时隙结构示例图。面向小颗粒时隙方案,在flexe shim层的calendar时隙分配单元中,将当前基本单元帧(即24个小颗粒时隙,用d表示基本单元帧中小颗粒时隙的数量)作为小颗粒时隙分配单元,用bg表示每个小颗粒时隙的带宽(即10 m),将基本单元帧的带宽表示为b,则每个小颗粒时隙的带宽可以表示为bg=b/d。小颗粒时隙在当前复帧结构中的位置可以通过基本单元帧编号n和基本单元帧中小颗粒时隙编号表示,即每个小颗粒时隙的顺序号可以表示为。
21.将flexe client的集合记为m={1,...,m},其中每个flexe client有k={1,...,k}个数据流。用表示第m个flexe client的第k个数据流的资源传输带宽需求。用表示第m个flexe client的第k个数据流的时延要求。用表示第m个flexe client的第k个数据流的mac层帧缓存的剩余容量。
22.步骤二:flexe shim层根据获取的flexe client信息计算动态数据传输优先级。
23.第m个flexe client的第k个数据流的动态数据传输优先级可以根据以下公式进行计算:其中, 、和分别为第m个flexe client的第k个数据流的资源传输带宽需求、时延要求和mac层帧缓存的剩余容量的权重系数。
24.根据上述公式,资源传输带宽需求越大、时延要求越小、mac层帧缓存的剩余容量越小,则动态数据传输优先级越大。
25.为了进一步增加上述动态数据传输优先级的作用,根据每个flexe client数据流的资源传输带宽需求、时延要求和mac层帧缓存的剩余容量的大小范围,对权重系数、和的值进行动态调整。具体的,可以根据以下公式进行权重系数、和的动态取值调整。
26.;其中,为资源传输带宽需求阈值,为时延要求阈值,为mac层帧缓存的剩余容量阈值。
27.上述公式中,均为正常数。其中,的取值大小应远大于,的取值大小应远小于,的取值大小应远小于。根据上述公式,当flexe client数据流的资源传输带宽需求大于一定阈值时,其权重系数的取值大小增大。当flexe client数据流的时延要求小于一定阈值时,其权重系数的取值大小增大。当flexe client数据流的mac层帧缓存的剩余容量小于一定阈值时,其权重系数的取值大小增大。这里提出的权重系数动态调整机制可以有效保障flexe client的服务质量,降低数据掉包率。
28.步骤三:flexe shim层的calendar时隙分配模块根据flexe client的动态数据传输优先级,利用轮询的方法进行小颗粒时隙分配,并为其预留小颗粒时隙带宽资源以保障服务质量。同时保证分配给每个flexe client的小颗粒时隙之间间隔尽量均匀。在小颗粒时隙分配过程中,calendar时隙分配模块判断当前基本单元帧内的小颗粒时隙剩余量,直到所有小颗粒时隙资源分配完毕,或者资源分配满足所有flexe client的业务传输需求。
29.利用轮询的方法进行小颗粒时隙分配包括两种算法方案。在第一种分配方案中(称为方案a),单个flexe小颗粒时隙不能被多个flexe client使用,即每个小颗粒时隙至多分配给1个flexe client数据流,该方法具有低复杂度的特点。在第二种分配方案中(称为方案b),单个flexe小颗粒时隙可以被多个flexe client使用,即允许flexe client利用已经分配给其他flexe client的小颗粒时隙中的剩余带宽,该方法可以进一步提高小颗粒时隙的带宽资源利用率。在方案b中,优先将剩余空闲小颗粒时隙(即未分配的小颗粒时隙)分配给每个flexe client,只有当剩余空闲小颗粒时隙带宽不足时,才进行小颗粒时隙剩余带宽的分配。
30.方案a:下面给出方案a,单个flexe小颗粒时隙不能被多个flexe client使用,即每个小颗粒时隙至多分配给1个flexe client数据流情况下的小颗粒时隙分配算法执行过程如下:第一步:输入:每个flexe client数据流的动态数据传输优先级;每个flexe client数据流的资源传输带宽需求;每个小颗粒时隙的带宽;
初始化:设置当前基本单元帧中剩余的空闲小颗粒时隙数组为=[1;2;...;24];第二步:小颗粒时隙分配算法的执行:步骤1、将每个flexe client数据流的动态数据传输优先级的数值按照从大到小的顺序进行排序,结果表示为集合;步骤2、获取集合中最大数值的元素所对应的flexe client编号m和其数据流编号k,表示为,即,其中表示集合中元素的总数;步骤3、初始化:设置当前基本单元帧中编号为m的flexe client中编号为k的数据流所对应的小颗粒时隙的分配结果为空集, =;步骤4、计算编号为m的flexe client中编号k的数据流所需要的小颗粒时隙数量,其中表示向上取整函数;步骤5、为了降低flexe引起的延迟和抖动,需保证分配的小颗粒时隙之间间隔尽量均匀。计算当前基本单元帧中剩余小颗粒时隙分配需满足的间隔,其中表示数组中的元素数量,表示向下取整函数;步骤6、如果编号为m的flexe client中编号为k的数据流所需要的小颗粒时隙数量,并且剩余的空闲小颗粒时隙大于等于需要的小颗粒时隙数量,则按照以下规则进行小颗粒时隙分配:步骤6.1、初始化:i=1;步骤6.2、分配小颗粒时隙:,其中表示数组中的第x个元素;步骤6.3、更新的数值:i=i+1;步骤6.4、重复步骤6.2和步骤6.3,直到,进入步骤8;步骤7、如果编号为m的flexe client中编号为k的数据流所需要的小颗粒时隙数量,并且剩余的空闲小颗粒时隙小于需要的小颗粒时隙数量,则将所有空闲小颗粒时隙分配给编号为m的flexe client中编号为k的数据流,即;并进入步骤8:步骤8、将已分配给编号为m的flexe client中编号为k的数据流的小颗粒时隙从当前基本单元帧中剩余的空闲小颗粒时隙的数组中去除,即,将集合中最大数值的元素从中去除;步骤9、重复第二步中的步骤1至步骤8,直到为空集,或者满足所有flexe client数据流的资源传输带宽需求,则算法停止。输出当前基本单元帧中小颗粒时
隙的分配结果。
[0031]
整个方案a的小颗粒时隙分配算法步骤框图如图3所示。
[0032]
方案b:下面给出方案b,单个flexe小颗粒时隙可以被多个flexe client使用,即允许flexe client利用已经分配给其他flexe client的小颗粒时隙中的剩余带宽的情况下的小颗粒时隙分配算法执行过程如下:第一步:输入:每个flexe client数据流的动态数据传输优先级;每个flexe client数据流的资源传输带宽需求;每个小颗粒时隙的带宽;初始化:设置当前基本单元帧中剩余的空闲小颗粒时隙数组为=[1;2;...;24];设置当前基本单元帧中小颗粒时隙的剩余带宽数组中的所有元素的值为,其中表示中第个元素,对应第个小颗粒时隙;第二步:小颗粒时隙分配算法的执行:步骤1、将每个flexe client数据流的动态数据传输优先级的数值按照从大到小的顺序进行排序,结果表示为集合;步骤2、获取集合中最大数值的元素所对应的flexe client编号m和其数据流编号k,表示为,即,其中表示集合中元素的总数;步骤3、初始化:步骤3.1、设置当前基本单元帧中编号为m的flexe client中编号为k的数据流所对应的小颗粒时隙的分配结果为空集,=;步骤3.2、设置当前基本单元帧中编号为m的flexe client中编号为k的数据流占用的小颗粒时隙的带宽分配结果为空集, =;步骤4、计算编号为m的flexe client中编号为的数据流所需要的小颗粒时隙数量,其中表示向上取整函数;步骤5、如果编号为m的flexe client中编号为k的数据流所需要的小颗粒时隙数量s小于等于剩余的空闲小颗粒时隙的数量,即按照以下规则进行小颗粒时隙分配:步骤5.1、为了降低flexe引起的延迟和抖动,需保证分配的小颗粒时隙之间间隔尽量均匀。计算当前基本单元帧中剩余小颗粒时隙分配需满足的间隔,其中表示数组中的元素数量,表示向下取整函数;步骤5.2、初始化:i=1;
步骤5.3、分配小颗粒时隙:,其中表示数组中的第x个元素;步骤5.4、更新的数值:;步骤5.5、重复步骤5.3和步骤5.4,直到,进入步骤5.6;步骤5.6、计算小颗粒时隙的带宽分配结果和对应的剩余带宽数组中的元素数值:令中除了最后一个元素(表示为)的其他元素所对应的小颗粒时隙带宽分配,并且令。计算最后一个元素所对应的小颗粒时隙带宽分配,其中表示中的元素数量,并且令,其中表示中最后一个元素对应的值,进入步骤7;步骤6、如果编号为m的flexe client中编号为k的数据流所需要的小颗粒时隙数量s大于剩余的空闲小颗粒时隙的数量,即,按照以下规则进行小颗粒时隙分配:步骤6.1、首先分配所有的空闲小颗粒时隙给编号为m的flexe client中编号为k的数据流,。令中所有元素所对应的小颗粒时隙带宽分配,并且令;步骤6.2、计算剩余带宽需求;步骤6.3、将已经分配给其他flexe client的小颗粒时隙中的剩余带宽分配给当前flexe client,初始化:i=1;步骤6.4、计算,如果,进入步骤6.5;如果,进入步骤6.6;如果,进入步骤6.7;步骤6.5、更新,更新,更新对应的,进入步骤6.7;步骤6.6、更新,更新,更新对应的;步骤6.7、更新,;步骤6.8、重复步骤6.4至步骤6.7,直到,或,进入步骤7;步骤7、将已分配给编号为m的flexe client中编号为k的数据流的小颗粒时隙
从当前基本单元帧中剩余的空闲小颗粒时隙的数组中去除,即,将集合中最大数值的元素从中去除;步骤8、重复第二步中的步骤1至步骤7,直到中所有元素的值的和为0,即,或者满足所有flexe client数据流的资源传输带宽需求,则算法停止。输出当前基本单元帧中小颗粒时隙的分配结果;当前基本单元帧中小颗粒时隙的带宽分配结果,其中分别表示第个flexe client的第个数据流占用的第个小颗粒时隙。
[0033]
整个方案b的小颗粒时隙分配算法步骤框图如图4所示。
[0034]
采用上述算法后进行性能分析,从资源利用率、带宽分配满意率等几个维度进行性能对比。将分配给第m个flexe client的第k个数据流的小颗粒时隙数量记为,则这些小颗粒时隙的资源利用率可以表示为:根据上述公式,flexe小颗粒时隙带宽分配总的资源利用率可以表示为:第m个flexe client的第k个数据流的带宽分配满意率可以表示为:除特殊说明外,以下仿真结果都在1个复帧中进行。1个复帧中包含20个基本单元帧,每个基本单元帧又包含24个小颗粒时隙。仿真结果以1个基本单元帧为基本时隙分配单元,在每个基本单元帧开始的时候,flexe shim获取每个flexe client的每个数据流的资源传输带宽需求,并将该基本单元帧中的24个小颗粒时隙分配给每个flexe client的每个数据流。
[0035]
不失一般性的,为了便于展示,除特殊说明外,该仿真结果仅考虑每个flexe client有1个数据流的情况,并且有5个flexe client进行数据传输。除特殊说明外,每个flexe client的带宽需求为0到60 mbps之间产生的随机数,并且在每个基本单元帧开始的时候随机生成。
[0036]
方案a小颗粒时隙分配结果:图5是方案a(每个小颗粒时隙至多分配给1个flexe client数据流)中5个基本单元帧(共120个小颗粒时隙)中对5个flexe client的小颗粒时隙分配结果图。其中,如果将编号为l的小颗粒时隙分配给编号为m的flexe client(用户),则在图5中相应位置进行标
记(分别用方框、圆形、菱形、叉形、星星形标记不同用户的时隙分配结果)。图5结果表明,提出的小颗粒时隙分配方案能够满足时隙分配的需求,并且尽可能保证了分配的小颗粒时隙之间的间隔尽量均匀。
[0037]
方案a每个flexe client的小颗粒时隙带宽资源利用率:图6是方案a中每个基本单元帧中对应的分配给每个flexe client的小颗粒时隙带宽资源利用率。每个flexe client的小颗粒带宽资源利用率主要受flexe client数据流资源传输带宽需求影响,例如当flexe client数据流资源传输带宽需求较小的时候,根据每个小颗粒至多分配给1个flexe client数据流的规则,该flexe client仍然占用所分配的小颗粒时隙的全部带宽资源,从而影响小颗粒时隙带宽资源利用率。
[0038]
方案a每个基本单元帧中所有小颗粒时隙的总体带宽资源利用率:图7是方案a中每个基本单元帧中所有小颗粒时隙的总体带宽资源利用率。所有小颗粒时隙的总体带宽资源利用率同时受flexe client资源传输带宽需求和flexe client数量影响。当flexe client资源传输带宽需求较小、flexe client数量较少的时候,小颗粒时隙资源得不到有效利用,即仅使用部分小颗粒时隙带宽即可满足flexe client资源传输带宽需求,从而影响所有小颗粒时隙的总体带宽资源利用率。
[0039]
flexe client小颗粒时隙带宽资源分配结果和对应的flexe client带宽分配满意率:图8是一个基本单元帧内方案a、方案b对应的flexe client小颗粒时隙带宽资源分配结果和对应的flexe client带宽分配满意率。其中,图8中的(a)和图8中的(c)分别表示一个基本单元帧内方案a、方案b对应的flexe client小颗粒时隙带宽资源分配结果;图8中的(b)和图8中的(d)分别表示一个基本单元帧内方案a、方案b对应的flexe client带宽分配满意率。
[0040]
图8的结果表明,相较于方案a,由于方案b允许单个flexe小颗粒时隙可以被多个flexe client使用,因此提高了小颗粒时隙资源利用率,从而提高了flexe client带宽分配满意率。
[0041]
flexe client数量与总体资源利用率、flexe client带宽分配满意率的关系:图9是方案a、方案b对应的flexe client数量与总体资源利用率、flexe client带宽分配满意率关系图。为了降低随机性的影响,图9中的结果均为在10000个基本单元帧中进行仿真后进行平均得到的结果。
[0042]
图9的结果表明,当flexe client数量较少的时候,小颗粒时隙总体资源利用率较低。这是因为当flexe client数量较少的时候,仅使用部分小颗粒时隙带宽即可满足flexe client资源传输带宽需求(由图9中flexe client数量较少的时候所对应的flexe client带宽分配满意率可以得知),从而影响所有小颗粒时隙的总体带宽资源利用率。图9还表明随着flexe client数量的增加(如图9中flexe client数量等于12的时候),小颗粒时隙总体资源利用率增长较为平缓。这是因为当flexe client数量较多的时候,所有小颗粒时隙带宽资源都被分配给了flexe client,从而提高了所有小颗粒时隙的总体带宽资源利用率,并且资源利用率基本保持稳定。图9还表明了随着flexe client数量的增加,所有小颗粒时隙带宽资源都被分配给了flexe client,部分flexe client的资源传输带宽需求仍然不能得到有效满足(由图9中flexe client数量较大的时候所对应的flexe client带宽分
配满意率可以得知),因此flexe client带宽分配满意率随着flexe client数量的增加持续降低。图9对比方案a和方案b可以得知,在flexe client数量较大的情况下,由于方案b允许多个flexe client共享同一个小颗粒时隙(如图8中的(a)和图8中的(c)一个基本单元帧内方案a、方案b对应的flexe client小颗粒时隙带宽资源分配结果所示),因此方案b可以有效提高带宽资源利用率,进而提升flexe client带宽分配满意率(如图8中的(b)和图8中的(d)一个基本单元帧内方案a、方案b对应的flexe client带宽分配满意率所示)。
[0043]
带宽资源负载率与总体资源利用率、flexe client带宽分配满意率关系:图10是方案a、方案b对应的带宽资源负载率与总体资源利用率、flexe client带宽分配满意率关系图。具体的,带宽资源负载率是指在一个基本单元帧内,所有flexe client总的资源传输带宽需求和基本单元帧的带宽的比值。其中,图10中的(a)是flexe client数量等于10的情况下的结果;图10中的(b)是flexe client数量等于15的情况下的结果。为了降低随机性的影响,图10中的结果均为在10000个基本单元帧中进行仿真后进行平均得到的结果。
[0044]
图10的结果表明了当带宽资源负载率较低的时候,方案a和方案b都可以完全满足flexe client带宽传输需求,并且仅需要使用部分小颗粒时隙资源,因此导致较低的资源利用率。当带宽资源负载率升高之后,方案a和方案b都不能满足flexe client带宽传输需求,然而因为方案b允许flexe client利用已经分配给其他flexe client的小颗粒时隙中的剩余带宽,因此提高了资源利用率,进而相较与方案a,可以达到更高的flexe client带宽分配满意率。
[0045]
对比图10中的(a)和图10中的(b)可以得知,在带宽资源负载率较高的时候,flexe client数量越大,方案a和方案b能达到的flexe client带宽分配满意率越低。这是因为基本单元帧的带宽无法满足所有flexe client总的资源传输带宽需求,方案a和方案b都优先给资源传输带宽较高的flexe client分配资源,因此flexe client数量越多,分配的带宽资源无法匹配资源传输带宽需求的flexe client也越多,从而导致更低的总体flexe client带宽分配满意率。
[0046]
参见图11,本发明实施例还提供了一种灵活以太网小颗粒时隙分配装置,还包括存储器和一个或多个处理器,存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述实施例中的种灵活以太网小颗粒时隙分配方法。
[0047]
本发明一种灵活以太网小颗粒时隙分配装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图11所示,为本发明一种灵活以太网小颗粒时隙分配装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图11所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0048]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实
施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0049]
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的种灵活以太网小颗粒时隙分配方法。
[0050]
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、sd卡、闪存卡(flash card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
[0051]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。