基于前向阀门的数据包传输调度方法和装置与流程

文档序号:13734495阅读:224来源:国知局
技术领域本发明涉及无线通信领域,特别是指一种基于前向阀门的数据包传输调度方法和装置。

背景技术:
在能源日益紧张的背景下,追求较高的能量效率是无线通信发展的一个重要目标,而低能耗数据包传输是实现未来无线通信较高能量效率的关键部分。对于给定大小的数据包,传输速率越小,传输时间越长,相应的传输能耗就越小。下面将以AWGN(加性高斯白噪声)传输信道为例,结合香农定理说明以上结论。在给定信道带宽B及噪声功率谱密度N0的情况下,香农定理描述了信道容量即可达的传输速率R与信号功率P的关系,如下式所示:R=Blog2(1+PλN0B)]]>其中λ为路径损耗因子。从上式中可以得知,在要求的传输速率R下,信号功率P(R)可以表示为:P(R)=N0Bλ(2R/B-1)]]>从上式可知,对于一个给定大小为l的数据包,如果传输速率为R,所需传输时间为l/R,传输能耗E(R)为:E(R)=N0BlRλ(2R/B-1)]]>可以看出,传输速率越小,传输能耗就越低。然而,对于任何一个给定的数据包,传输速率不能任意小,即传输时间不能无限制地长。一方面,数据包只有在到达之后才可以进行传输,并且要求在截止时刻之前传输完毕;另一方面,如果传输某个数据包占用了大量时间,就会使得随后的数据包传输时间很短,这可能反而会增加整体传输能耗。对于一系列数据包,实现较低的传输能耗需结合数据包的到达时间,截止时间进行相应的调度。针对具有不同到达时刻但有相同传输截止时刻的一系列大小不同的数据包,考虑低复杂度低能耗传输调度。图1给出了典型的场景示例,要求在时间区间[0,T)内到达的数据包在截止时刻T之前全部传输完毕。如图1所示,记数据包的数目为N,对第n个数据包,其到达时刻为tn,数据包大小为ln。记第1个包到达的时刻为0时刻,即t1=0,接下来其余数据包按编号顺序先后到达,即:0=t1<t2<…<tN<tN+1=T其中,tN+1仅代表传输截止时刻T,而并非是一个包的到达时刻。如图1所示,dn用来表示第n及n+1个包的到达时间间隔,即dn=tn+1-tn,dn可能具有不同的大小且对于上述场景,一般有如下两种方案:现有技术一:根据数据包到达时间间隔进行传输,这是一种很直观的数据包传输调度策略,在这种方案下,每个数据包在到达后就开始传输,并且在下一个包到达时刻正好传完,即ln的数据量在dn的时间内传输。如此,第n个数据包即时刻tn至tn+1的传输速率可以表示为下式所示:R(t)=rn=lndn(tn≤t<tn+1)]]>该方案中,根据数据包到达时间间隔传输调度算法具有较低的复杂度,然而其并不能保证较低的传输能耗,尤其是在各个数据包传输速率rn差异较大的情况下所需传输能耗离最小传输能耗差异较大。现有技术二:为了实现最低能耗数据包传输调度,M.A.Zafer等人提出了利用数据包累积曲线来搜索各个时间段的最佳传输速率。以图2中的5个数据包传输为例,呈阶梯上升的折线为到达曲线A(t),描述了在不同时刻已经到达的数据量,可以得到连续折线C(t)为传输曲线,描述了在不同时刻已经传输的数据量,显然有C(t)≤A(t),即数据包只有在到达后才可能传输;此外,要求C(tN+1)=A(tN+1)(在图2中N=5),即在截止时刻所有数据包都要传输完毕。设传输曲线被分成M个传输段,并且第m传输段的起始时刻记为Tm,传输速率大小记为Rm。最佳能耗传输曲线应该是以A(t)为边界,以(t1,0)及为端点的具有最短长度的曲线。具体实现方式为:记T1=t1且(T1,0)为传输曲线第一传输段的起点,连接该点及各点,找出能得到最小斜率线段的点,记相应的时刻为T2,为第一传输段的终点及第二传输段的起点,且该最小斜率即为第一传输段的传输速率;同理,对于第m传输段,连接起点及各点,记能得到最小斜率线段的点为Tm+1,即为第m传输段的终点及第m+1传输段的起点,且该最小斜率为第m传输段的传输速率;不断重复以上过程,直至Tm+1=tN+1,便得到整个传输曲线。该算法具体描述为下式所示。Tm+1=argmintn(tn>Tm)(A(tn-)-A(Tm-)tn-Tm)R(t)=Rm=min(tn>Tm)(A(tn-)-A(Tm-)tn-Tm)(Tm≤t<Tm+1)]]>对于图2中5个数据包的情况,最低能耗传输曲线包含两个传输段,即M=2,其中第1,2,3个数据包作为传输的第1段,第4,5个数据包作为传输的第2段。该方案中,实现了最低能耗数据包传输,但其需要对传输曲线的每一个传输段对斜率进行遍历搜索,具有较高的计算复杂度。对于N个数据包及M个传输段,计算复杂度为O(MN)。

