基于服务等级协定SLA的多信道上行动态调度方法与流程

文档序号:20704290发布日期:2020-05-12 16:11阅读:224来源:国知局
基于服务等级协定SLA的多信道上行动态调度方法与流程
本发明属于通信
技术领域
,特别涉及一种多信道的上行动态带宽分配方法,可应用于各种通信的局域网和接入网领域。
背景技术
:在基于共享媒质的局域网和接入网中,为实现将信道资源合理和无冲突地分配给各个用户,常采用一个中心节点到多个从属节点的逻辑拓扑结构。在这种网络结构中,中心节点统一为所有从属节点分配信道资源。中心节点和从属节点之间可以直接进行数据通信。通常将从属节点向中心节点传输的数据流称为上行数据流,将中心节点向从属节点传输的数据流称为下行数据流。在实现点到多点通信的广播信道中,为提供服务质量qos保证,中心节点常采用基于周期性报告/授权的时分双工/时分多址机制来实现多信道资源的动态分配。在这种机制中,把每个子信道划分成连续且互不重叠的传输周期,其中所有子信道的传输周期在时域都是对齐的。每个周期包括上行传输区段和下行传输区段,上行传输区段依次由多个从属节点的上行传输区间组成,下行传输区段依次由多个从属节点的下行传输区间组成,其中所有子信道的上下行传输区的倒换间隔在时域都是对齐的。各个从属节点生成报告帧并发送给中心节点,报告其上行信道需求;同时,中心节点获取各个从属节点的下行信道需求。中心节点根据这些信息生成规划帧并发送给所有从属节点,规划帧携带之后某一个传输周期的信道分配方案。中心节点和各从属节点在规划帧规定的传输区间进行数据传输。中心节点和从属节点之间需要通过信道传输上行数据和下行数据。在多信道的条件下,每个从属节点在接入网络时,需要确定好该从属节点所绑定的具体子信道,可以是一个子信道,也可以是多个子信道。每个从属节点在不同的子信道上的调制格式可能不同,导致每个周期中心节点在决定不同从属节点的上行传输区间和下行传输区间时,不同的调度算法会生成不同的多信道区间规划方案。现有的时分双工/时分多址多信道资源调度算法有两类:第一类是基于固定带宽的分配方法,其由中心节点为各从属节点在固定的子信道分配固定的信道资源,这类调度算法实现简单,但所分配的固定信道资源无法反映节点的实际业务需求,因此只适于恒定速率数据流。如果节点没有数据业务需要传输,会产生信道资源的浪费;如果节点有突发性业务到达,则会因为分配的信道资源不足导致较大的时延甚至丢包。第二类是在报告/授权机制下的动态调度算法,其由各个从属节点在规定时刻向中心节点发送报告帧,该报告帧携带调度算法所需的上行信息。中心节点根据自身存储的下行信息和各个从属节点报告的上行信息执行调度算法;执行完成后,将生成的调度结果在规定时刻通过规划帧发布到各个从属节点,各从属节点在规划帧授权的传输区间严格进行上下行传输。现在各类多信道网络系统中越来越多地使用这种动态调度算法。比较经典的动态调度算法主要归为以下四类:第一类:轮询调度算法及其优化算法。这类算法主要包括轮询调度算法和加权轮询调度算法。这两种算法依次询问每个从属节点,轮询调度算法将其数据全部发送到所绑定的子信道,加权轮询调度算法将其数据按加权发送到所绑定的子信道,每遍历完一遍用户后重新开始遍历。这两种算法虽然执行简单,但会导致某段时间业务量较大的用户独占所有绑定子信道的所有带宽资源,用户间的公平性严重降低。第二类:基于最优化的调度算法。这类算法主要包括基于吞吐量最大化和基于时延最小化的优化算法。这两种算法将多信道条件下多用户数据传输建模为线性规划。基于吞吐量最大化调度算法求解的目标是寻求每个传输周期吞吐量的最大值,每个子信道为调制格式较好的用户服务,导致调制格式较差的用户无法获得带宽资源;基于时延最小化调度算法求解的目标是寻求每个传输周期时延的最小值,优先为等待时延较大的用户服务,使得某段时间各个子信道优先为调制格式较差的用户服务,导致调制格式好的用户无法获得稳定带宽。第三类:基于历史分配结果的调度算法。这类算法主要包括基于历史平均吞吐量和基于历史需求带宽的调度算法。这两种算法需要缓存很多历史数据。基于历史平均吞吐量的算法讲求用户间的最公平,将带宽资源优先分配给历史吞吐量较低的用户,导致某些传输周期历史平均吞吐量较高的用户无法获得稳定带宽;基于历史需求带宽的调度算法讲求用户的满足程度,将带宽资源优先分配给历史满足程度较低的用户,导致某些传输周期历史满足程度较高的用户无法获得稳定带宽。第四类:对从属节点敏感的调度算法。这类算法主要包括对从属节点接收缓存敏感的调度和对从属节点qos信息敏感的调度。对从属节点敏感的调度算法需要各个从属节点报告接收端剩余缓存的信息;对从属节点qos信息敏感的调度算法需要各个从属节点报告接收端qos信息。这两种调度算法在每周期需要采集很多参数,计算复杂度大,导致计算周期时延增大,使得算法的实时性严重降低。技术实现要素:本发明的目的在于针对以上现有调度算法的不足,结合多从属节点、多差异信道的特性,提出一种基于服务等级协定sla的多信道上行动态调度方法,以使得不同服务等级的用户均能获得其对应等级的服务带宽,保证用户间的相对公平和各个子信道上较好的负载均衡。为实现上述目的,本发明的技术方案包括如下步骤:(1)构建星型网络:设网络中有一个中心节点a,p个从属节点ni,v个子信道,i从1到p,每个子信道有w个子载波用于用户数据传输,并设ni在第j个子信道上的每个子载波的调制格式为mij,且mij=0表示ni未绑定子信道j,mij≠0表示ni绑定子信道j,其值表示ni在子信道j上的每个子载波在固定时隙承载ni的比特数,中心节点a和p个从属节点形成星型逻辑拓扑结构;(2)设计网络系统的服务等级:设计l种服务等级,每种等级均设有标准带宽服务值bs、无数据传输时最低带宽值bl、峰值带宽值bh、无数据传输时带宽减小值bd、进行补偿时带宽增加值bi,并设ni的服务等级为si,其所对应的服务参数分别为bsi、bli、bhi、bdi和bii;(3)确定每个子信道的上行传输区间:在时域上,将时间划分为连续且互不重叠的传输周期,设每个传输周期的时长为tb;设该星形网络中带宽分配的最小分配粒度为ru,其在频域上占用f个子载波,在时域上占用ts时长,其中0<ts<tb,ts整除tb,0<f<w,f整除w;划分子信道每个传输周期的上行和下行传输区间,得到每个子信道每个传输周期用于上行的最小粒度ru块数tu;(4)获得从属节点ni的上行数据量uqi;(5)求解从属节点ni在第j个子信道用于上行的最小分配粒度ru块数xij:(5a)设前一个传输周期为从属节点ni计算的上行带宽为hi,根据该上行带宽hi和从属节点ni的上行数据量uqi及所选择的服务等级,确定从属节点ni的初始上行带宽uwi;(5b)建立由一个目标maxz与四个约束条件<1>、<2>、<3>、<4>组成的线性规划方程:其中,z为每个传输周期中各个子信道的剩余最小分配粒度ru块的最小值,p为从属节点个数,xij为从属节点ni在第j个子信道用于上行的最小分配粒度ru块数,tu为每个子信道上,每个传输周期上行最小分配粒度ru块数,v为子信道个数,mij为从属节点ni在第j个子信道上的每个子载波的调制格式,f为每个最小分配粒度ru中的子载波个数,tb为传输周期时长,uwi为从属节点ni得到的初始上行分配带宽,l为一个正无穷的数;(5c)利用线性规划求解器求解上述线性规划方程,得到从属节点ni在第j个子信道用于上行的最小分配粒度ru块数xij;(6)计算每个子信道的上行剩余最小分配粒度ru块数rej;(7)对(6)的结果进行判断:如果所有子信道的rej均为0,则执行(9);如果某个子信道的rej不为0,则执行(8);(8)将各个子信道上行剩余带宽补偿给部分从属节点;(9)计算从属节点ni在第j个子信道的上行传输区间[ubij,ueij],更新该从属节点ni前一个传输周期计算的分配带宽值hi为uwi。本发明与现有调度算法相比,具有如下优点:第一,由于上行调度中设计了服务等级协定表,依据不同的服务等级为用户提供不同的带宽服务,保证了不同服务等级的用户按照协定获得实际带宽,保证资源分配的相对公平性。第二,由于将多信道的上行调度建模为最大化各个子信道最小剩余带宽的线性规划问题,求解最优化方程以保证各个子信道的负载均衡。附图说明图1为本发明的实现流程图;图2是本发明所涉及的网络系统的逻辑拓扑结构;图3是本发明的实施例构建的星型网络结构图。具体实施方式以下结合附图对本发明的实施例作进一步详细描述。参照图1,本实施例的实现步骤如下步骤1,构建星型网络。参照图2,星型网络由一个中心节点a和多个从属节点ni组成,中心节点与从属节点通过信道传输数据帧,多信道条件下,各个从属节点绑定不同的子信道,从属节点在中心节点规划的子信道区间上传输数据。本实施例中,使用的星型网络由1个中心节点a和5个从属节点组成,如图3所示,从属节点编号为n1到n5,中心节点和从属节点之间有3个子信道,每个子信道用于用户数据传输的子载波个数w=4000,各个从属节点在绑定子信道的每个子载波的调制格式如表1所示。表1各个从属节点所绑定的子信道及对应子信道上每个子载波的调制格式从属节点绑定子信道在对应子信道上的每个子载波的调制格式n11,2m11=14,m12=10,m13=0n21,3m21=10,m22=0,m23=8n32,3m31=0,m32=6,m33=14n42m41=0,m42=12,m43=0n51,2,3m51=9,m52=14,m53=10表1中,从属节点ni在第j个子信道的每个子载波的调制格式mij为0表示从属节点ni未绑定子信道j;mij≠0表示从属节点ni绑定子信道j,其值表示在绑定子信道j上的每个子载波的调制格式,其中i从1到5,j从1到3。步骤2,设计网络系统的服务等级。设计8种服务等级,每种等级均设有标准带宽服务值bs、无数据传输时最低带宽值bl、峰值带宽值bh、无数据传输时带宽减小值bd、进行补偿时带宽增加值bi,如表2所示。表2服务等级表服务等级bs(mbps)bl(mbps)bh(mbps)bd(mbps)bi(mbps)120530522505601023100101202054150101703055200202405010630020350501075005060050208800509005020本实施例中,各个从属节点选择的服务等级如表3所示。表35个从属节点选择的服务等级表3中从属节点ni所对应服务参数分别为bsi、bli、bhi、bdi和bii。步骤3,确定每个子信道的上行传输区间。星型网络中将信道在时间轴上划分为连续、大小相同的传输周期,在频域上将子载波划分为连续的组,其目的是将信道资源划分为一个一个的最小分配粒度ru块,为多用户提供更精细的带宽分配;在每个传输周期内,将每个子信道的一部分最小分配粒度ru块划分给上行数据传输,一部分最小分配粒度ru块划分给下行数据传输。本实施例中,传输周期时长tb=1ms,带宽分配的最小分配粒度ru在频域上占用子载波个数f=20,在时域上占用时长ts=20μs,则每个传输周期每个子信道上最小分配粒度ru有10000个,每个传输周期中将每个子信道的最小分配粒度ru块的前5000个用于上行,即tu=5000。步骤4,获得从属节点ni的上行数据量uqi。在每个传输周期获取每个从属节点的上行数据量是为了提供更灵活的带宽分配,各个从属节点的上行数据量在每个传输周期均会向中心节点a进行报告,该数据量存储在中心节点a处。本实施例中,各个从属节点的上行数据量uqi如表4所示。表4各个从属节点的上行数据量从属节点上行数据量(kbit)n1uq1=80n2uq2=30n3uq3=50n4uq4=60n5uq5=100步骤5,求解从属节点ni在第j个子信道用于上行的最小分配粒度ru块数xij。(5a)根据前一个传输周期为从属节点ni计算的上行带宽为hi和从属节点ni的上行数据量uqi及所选择的服务等级,确定从属节点ni的初始上行带宽uwi;本实施例中,各个从属节点前一个传输周期的计算带宽如表5所示。表5各个从属节点前一个传输周期的计算带宽从属节点前一个传输周期计算带宽(mbps)n1h1=220n2h2=150n3h3=10n4h4=30n5h5=560各个从属节点的初始上行带宽uwi采用如下公式计算:其中,bli为从属节点ni在无数据传输时的最低带宽值,uqi为从属节点ni的上行数据量,hi为从属节点ni在前一个传输周期的计算带宽值,bdi为从属节点ni在无数据传输时带宽减小值,bsi为从属节点ni的标准带宽服务值。本实施例中,各个从属节点的初始上行带宽uwi如表6所示。表6各个从属节点的初始上行带宽从属节点初步分配带宽大小(mbps)n1uw1=200n2uw2=150n3uw3=100n4uw4=20n5uw5=500(5b)建立由一个目标maxz与四个约束条件<1>、<2>、<3>、<4>组成的线性规划方程:(5b1)设每个传输周期中,各个子信道的剩余最小分配粒度ru块的最小值为z,线性规划的目标是求z的最大化,得到目标方程maxz;(5b2)设在每个子信道,各个从属节点获得的最小分配粒度ru块与(5b1)中最小剩余最小分配粒度ru块最小值z之和不能超过每个传输周期上行剩余最小分配粒度ru块总数tu,得到第一个约束条件:其中,p为从属节点的个数,xij为从属节点ni在第j个子信道用于上行的最小分配粒度ru块数,tu为每个传输周期,每个子信道的上行最小分配粒度ru块数,v为子信道个数;(5b3)设从属节点ni在一个传输周期内,在各个子信道中使用带宽的总和不能超过为其分配的带宽,也不能超过该从属节点占用全部的绑定子信道时的带宽,得到第二个约束条件:其中,v为子信道个数,xij为从属节点ni在第j个子信道用于上行的最小分配粒度ru块数,mij为从属节点ni在第j个子信道上的每个子载波的调制格式,f为每个最小分配粒度ru中的子载波个数,tb为传输周期时长,uwi为从属节点ni得到的初始上行分配带宽,p为从属节点的个数;(5b4)根据从属节点ni在第j个子信道的每个子载波的调制格式mij=0,则该从属节点在第j个子信道上的最小分配粒度ru块数xij=0的关系,得到第三个约束条件:其中,mij为从属节点ni在第j个子信道上的每个子载波的调制格式,l是一个正无穷大的数,v为子信道个数;(5b5)根据从属节点ni在第j个子信道上的最小分配粒度ru块数xij应大于等于0的规则,得到第四个约束条件:其中,p为从属节点的个数,v为子信道的个数;(5b6)由(5b1)、(5b2)、(5b3)、(5b4)和(5b5)建立线性规划方程:其中,z为每个传输周期中各个子信道的剩余最小分配粒度ru块的最小值,p为从属节点个数,xij为从属节点ni在第j个子信道用于上行的最小分配粒度ru块数,tu为每个子信道上,每个传输周期上行最小分配粒度ru块数,v为子信道个数,mij为从属节点ni在第j个子信道上的每个子载波的调制格式,f为每个最小分配粒度ru中的子载波个数,tb为传输周期时长,uwi为从属节点ni得到的初始上行分配带宽,l为一个正无穷大的数。(5c)利用gun线性规划工具集glpk求解器求解上述线性规划方程,得到从属节点ni在第j个子信道用于上行的最小分配粒度ru块数xij。gnu线性规划工具集glpk求解器是一款开源的线性规划求解器,主要用于求解大规模的线性规划问题和混合整型规划问题,使用glpk求解器求解(5b)中的线性规划方程。本实施例中,求解出的各个从属节点在所绑定子信道获得最小分配粒度ru块数,如表7所示。表7各个从属节点在所绑定子信道获得的最小分配粒度ru块数子信道n1n2n3n4n51x11=0x21=786x31=0x41=0x51=8172x12=1048x22=0x32=0x42=87x52=4683x13=0x23=0x33=374x43=0x53=1229步骤6,计算每个子信道的上行剩余最小分配粒度ru块数rej。每个子信道的上行剩余最小分配粒度ru块数通过以下公式计算:其中,rej为第j个子信道的上行剩余最小分配粒度ru块数,tu为每个传输周期每个子信道上用于上行的最小分配粒度ru块数,p为从属节点的个数,xij为从属节点ni在第j个子信道用于上行的最小分配粒度ru块数。本实施例中,利用上述公式计算各个子信道的剩余最小分配粒度ru块数rej如表8所示。表8各个子信道的剩余最小分配粒度ru块数子信道编号剩余ru数1re1=33972re2=33973re3=3397步骤7,根据步骤6的结果进行不同的操作。如果所有子信道的剩余最小分配粒度ru块rej均为0,则执行步骤9;如果某个子信道的剩余最小分配粒度ru块rej不为0,则执行步骤8。本实施例中,三个子信道的剩余最小分配粒度ru块rej不为0,执行步骤8。步骤8,将各个子信道上行剩余带宽补偿给部分从属节点。本步骤的具体实现如下:(8a)从前一个传输周期最后一个被补偿的从属节点开始遍历,对遍历到的从属节点ni执行(8b);本实例中,前一个传输周期最后一个被补偿的从属节点为n1;(8b)判断从属节点ni是否已被遍历或者所有子信道的上行剩余最小分配粒度ru块数rej为0:如果从属节点ni已经被遍历或者所有子信道的上行剩余最小分配粒度ru块数rej均为0,则执行(9);如果从属节点ni没有被遍历,且有的子信道的上行剩余最小分配粒度ru块数rej不为0,则执行(8c);(8c)判断从属节点ni的上行数据量uqi是否大于该从属节点ni在传输周期传输的标准数据量bsi*tb:如果uqi>bsi*tb,则执行(8d);如果uqi≤bsi*tb,则返回(8a);本实施例中,只有从属节点n4的上行数据量uq4=60kbit大于从属节点n4在标准带宽值下传输的数据量bsi*tb=20.48kbit;(8d)计算从属节点ni的补偿数据量上限oi:其中,bii为对从属节点ni进行补偿时的带宽增加值,tb为传输周期的时长,hi为从属节点ni在前一个传输周期计算的上行带宽,bsi为从属节点ni的标准带宽服务值,bhi为从属节点ni的峰值带宽值;本实施例中,从属节点n4补偿数据量上限o4为10.24kbit;(8e)遍历从属节点ni所绑定的各个子信道,对遍历到的子信道的上行剩余最小分配粒度ru块数进行判断,如果遍历到的子信道的剩余最小分配粒度ru块数为0,则返回(8a),否则,执行(8f);(8f)计算从属节点ni在各个子信道实际补偿的最小分配粒度ru块数xcij,更新从属节点ni在各个子信道的最小分配粒度ru块数xij和计算的初始带宽uwi;本实施例中,由于从属节点n4只绑定了第2个子信道,且该子信道剩余的最小分配粒度ru块足够传输从属节点n4的补偿数据量上限o4,所以在第二个子信道为从属节点n4进行补偿,其步骤如下:(8f1)设从属节点ni剩余补偿的数据量为ohi,并将ohi初始化为从属节点ni的补偿数据量上限oi;(8f2)对从属节点ni绑定的子信道进行遍历,对遍历到的子信道执行(8f3);(8f3)判断第j个子信道的上行剩余最小分配粒度ru块数rej是否为0:如果rej为0,则返回(8f1);如果rej不为0,则执行(8f4);(8f4)计算从属节点ni在第j个子信道实际补偿的最小分配粒度ru块数xcij:其中,mij为从属节点ni在第j个子信道的每个子载波的调制格式,f为最小分配粒度ru块中子载波数;本实施例中,从属节点n4在第2个子信道实际补偿的最小分配粒度ru块数xc42=43,从属节点n4在其他子信道实际补偿的最小分配粒度ru块数xc41和xc43均为0;(8f5)更新从属节点ni剩余补偿的数据量ohi:ohi=ohi-xcij*mij*f其中,xcij为从属节点ni在第j个子信道实际补偿的最小分配粒度ru块数,mij为从属节点ni在第j个子信道的每个子载波的调制格式,f为最小分配粒度ru块中子载波数;本实施例中,更新从属节点n4剩余补偿的数据量oh4=0;(8f6)更新第j个子信道的上行剩余最小分配粒度ru块数rej=rej-xcij;本实施例中,更新第2个子信道的上行剩余最小分配粒度ru块数re2=3354;(8f7)更新从属节点ni在第j个子信道的上行的最小分配粒度ru块数xij=xij+xcij;本实施例中,更新从属节点n4在第2个子信道的上行的最小分配粒度ru块数x42为130;(8f8)更新从属节点ni的初始上行带宽uwi:其中,xcij为从属节点ni在第j个子信道实际补偿最小分配粒度ru块数,mij为从属节点ni在第j个子信道的每个子载波的调制格式,f为最小分配粒度ru块中子载波数,tb为传输周期时长。本实施例中,更新从属节点n4的初始上行带宽uw4=30mbps;步骤9,计算从属节点ni在第j个子信道的上行传输区间[ubij,ueij],更新该从属节点ni前一个传输周期计算的分配带宽值hi为uwi。其中,ubij为从属节点ni在第j个子信道的起始最小分配粒度ru块编号,ueij为从属节点ni在第j个子信道的结束最小分配粒度ru块编号,xkj为从属节点nk在第j个子信道的最小分配粒度ru块数。本实施例中,各个从属节点在各个子信道的上行传输区间如表9所示。表9各个从属节点在所绑定子信道的上行传输区间子信道n1n2n3n4n51[0,0][1,786][0,0][0,0][787,1603]2[1,1048][0,0][0,0][1049,1178][1179,1646]3[0,0][0,0][1,374][0,0][375,1603]表9中,如果从属节点ni在第j个子信道的上行传输区间为[0,0],则代表该从属节点ni在第j个子信道没有获得上行带宽;如果从属节点ni在第j个子信道的上行传输区间不为[0,0],则代表允许该从属节点ni在第j个子信道使用的具体上行传输区间。以上描述仅是本发明的一个具体事例,并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明的内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1