发明内容
本发明提供一种基于松弛递归的数据包传输调度方法和装置,能够针对具有不同到达时刻及不同截止时刻的一系列大小不同的数据包,实现最低能耗传输。
为解决上述技术问题,本发明提供技术方案如下:
一方面,本发明提供一种基于松弛递归的数据包传输调度方法,包括:
步骤1:设定M=1,m=1,其中,M为初始传输段数,m为当前待处理的传输段的编号;
步骤2:比较M和m的大小,若m≤M,执行步骤3至步骤5,否则,转至步骤8;
步骤3:将第m个传输段内的数据包传输松弛为子场景一,即将各数据包的截止时刻都看作为该传输段的截止时刻,同时,如果某个数据包的到达时刻早于该传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻,然后,对子场景一执行最低能耗传输调度,得到个传输速率上升点;
步骤4:将第m个传输段内的数据包传输松弛为子场景二,即将各数据包的到达时刻都看作为该传输段的起始时刻,同时,如果某个数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻,然后,对子场景二执行最低能耗传输调度,得到M个传输速率下降点;
步骤5:比较与M的大小,若则执行步骤6,否则执行步骤7;
步骤6:对第m个传输段的处理结束,步骤3及步骤4得到相同的单个传输段的传输速率,记此为第m个传输段的传输速率,同时调整待处理的传输段编号m=m+1,并转至步骤2;
步骤7:根据子场景一的个传输速率上升点及子场景二的M个传输速率下降点,将第m个传输段划分为个子传输段,同时调整传输段数目为并转至步骤2;
步骤8:根据得到的各个传输段的传输速率进行数据包的传输;
其中,每个数据包的到达时刻,截止时刻,数据包大小在数据包到达前均已知。
与上述方法对应的,本发明提供一种基于松弛递归的数据包传输调度装置,包括:
初值设置模块,用于设定M=1,m=1,其中,M为初始传输段数,m为当前待处理的传输段的编号;
第一比较模块,用于比较M和m的大小,若m≤M,执行子场景一调度模块、子场景二调度模块和第二比较模块,否则,转至传输模块;
子场景一调度模块,用于将第m个传输段内的数据包传输松弛为子场景一,即将各数据包的截止时刻都看作为该传输段的截止时刻,同时,如果某个数据包的到达时刻早于传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻,然后,对子场景一执行最低能耗传输调度,得到个传输速率上升点;
子场景二调度模块,用于将第m个传输段内的数据包传输松弛为子场景二,即将各数据包的到达时刻都看作为该传输段的起始时刻,同时,如果某个数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻,然后,对子场景二执行最低能耗传输调度,得到M个传输速率下降点;
第二比较模块,用于比较与M的大小,若则执行计数模块,否则执行子传输段划分模块;
计数模块,用于对第m个传输段的处理结束,子场景一调度模块及子场景二调度模块得到相同的单个传输段的传输速率,记此为第m个传输段的传输速率,同时调整待处理的传输段编号m=m+1,并转至第一比较模块;
子传输段划分模块,用于根据子场景一的个传输速率上升点及子场景二的M个传输速率下降点,将第m个传输段划分为个子传输段,同时调整传输段数目为并转至第一比较模块;
传输模块,根据得到的各个传输段的传输速率进行数据包的传输。
另一方面,本发明提供一种基于松弛递归的数据包传输调度方法,包括:
步骤1’:将n从1遍历到N,同时执行步骤2’至步骤10’,其中,n为待处理的数据包的序号,N为数据包的总数;
步骤2’:当第n个数据包在到达后,估算接下来的N-n个数据包的到达时刻为截止时刻为 数据包大小都统一估算为lE,其中,为数据包平均到达时间间隔,dE=E(dn)为数据包平均可允许的传输时间长度,lE=E(ln)为数据包的平均大小;
步骤3’:设定M=1,m=1,其中,M为缓存中的数据包和接下来的N-n个数据包的初始传输段数,m为当前待处理的传输段的编号;
步骤4’:比较M和m的大小,若m≤M,执行步骤5’至步骤7’,否则,转至步骤10’;
步骤5’:将第m个传输段内的数据包传输松弛为子场景一,即将各数据包的截止时刻都看作为该传输段的截止时刻,同时,如果某个数据包的到达时刻早于该传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻,然后,对子场景一执行最低能耗传输调度,得到个传输速率上升点;
步骤6’:将第m个传输段内的数据包传输松弛为子场景二,即将各数据包的到达时刻都看作为该传输段的起始时刻,同时,如果某个数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻,然后,对子场景二执行最低能耗传输调度,得到M个传输速率下降点;
步骤7’:比较与M的大小,若则执行步骤8’,否则执行步骤9’;
步骤8’:对第m个传输段的处理结束,步骤5及步骤6得到相同的单个传输段的传输速率,记此为第m个传输段的传输速率,同时调整待处理的传输段编号m=m+1,并转至步骤4’;
步骤9’:根据子场景一的个传输速率上升点及子场景二的M个传输速率下降点,将第m个传输段划分为个子传输段,同时调整传输段数目为并转至步骤4’;
步骤10’:根据得到的各个传输段的传输速率进行数据包的传输,直至时刻第n+1个数据包到达或缓存内数据变空;
其中,每个数据包的到达时刻截止时刻t n,数据包大小ln在相应数据包到达之前是未知的,最开始只有数据包平均到达时间间隔数据包平均可允许的传输时间长度dE=E(dn),数据包的平均大小lE=E(ln)是已知的。
与上述方法对应的,本发明提供一种基于松弛递归的数据包传输调度装置,包括:
循环模块,用于将n从1遍历到N,同时执行估算模块、初值设置模块、第一比较模块、子场景一调度模块、子场景二调度模块、第二比较模块、计数模块、子传输段划分模块和传输模块,其中,n为待处理的数据包的序号,N为数据包的总数;
估算模块,用于当第n个数据包在到达后,估算接下来的N-n个数据包的到达时刻为截止时刻为 数据包大小都统一估算为lE,其中,为数据包平均到达时间间隔,dE=E(dn)为数据包平均可允许的传输时间长度,lE=E(ln)为数据包的平均大小;
初值设置模块,用于设定M=1,m=1,其中,M为缓存中的数据包和接下来的N-n个数据包的初始传输段数,m为当前待处理的传输段的编号;
第一比较模块,用于比较M和m的大小,若m≤M,执行子场景一调度模块、子场景二调度模块和第二比较模块,否则,转至传输模块;
子场景一调度模块,用于将第m个传输段内的数据包传输松弛为子场景一,即将各数据包的截止时刻都看作为该传输段的截止时刻,同时,如果某个数据包的到达时刻早于该传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻,然后,对子场景一执行最低能耗传输调度,得到个传输速率上升点;
子场景二调度模块,用于将第m个传输段内的数据包传输松弛为子场景二,即将各数据包的到达时刻都看作为该传输段的起始时刻,同时,如果某个数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻,然后,对子场景二执行最低能耗传输调度,得到M个传输速率下降点;
第二比较模块,用于比较与M的大小,若则执行计数模块,否则执行子传输段划分模块;
计数模块,用于对第m个传输段的处理结束,子场景一调度模块及子场景二调度模块得到相同的单个传输段的传输速率,记此为第m个传输段的传输速率,同时调整待处理的传输段编号m=m+1,并转至第一比较模块;
子传输段划分模块,用于根据子场景一的个传输速率上升点及子场景二的M个传输速率下降点,将第m个传输段划分为个子传输段,同时调整传输段数目为并转至第一比较模块;
传输模块,根据得到的各个传输段的传输速率进行数据包的传输,直至时刻第n+1个数据包到达或缓存内数据变空。
进一步的,所述基于松弛递归的数据包传输调度装置为具有无线通信功能的智能设备,包括但不限于PC、手机或平板电脑。
本发明有以下有益效果:
与现有技术相比,本发明的基于松弛递归的数据包传输调度方法中,将具有不同到达时刻及不同截止时刻的一系列大小不同的数据包场景(问题场景)松弛为两个子场景来处理。子场景一为所有数据包具有不同的到达时刻,但其传输截止时刻都为最后一个数据包的截止时刻即t N;子场景二为所有数据包都在第一个数据包的到达时刻即到达,但仍具有不同的截止时刻。对这两个子场景进行最低能耗传输调度,传输速率分别呈现出阶梯上升和阶梯下降变化。对于子场景一记得到个传输速率上升点对于子场景二记得到M个传输速率下降点,它们分别都为问题场景的传输速率上升点和下降点。进一步,传输速率变化点将数据包分段进行传输,其中在传输速率上升点之前到达的数据包必须在时刻前传输完毕,而在传输速率下降点T m已经传输了的数据量仅为在T m已经截止了的数据包。因此,根据这个传输速率变化点,整个传输时间可以被分为段,相应地,数据包也可以分为个组分别对应于各传输段内传输。
虽然子场景一的传输速率上升点及子场景二的传输速率下降点分别为问题场景的传输速率上升点和传输速率下降点,但问题场景的传输速率上升点和传输速率下降点却并不分别局限于子场景一的传输速率上升点及子场景二的传输速率下降点。为了得到问题场景的所有传输速率变化点,在一步松弛得到个传输段之后,需要进一步在每个传输段内搜索出其它传输速率变化点。具体而言,每个传输段可以当作一个独立的传输过程,均可以被再次松弛为独立的子场景一和子场景二并可以通过子场景的最低能耗传输策略得到该传输段内的传输速率变化点,这样一个传输段可以被划分成为更多的传输段。其中,如果属于一个传输段内的数据包的到达时刻早于该传输段的起始时刻,将该数据包的起始时刻调整为该传输段的起始时刻(该数据包不可能在该传输段起始时刻前传输);如果属于一个传输段内的数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻(该数据包不可能在该传输段截止时刻后传输)。
为了找出本发明所考虑问题场景的所有传输速率变化点,需要对问题场景松弛及段划分进行递归处理,直至某一个传输段不能再被划分成为更多的传输段,即在这种情况下,该传输段内不存在其它传输速率变化点,子场景一和子场景二的传输速率均为一个不变化的相同值,该传输速率即为问题场景在最低能耗传输下在该传输段的传输速率。
故本发明的基于松弛递归的数据包传输调度方法,能够针对具有不同到达时刻及不同截止时刻的一系列大小不同的数据包,实现最低能耗传输。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
首先,介绍本发明涉及到的理论基础:
定义(平稳区间):对于一个时间区间[ta,tb),如果边界ta及tb均为某个数据包到达时刻或数据包截止时刻,如果在[ta,tb)内部不存在其它数据包到达时刻及截止时刻,那么这个时间区间就称作一个平稳区间。对于到达时刻及截止时刻均没有重合的N个数据包的情况,整个传输时间可以被划分成为2N-1个平稳区间。显然,给定某种满足到达时刻要求及截止时刻要求的传输方案,如果数据传输在一个平稳区间内部移动,那么移动后的传输方案也一定满足到达时刻及截止时刻要求。
定理一:对于最低能耗数据包传输,在每一个平稳区间[ta,tb)内部,传输速率是恒定不变的。
证明:由于信号功率是传输速率的凸函数,根据Jensen不等式可以得到:
由 可知
其中为区间[ta,tb)内的平均传输速率。上式中右半部分是在[ta,tb)内按传输速率R(t)传输的能耗,而左半部分是按平均传输速率传输的能耗。可以得知,如果在[ta,tb)内传输速率不是恒定值,那么只要把传输速率调整为平均值Ra就会更节能。同时,在[ta,tb)内除了端点处之外没有数据包到达或截止,所以在保证[ta,tb)内传输数据总量不变的前提下,调整传输速率至均值并不会违背数据包必须在到达后才能传输且在截止时刻前必须传输完毕的条件。因此,对于最低能耗数据包传输,传输速率在每一个平稳区间内是恒定不变的。
定理一的表明对于一个最低能耗传输方案,传输速率变化点一定位于数据包到达时刻或数据包截止时刻t n。
引理:考虑两段相邻的平稳区间[ta,tb)及[tb,tc),所对应的传输速率分别为Ra及Rb,假定两区间总数据传输量保持不变,如果Ra与Rb的差异越小,则越节能。
证明:图5给出了信号功率随传输速率的变化曲线。假定在某种调度方案下Ra<Rb。在保证数据包在到达后才能传输且在截止时刻前传输完毕的前提下,通过将区间[tb,tc)内传输的部分数据移至区间[ta,tb)内传输,得到这两个区间新的传输速率为R'a和R′b,并有Ra<R'a≤R′b<Rb。如果把[ta,tc)看作一个整体区间,由定理一可知,当R'a=R′b时最节能,不过,由于数据包到达时刻及截止时刻的限制,这种最节能的条件不一定得以满足。然而,即使在R'a<R′b的情况下,也比移动前的传输速率Ra及Rb更节能。
由于P(R)是凸函数,可以得出:
根据区间[ta,tb)内增加的数据量等于区间[tb,tc)内减少的数据量,必然满足(R'a-Ra)(tb-ta)=(Rb-R′b)(tc-tb),因此可以得到:
P(R'a)(tb-ta)+P(R′b)(tc-tb)<P(Ra)(tb-ta)+P(Rb)(tc-tb)
上式中右边是移动前的传输耗能,而左边是按移动后的数据传输速率进行传输的耗能。可以看出,在区间[ta,tb)与[tb,tc)二者总数据传输量不变的情况下,如果它们的传输速率大小差异越小,则越节能。
定理二:对于最低能耗数据包传输,在整个传输时间区间内,传输速率增加的时刻必定位于数据包到达时刻并且在该时刻前面已经到达的数据包正好传完,而传输速率下降的时刻必定位于数据包截止时刻并且在该时刻只传输了已经截止了的数据包。
证明:我们先来证明定理二的第一部分。假设在某个数据包截止时刻t n传输速率上升,由引理可知,可以将t n后面紧邻平稳区间内传输的部分数据移至t n前面紧邻平稳区间内传输,并可以使这两个相邻平稳区间具有相同的传输速率,如此更节能(由于t n是数据包截止时刻,将数据从后面平稳区间移至其前面平稳区间内传输并不会违背数据包到达时刻及截止时刻要求)。因此,对于最低能耗传输,结合定理一可知传输速率上升点必定位于数据包到达时刻。进一步,假定在某一数据包到达时刻传输速率上升,可知到该时刻为止最大的传输量为前面已经到达的n-1个数据包,如果此时前面n-1个数据包还没有传完,那么同样根据引理,可将后面紧邻平稳区间内传输的属于前n-1个包的部分数据移至前面紧邻的平稳区间传输,可使得这两个区间的传输速率差异更小,也更节能。所以,如果传输速率在时刻上升,那么前面已经到达的n-1个数据包在该时刻正好传完。
下面来证明定理二的第二部分。假设在某个数据包到达时刻传输速率下降,由引理可知,可以将前面紧邻平稳区间内传输的部分数据移至后面紧邻的平稳区间内传输,并可以使这两个相邻平稳区间具有相同的传输速率,如此更节能(由于是数据包到达时刻,将数据从前面平稳区间移至其后面平稳区间内传输并不会违背数据包到达时刻及截止时刻要求)。因此,对于最低能耗传输,结合定理一可知传输速率下降点必定位于数据包截止时刻。进一步,假定在某一数据包截止时刻t n传输速率下降,可知到该时刻为止最小传输量为已经截止了的n个数据包,如果除此之外还传输了后面数据包的一部分内容,那么同样根据引理,可将t n前面紧邻平稳区间内传输不属于前n个数据包的部分数据移至t n后面紧邻的平稳区间传输,可使得这两个区间的速率差异更小,也更节能。所以,如果传输速率在时刻t n下降,那么到该时刻只传输了已经截止的n个数据包。
因此,对于最低能耗数据包传输方案,传输速率只有可能在数据包到达时刻增加并且在该时刻前面已经到达的数据包已经传完,而传输速率只有可能在数据包截止时刻下降并且在该时刻只传输了已经截止了的数据包。这样,实现最低能耗传输关键是要找出传输速率变化点,然后数据包可以根据定理二按照传输速率变化点进行分组,每组分别对应一个传输时间段,而每段的传输速率将是一个恒定值(每段的传输速率即为该段数据包的总量除以该段时间长度)。然而,直接寻找这些传输速率变化点却并非易事,对于N个数据包,除了第一个数据包的到达时刻必为传输速率上升点和最后一个数据包的截止时刻必为传输速率下降点外,另外N-1个数据包到达时刻是否是传输速率上升点及N-1个数据包截止时刻是否是传输速率下降点都具有不确定性,如果采用穷举搜索,一共需要考虑22(N-1)种情况,这个在实际调度策略中几乎无法实现。
鉴于现有技术二对两特殊的子场景可能得到最低能耗传输算法实现,本发明拟将所考虑的问题场景松弛到这两个子场景处理。子场景一为所有数据包具有不同的到达时刻,但截止时刻都为最后一个数据包的截止时刻即t N;子场景二考虑所有数据包都在第一个数据包的到达时刻即到达,但仍具有不同的截止时刻。通过这种松弛处理,结合以下定理三,可以逐步找出在数据包具有不同到达时刻及不同截止时刻场景(问题场景)时的传输速率变化点。
定理三:对于最低能耗数据包传输,松弛子场景一的传输速率上升点一定是问题场景的传输速率上升点,松弛子场景二的传输速率下降点一定是问题场景的传输速率下降点。
证明:图6(a)针对子场景一给出了最低能耗传输的示意图,根据定理一及定理二可知,由于这种情况下的传输结束前没有数据包截止点,传输速率应该呈现出阶梯上升趋势。对于任意一个传输速率上升点传输速率应该满足在此基础上考虑问题场景,由于数据包传输截止时刻要求的限制,一些数据需要移动至提前传输,如图6(a)中的箭头所示。不过,这里的移动不能跨越传输速率上升点,这是因为根据定理二传输速率上升点后传输的都是该点及其之后到达的数据包,如果移动跨越了传输速率上升点,就会造成某些数据包在到达前就提前传输的不现实情况。那么,在考虑问题场景的数据移动后,传输速率变为及 即有 所以,也必定是问题场景的传输速率上升点。
图6(b)针对子场景二给出了最低能耗传输的示意图,根据定理一及定理二可知,由于这种情况下的传输开始后没有数据包到达点,传输速率应该呈现出阶梯下降趋势。对于任意一个传输速率下降点传输速率应该满足在此基础上考虑问题场景,由于数据包到达时刻要求的限制,一些数据需要移动至靠后传输,如图6(b)中的箭头所示。不过,这里的移动不能跨越传输速率下降点,这是因为根据定理二传输速率下降点前传输的都是该点及其之前截止了的数据包,如果移动跨越了传输速率下降点,就会造成某些数据包在截止后还在传输的不现实情况。那么,在考虑问题场景的数据移动后,传输速率变为及即有所以,T m也必定是问题场景的传输速率下降点。
本发明的原理
将本发明所考虑的数据包具有不同到达时刻和不同截止时刻的场景(问题场景)松弛到子场景一及子场景二,对这两个子场景进行最低能耗传输调度,传输速率分别呈现出阶梯上升和阶梯下降变化如图7(a)所示。对于子场景一记得到个传输速率上升点对于子场景二记得到M个传输速率下降点,如定理三所述,它们分别都为问题场景的传输速率上升点和下降点。进一步,如定理二所述,传输速率变化点将数据包分段进行传输,其中在传输速率上升点之前到达的数据包必须在时刻前传输完毕,而在传输速率下降点T m已经传输了的数据量仅为在T m已经截止了的数据包。因此,根据这个传输速率变化点,整个传输时间可以被分为个传输段,如图7(b)所示,相应地,数据包也可以分为个组分别对应于各传输段内传输。
虽然子场景一的传输速率上升点及子场景二的传输速率下降点分别为问题场景的传输速率上升点和传输速率下降点,但原问题场景的传输速率上升点和传输速率下降点却并不分别局限于子场景一的传输速率上升点及子场景二的传输速率下降点。为了得到问题场景的所有传输速率变化点,在通过图7所示的一步松弛得到个传输段之后,需要进一步在每个传输段内搜索出其它传输速率变化点。具体而言,每个传输段可以当作一个独立的传输过程,均可以被再次松弛为独立的子场景一和子场景二并可以通过子场景的最低能耗传输策略得到传输段内的传输速率变化点,这样一个传输段可以被划分成为更多的传输段。其中,如果属于一个传输段内的数据包的到达时刻早于该传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻(该数据包不可能在该传输段起始时刻前传输);如果属于一个传输段内的数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻(该数据包不可能在段截止时刻后传输)。
为了找出本发明所考虑问题场景的所有速率变化点,需要对问题场景松弛及传输段划分进行递归处理,直至某一个传输段不能再被划分成为更多的传输段,即在这种情况下,该传输段内不存在其它传输速率变化点,子场景一和子场景二的传输速率均为一个不变化的相同值,该传输速率即为问题场景在最低能耗传输下在该传输段的传输速率。表1给出了本发明的松弛递归算法的具体实现步骤。本发明的基于松弛递归的数据包传输调度方法,包括:
步骤1:设定M=1,m=1,其中,M为初始传输段数,m为当前待处理的传输段的编号;
步骤2:比较M和m的大小,若m≤M,执行步骤3至步骤5,否则,转至步骤8;
步骤3:将第m个传输段内的数据包传输松弛为子场景一,即将各数据包的截止时刻都看作为该传输段的截止时刻,同时,如果某个数据包的到达时刻早于该传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻,然后,对子场景一执行最低能耗传输调度,得到个传输速率上升点;本步骤中,对子场景一执行最低能耗传输调度可以使用但不限于现有技术二的子场景一的算法;
步骤4:将第m个传输段内的数据包传输松弛为子场景二,即将各数据包的到达时刻都看作为该传输段的起始时刻,同时,如果某个数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻,然后,对子场景二执行最低能耗传输调度,得到M个传输速率下降点;本步骤中,对子场景一执行最低能耗传输调度可以使用但不限于现有技术二的子场景二的算法;
步骤5:比较与M的大小,若则执行步骤6,否则执行步骤7;
步骤6:对第m个传输段的处理结束,步骤3及步骤4得到相同的单个传输段的传输速率,记此为第m个传输段的传输速率,同时调整待处理的传输段编号m=m+1,并转至步骤2;
步骤7:根据子场景一的个传输速率上升点及子场景二的M个传输速率下降点,将第m个传输段划分为个子传输段,同时调整传输段数目为并转至步骤2;
步骤8:根据得到的各个传输段的传输速率进行数据包的传输;
其中,每个数据包的到达时刻截止时刻t n,数据包大小ln在数据包到达前均已知。
本发明的基于松弛递归的数据包传输调度方法中,将具有不同到达时刻及不同截止时刻的一系列大小不同的数据包场景(问题场景)松弛为两个子场景来处理。子场景一为所有数据包具有不同的到达时刻,但其传输截止时刻都为最后一个数据包的截止时刻即t N;子场景二为所有数据包都在第一个数据包的到达时刻即到达,但仍具有不同的截止时刻。对这两个子场景进行最低能耗传输调度,传输速率分别呈现出阶梯上升和阶梯下降变化。对于子场景一记得到个传输速率上升点对于子场景二记得到M个传输速率下降点,它们分别都为问题场景的传输速率上升点和下降点。进一步,传输速率变化点将数据包分段进行传输,其中在传输速率上升点之前到达的数据包必须在时刻前传输完毕,而在传输速率下降点T m已经传输了的数据量仅为在T m已经截止了的数据包。因此,根据这个传输速率变化点,整个传输时间可以被分为段,相应地,数据包也可以分为个组分别对应于各传输段内传输。
虽然子场景一的传输速率上升点及子场景二的传输速率下降点分别为问题场景的传输速率上升点和传输速率下降点,但问题场景的传输速率上升点和传输速率下降点却并不分别局限于子场景一的传输速率上升点及子场景二的传输速率下降点。为了得到问题场景的所有传输速率变化点,在一步松弛得到个传输段之后,需要进一步在每个传输段内搜索出其它传输速率变化点。具体而言,每个传输段可以当作一个独立的传输过程,均可以被再次松弛为独立的子场景一和子场景二并可以通过子场景的最低能耗传输策略得到该传输段内的传输速率变化点,这样一个传输段可以被划分成为更多的传输段。其中,如果属于一个传输段内的数据包的到达时刻早于该传输段的起始时刻,将该数据包的起始时刻调整为该传输段的起始时刻(该数据包不可能在该传输段起始时刻前传输);如果属于一个传输段内的数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻(该数据包不可能在该传输段截止时刻后传输)。
为了找出本发明所考虑问题场景的所有传输速率变化点,需要对问题松弛及段划分进行递归处理,直至某一个传输段不能再被划分成为更多的传输段,即在这种情况下,该传输段内不存在其它传输速率变化点,子场景一和子场景二的传输速率均为一个不变化的相同值,该传输速率即为问题场景在最低能耗传输下在该传输段的传输速率。
故本发明的基于松弛递归的数据包传输调度方法,能够针对具有不同到达时刻及不同截止时刻的一系列大小不同的数据包,实现最低能耗传输。
具体算法程序如表1所示:
表1
与上述方法对应的,本发明提供一种基于松弛递归的数据包传输调度装置,包括:
初值设置模块,用于设定M=1,m=1,其中,M为初始传输段数,m为当前待处理的传输段的编号;
第一比较模块,用于比较M和m的大小,若m≤M,执行子场景一调度模块、子场景二调度模块和第二比较模块,否则,转至传输模块;
子场景一调度模块,用于将第m个传输段内的数据包传输松弛为子场景一,即将各数据包的截止时刻都看作为该传输段的截止时刻,同时,如果某个数据包的到达时刻早于传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻,然后,对子场景一执行最低能耗传输调度,得到个传输速率上升点;
子场景二调度模块,用于将第m个传输段内的数据包传输松弛为子场景二,即将各数据包的到达时刻都看作为该传输段的起始时刻,同时,如果某个数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻,然后,对子场景二执行最低能耗传输调度,得到M个传输速率下降点;
第二比较模块,用于比较与M的大小,若则执行计数模块,否则执行子传输段划分模块;
计数模块,用于对第m个传输段的处理结束,子场景一调度模块及子场景二调度模块得到相同的单个传输段的传输速率,记此为第m个传输段的传输速率,同时调整待处理的传输段编号m=m+1,并转至第一比较模块;
子传输段划分模块,用于根据子场景一的个传输速率上升点及子场景二的M个传输速率下降点,将第m个传输段划分为个子传输段,同时调整传输段数目为并转至第一比较模块;
传输模块,根据得到的各个传输段的传输速率进行数据包的传输。
与本发明的基于松弛递归的数据包传输调度方法对应的,本发明的基于松弛递归的数据包传输调度装置,也能够针对具有不同到达时刻及不同截止时刻的一系列大小不同的数据包,实现最低能耗传输。
上述方法及装置是针对离线模式的数据包传输调度,即每个数据包的到达时刻截止时刻t n,数据包大小ln在数据包到达前均已知。然而,对于在线模式,在一个数据包到达之前,它的到达时刻截止时刻t n,数据包大小ln是未知的,最开始只有数据包平均到达时间间隔数据包平均可允许的传输时间长度dE=E(dn),数据包的平均大小lE=E(ln)是已知的。经过简单处理,松弛递归调度算法可以从离线模式过渡到在线模式。
当第n个数据包在到达后,对于接下来的N-n个数据包,到达时刻可以估计为截止时刻为 数据包的大小都统一估计为lE,然后,采用松弛递归调度算法得到接下来的传输速率。如此,在之后传输速率服从该调度结果,直至时刻第n+1个包到达或缓存内数据变空。在时刻重新估计后面数据包的到达时刻、截止时刻及大小,并再次用松弛递归算法得到接下来的传输速率。具体的,在线模式下本发明基于松弛递归的数据包传输调度方法,包括:
步骤1’:将n从1遍历到N,同时执行步骤2’至步骤10’,其中,n为待处理的数据包的序号,N为数据包的总数;
步骤2’:当第n个数据包在到达后,估算接下来的N-n个数据包的到达时刻为截止时刻为 数据包大小都统一估算为lE,其中,为数据包平均到达时间间隔,dE=E(dn)为数据包平均可允许的传输时间长度,lE=E(ln)为数据包的平均大小;
步骤3’:将缓存中的数据包(包含第n个包,同时也可能包含前面没有传输完毕的包)和接下来的N-n个数据包作为新的问题场景,对其进行传输调度,设定M=1,m=1,其中,M为初始传输段数,m为当前待处理的传输段的编号;
步骤4’:比较M和m的大小,若m≤M,执行步骤5’至步骤7’,否则,转至步骤10’;
步骤5’:将第m个传输段内的数据包传输松弛为子场景一,即将各数据包的截止时刻都看作为该传输段的截止时刻,同时,如果某个数据包的到达时刻早于该传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻,然后,对子场景一执行最低能耗传输调度,得到个传输速率上升点;
步骤6’:将第m个传输段内的数据包传输松弛为子场景二,即将各数据包的到达时刻都看作为该传输段的起始时刻,同时,如果某个数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻,然后,对子场景二执行最低能耗传输调度,得到M个传输速率下降点;
步骤7’:比较与M的大小,若则执行步骤8’,否则执行步骤9’;
步骤8’:对第m个传输段的处理结束,步骤5及步骤6得到相同的单个传输段的传输速率,记此为第m个传输段的传输速率,同时调整待处理的传输段编号m=m+1,并转至步骤4’;
步骤9’:根据子场景一的个传输速率上升点及子场景二的M个传输速率下降点,将第m个传输段划分为个子传输段,同时调整传输段数目为并转至步骤4’;
步骤10’:根据得到的各个传输段的传输速率进行数据包的传输,直至时刻第n+1个数据包到达或缓存内数据变空;
其中,每个数据包的到达时刻截止时刻t n,数据包大小ln在相应数据包到达之前是未知的,最开始只有数据包平均到达时间间隔数据包平均可允许的传输时间长度dE=E(dn),数据包的平均大小lE=E(ln)是已知的。
在线模式下,当第n个数据包在到达后,将该缓存中的数据包(其包含第n个数据包,也可能含有前面未传输完毕的包)和接下来的N-n个数据包作为新的问题场景,未到达的N-n个数据包的到达时刻估计为截止时刻估计为 数据包大小统一为lE,(注:缓存中数据包的到达时刻均设定为截止时刻为其本身的截止时刻,大小为其本身未传部分的大小),对该新的问题场景进行数据包传输调度,得到传输速率随时间的变化情况,并据此进行传输调度,直至时刻第n+1个数据包到达或缓存内数据变空后,将n更新为n+1,并重复上述过程,直至N个数据包传输完毕。故,本发明的基于松弛递归的数据包传输调度方法能够针对在线模式下的具有不同到达时刻及不同截止时刻的一系列大小不同的数据包,实现低能耗传输。
与上述方法对应的,本发明提供一种在线模式下基于松弛递归的数据包传输调度装置,包括:
循环模块,用于将n从1遍历到N,同时执行估算模块、初值设置模块、第一比较模块、子场景一调度模块、子场景二调度模块、第二比较模块、计数模块、子传输段划分模块和传输模块,其中,n为待处理的数据包的序号,N为数据包的总数;
估算模块,用于当第n个数据包在到达后,估算接下来的N-n个数据包的到达时刻为截止时刻为 数据包大小都统一估算为lE,其中,为数据包平均到达时间间隔,dE=E(dn)为数据包平均可允许的传输时间长度,lE=E(ln)为数据包的平均大小;
初值设置模块,用于将缓存中的数据包(包含第n个包,同时也可能包含前面没有传输完毕的包)和接下来的N-n个数据包作为新的问题场景,对其进行传输调度,设定M=1,m=1,其中,M为初始传输段数,m为当前待处理的传输段的编号;
第一比较模块,用于比较M和m的大小,若m≤M,执行子场景一调度模块、子场景二调度模块和第二比较模块,否则,转至传输模块;
子场景一调度模块,用于将第m个传输段内的数据包传输松弛为子场景一,即将各数据包的截止时刻都看作为该传输段的截止时刻,同时,如果某个数据包的到达时刻早于该传输段的起始时刻,将该数据包的到达时刻调整为该传输段的起始时刻,然后,对子场景一执行最低能耗传输调度,得到个传输速率上升点;
子场景二调度模块,用于将第m个传输段内的数据包传输松弛为子场景二,即将各数据包的到达时刻都看作为该传输段的起始时刻,同时,如果某个数据包的截止时刻晚于该传输段的截止时刻,将该数据包的截止时刻调整为该传输段的截止时刻,然后,对子场景二执行最低能耗传输调度,得到M个传输速率下降点;
第二比较模块,用于比较与M的大小,若则执行计数模块,否则执行子传输段划分模块;
计数模块,用于对第m个传输段的处理结束,子场景一调度模块及子场景二调度模块得到相同的单个传输段的传输速率,记此为第m个传输段的传输速率,同时调整待处理的传输段编号m=m+1,并转至第一比较模块;
子传输段划分模块,用于根据子场景一的个传输速率上升点及子场景二的M个传输速率下降点,将第m个传输段划分为个子传输段,同时调整传输段数目为并转至第一比较模块;
传输模块,根据得到的各个传输段的传输速率进行数据包的传输,直至时刻第n+1个数据包到达或缓存内数据变空;
与本发明的基于松弛递归的数据包传输调度方法对应的,本发明的基于松弛递归的数据包传输调度装置,也能够针对在线模式下的具有不同到达时刻及不同截止时刻的一系列大小不同的数据包,实现低能耗传输。
下面结合具体实例对本发明的有益效果进行阐述。
图8给出了单位比特传输能耗比较,相关条件设置为:信道带宽B为1.4MHz,噪声功率谱密度N0为-174dBm/Hz,传输路径长度为S=1000m,路径损耗为λ=28.6+35log10SdB,数据包按泊松过程到达,数据包到达时刻间隔平均值根据数据包数目不同设置为不同值,且截止时刻与到达时刻之差的平均值dE为的两倍,数据包大小均匀分布在0.5Kbyte至1.5Kbyte之间,考虑的时间长度T为10s。可以看到,随着数据包数目的增加,单位比特的能耗也增加。由图8可知,在各种数据包数目的情况下,相对于现有技术一,本发明的基于松弛递规的数据包传输调度方法在离线及在线模式下均可大大降低能耗(现有技术二只是对子场景一和子场景二给出最低能耗传输实现算法,对于本发明所考虑的问题场景并未给出算法,因此在图8中未与本发明的方案进行对比)。
进一步的,基于松弛递归的数据包传输调度装置为具有无线通信功能的智能设备,包括但不限于PC、手机或平板电脑等。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。