技术实现要素:
本发明提供一种基于前向阀门的数据包传输调度方法和装置,能够实现最低能耗数据包传输的传输调度,并且具有低复杂度。为解决上述技术问题,本发明提供技术方案如下:一方面,本发明提供一种基于前向阀门的数据包传输调度方法,包括:步骤1:设定M=0,其中,M为传输段数;步骤2:将n从1遍历到N,同时执行步骤3至步骤5,遍历完毕后,转至步骤8,其中,n为待处理的数据包的序号,N为数据包的总数;步骤3:将第n个数据包当作第M+1传输段,该传输段数据量为LM+1=ln,起始时刻为TM+1=tn,结束时刻为TM+2=tn+1,该传输段长度为DM+1=TM+2-TM+1,传输速率为RM+1=LM+1/DM+1,其中,tn为第n个数据包到达的时刻,ln为第n个数据包的大小;步骤4:更新传输段数目为M=M+1;步骤5:当M>1且RM≤RM-1时,执行步骤6至步骤7,否则,返回步骤2执行下一次遍历;步骤6:将第M-1传输段及第M传输段合并为新的第M-1传输段,该传输段的数据量为LM-1=LM-1+LM,起始时刻仍为原来第M-1传输段的起始时刻,结束时刻更新为TM=TM+1,传输段长度为DM-1=DM-1+DM,传输速率为RM-1=LM-1/DM-1;步骤7:更新传输段数目为M=M-1,并转至步骤5;步骤8:得到传输速率随时间的变化情况为R(t)=Rm,其中Tm≤t<Tm+1,1≤m≤M,并据此进行数据包的传输;其中,每个数据包到达的时刻tn及大小ln在数据包到达前均已知。与上述方法对应的,本发明提供一种基于前向阀门的数据包传输调度装置,包括:初值设置模块,用于设定M=0,其中,M为传输段数;循环模块,用于将n从1遍历到N,同时执行传输段设置模块、第一计数模块、比较模块,遍历完毕后,转至传输模块,其中,n为待处理的数据包的序号,N为数据包的总数;传输段设置模块,用于将第n个数据包当作第M+1传输段,该传输段数据量为LM+1=ln,起始时刻为TM+1=tn,结束时刻为TM+2=tn+1,该传输段长度为DM+1=TM+2-TM+1,传输速率为RM+1=LM+1/DM+1,其中,tn为第n个数据包到达的时刻,ln为第n个数据包的大小;第一计数模块,用于更新传输段数目为M=M+1;比较模块,用于当M>1且RM≤RM-1时,转至传输段合并模块和第二计数模块,否则,返回循环模块执行下一次遍历;传输段合并模块,用于将第M-1传输段及第M传输段合并为新的第M-1传输段,该传输段的数据量为LM-1=LM-1+LM,起始时刻仍为原来第M-1传输段的起始时刻,结束时刻更新为TM=TM+1,传输段长度为DM-1=DM-1+DM,传输速率为RM-1=LM-1/DM-1;第二计数模块,用于更新传输段数目为M=M-1,并转至比较模块;传输模块,用于得到传输速率随时间的变化情况为R(t)=Rm,其中Tm≤t<Tm+1,1≤m≤M,并据此进行数据包的传输。另一方面,本发明提供一种基于前向阀门的数据包传输调度方法,包括:步骤1’:将n从1遍历到N,同时执行步骤2’至步骤6’,其中,n为待处理的数据包的序号,N为数据包的总数;步骤2’:当第n个数据包到达后,计算出剩余时间dr=T-tn,其中,T为截止时刻,tn为第n个数据包到达的时刻;步骤3’:比较dr与的大小,若则预计没有新的数据包要传输了,接下来的传输速率为Ron=Bn/dr,并转至步骤6’,否则,执行步骤4’,其中,d为数据包平均到达时间间隔,Bn为第n个数据包到达后的缓存大小;步骤4’:接下来的时间分为两段,第一段对应于缓存中的数据量Bn,第二段对应于后面到达的数据包,比较Bn与的大小,若则表示第一段具有更小的传输速率,不需要合并两段,接下来的传输速率为并转至步骤6’,否则,执行步骤5’;步骤5’:合并两段并计算出接下来的传输速率其中,为估计出的还未到达的数据包的数目,代表向下取整,为数据包平均到达时间间隔;步骤6’:按传输速率Ron传输缓存中的数据,直至第n+1个数据包到达或缓存变空;其中,每个数据包的到达时刻tn及大小ln在相应数据包到达之前是未知的,最开始只有数据包平均到达时间间隔d,平均大小l,以及截止时刻T是已知的。与上述方法对应的,本发明提供一种基于前向阀门的数据包传输调度装置,包括:循环模块,用于将n从1遍历到N,同时执行时间模块、第一比较模块、第二比较模块、传输段合并模块和传输模块,其中,n为待处理的数据包的序号,N为数据包的总数;时间模块,用于当第n个数据包到达后,计算出剩余时间dr=T-tn,其中,T为截止时刻,tn为第n个数据包到达的时刻;第一比较模块,用于比较dr与的大小,若则预计没有新的数据包要传输了,接下来的传输速率为Ron=Bn/dr,并转至传输模块,否则,执行第二比较模块,其中,为数据包平均到达时间间隔,Bn为第n个数据包到达后的缓存大小;第二比较模块,用于将接下来的时间分为两段,第一段对应于缓存中的数据量Bn,第二段对应于后面到达的数据包,比较Bn与的大小,若则表示第一段具有更小的传输速率,不需要合并两段,接下来的传输速率为并转至传输模块,否则,执行传输段合并模块;传输段合并模块,用于合并两段并计算出接下来的传输速率其中,为估计出的还未到达的数据包的数目,代表向下取整,为数据包平均到达时间间隔;传输模块,用于按传输速率Ron传输缓存中的数据,直至第n+1个数据包到达或缓存变空。进一步的,所述基于前向阀门的数据包传输调度装置为具有无线通信功能的智能设备,包括但不限于PC、手机或平板电脑。本发明提供一种基于前向阀门的数据包传输调度方法,包括:本发明有以下有益效果:与现有技术相比,本发明的基于前向阀门的数据包传输调度方法中,采用前向阀门模型来实现数据包传输调度,整个传输时间由数据包到达时刻分成了N个区间,每个区间被看作一个容器,各个容器按数据包的到达顺序从左至右排列,而数据包被看作液体,每个空容器内液体的初始体积即为数据包大小,液体的高度代表传输速率大小。在相邻容器间共存在N-1个前向阀门,前向阀门的特点是允许液体从左流向右,但不能从右流向左。具体实现流程为:按照时间顺序,每一个新到达的数据包被考虑成为一个新的传输段,其传输速率为ln/dn;打开该传输段左边的阀门,如果新的这一传输段的传输速率小于等于它前面的传输段,将这两个传输段合并为一个新的传输段,并将传输速率更新为加权平均值;不断重复比较新合并的传输段及它前面的传输段,如果前者传输速率小于等于后者,再次合并,直至新合并的传输段比它前面的传输段的传输速率大或它前面不存在其它传输段,即实现了最低能耗传输。该方法中共涉及三种运算类型,即比较运算、加/减运算以及乘/除法运算,相对而言乘/除法运算的次数直接决定整个算法的计算复杂度。可以看出,对每一个数据包及每一次传输段合并,都涉及一次除法运算,考虑N个数据包及M个传输段,传输段合并次数为N-M,那么整个除法的次数为N+(N-M)=2N-M,故复杂度可以表示为O(N),即是相对于数据包数目N的线性复杂度,复杂度低。附图说明图1为本发明中的数据包到达场景示意图;图2为本发明中的现有技术二的传输曲线示意图;图3为本发明中的引理一证明示意图;图4为本发明中的最低能耗传输的唯一性证明示意图;图5为本发明中的前向阀门模型的示意图;图6为本发明中的前向阀门算法的实例示意图;图7为本发明中的数据包传输能耗比较曲线图;图8为本发明中的数据包传输调度计算复杂度比较曲线图。具体实施方式为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。首先,介绍本发明涉及到的理论基础:最低能耗传输的相关定理:定理一:对于最低能耗数据包传输,在每一个包到达时间间隔区间dn内,传输速率是恒定不变的。证明:由于信号功率是传输速率的凸函数,根据Jensen不等式可以得到:P(∫tntn+1R(t)dt∫tntn+1dt)≤∫tntn+1P(R(t))dt∫tntn+1dt]]>由∫tntn+1dt=dn]]>可知P(rn)·dn≤∫tntn+1P(R(t))dt]]>其中为区间dn内的平均传输速率。上式中右半部分是在dn内按传输速率R(t)传输的能耗,而左半部分是按平均传输速率传输的能耗。可以得知,如果在dn内传输速率不是恒定值,那么只要把传输速率调整为平均值rn就会更节能。同时,在dn内除了端点处之外没有数据包到达,所以在保证dn内传输数据总量不变的前提下,调整传输速率至均值并不会违背数据包必须在到达后才能传输的条件。因此,对于最低能耗数据包传输,传输速率在每一个包到达时间间隔区间dn内是恒定不变的。引理一:考虑两段区间dn及dn+1,假定总数据传输量恒定不变,如果这两段的传输速率大小差异越小,则越节能。证明:图3给出了信号功率随传输速率的变化曲线。假定在某种调度方案下,区间dn及dn+1的传输速率分别为rn及rn+1,并且rn<rn+1。在保证数据包在到达后才能传输的前提下,通过将区间dn+1内传输的部分数据移至区间dn内传输,得到这两个区间新的传输速率为r′n和r′n+1,并有rn<r′n≤r′n+1<rn+1。如果把dn及dn+1看作一个整体区间,由定理一可知,当r′n=r′n+1时最节能,不过,由于在tn+1时刻到达的包不可能在dn区间传输这个限制条件,这种最节能的条件不一定得以满足。然而,即使在r′n<r′n+1的情况下,也比移动前的传输速率rn及rn+1更节能。由于P(R)是凸函数,可以得出:P(rn′)-P(rn)rn′-rn<P(rn+1)-P(rn+1′)rn+1-rn+1′]]>根据区间dn内增加的数据量等于dn+1内减少的数据量,可知(rn′-rn)dn=(rn+1-rn+1′)dn+1,]]>因此可以得到:P(rn′)dn+P(rn+1′)dn+1<P(rn)dn+P(rn+1)dn+1]]>上式中左边是按移动后的数据传输速率进行传输的耗能,而右边是移动前的传输耗能。可以看出,在区间dn及dn+1总数据传输量不变的情况下,如果它们的传输速率大小差异越小,则越节能。定理二:对于最低能耗数据包传输,在整个传输时间区间[0,T)内,传输速率随时间是非减变化的。证明:在每一个时间区间dn内,由定理一可知传输速率应该是恒定值才能保证最节能,因此非减特性满足。这样,定理二的表述等价于对任意两个相邻区间dn及dn+1,最低能耗传输方案要求rn≤rn+1。假定rn>rn+1,由引理一可知,可以将区间dn内传输的部分数据移至区间dn+1传输,并使这两个区间具有相同的传输速率(rndn+rn+1dn+1)/(dn+dn+1)(注:将数据传输从前面的时间区间移至后面的时间区间不会造成数据包还未到达就调度传输的情况,而从后面的区间移至前面的区间需要兼顾这个约束)。综上可知,对于最低能耗传输,一定满足rn≤rn+1,定理二得证。定理三:对于最低能耗数据包传输,如果传输速率在tn+1(1≤n<N)时刻增加,那么前面的n个数据包正好在这个时刻传输完毕。证明:定理三等价于如果rn+1>rn,那么在tn+1时刻前面到达的n个数据包正好在tn+1传送完毕。假定在这种情况下前n个包还有部分数据在区间dn+1内传输,根据引理一,可以将dn+1内的部分属于前n个包的数据移至dn内传输,rn与rn+1的差异就会减小并更节能。因此,对于最低能耗传输,定理三必定成立。相反,如果n个数据包在tn+1传送完毕并且rn+1>rn,将区间dn+1内的部分数据移动区间dn内传输是不现实的(这些数据在tn+1时刻前还未到达),所以这种情况下传输速率增加是可能的。综合以上定理,对于最低能耗数据包传输,传输速率只有在某个数据包到达时刻并且之前的数据包正好在该时刻传输完毕的情况下才会增加,而在其它情况下都维持不变。最低能耗传输的唯一性最低能耗数据包传输调度需要满足以上三条定理,而以上三条定理也决定了唯一的传输策略,其必定满足最低能耗要求。考虑服从上述三个定理的传输策略一,设传输速率变化点为{T1,T2,…,TM,TM+1
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1