一种在Ping过程中实现调度的方法和装置制造方法

文档序号:7995728阅读:264来源:国知局
一种在Ping过程中实现调度的方法和装置制造方法
【专利摘要】本发明公开了一种在Ping过程中实现调度的方法和装置,基站的MAC层进行针对UE流量的学习,根据学习结果确定UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,根据该周期进行预调度。本发明在Ping过程中实现调度的技术中,高层可以向MAC层报告流量统计,由MAC层基于所设置的学习周期进行连续的学习,从而判断出UE是否在进行Ping,并在确定UE当前是在进行Ping时确定Ping的周期,从而预测下一个Ping的到来,以进行预调度,节省了UE发送SR的时间,这样既考虑了Ping的时延,也可以在网络中长期使能,不影响系统的流量。
【专利说明】—种在Ping过程中实现调度的方法和装置
【技术领域】
[0001]本发明涉及通信领域,具体涉及一种在因特网包探索(Packet Internet Grope,Ping)过程中实现调度的方法和装置。
【背景技术】
[0002]Ping用于测试网络连接,用于Ping的数据包的大小固定,且周期发送,Ping主要关注的是时延,时延越小越好。此处的Ping通常指上行Ping,对于下行,当业务到来时,基站(Evolved Node B,eNB)可以直接根据其缓冲区中的业务数据进行调度。
[0003]对于上行Ping,常用的调度方法有两种:一种方法是不采用预调度方案,在业务到来时触发用户设备(User Equipment, UE)发送调度请求(Scheduling Request, SR), eNB进行DCIO授权以使UE能进行缓存状态报告(Buffer Status R印orting,BSR)的上报。UE上报BSR后,eNB根据BSR的大小进行DCIO授权,然后根据该DCIO的授权进行上行Ping的调度。这种方法的不足在于时延过大。
[0004]另一种方法是:在业务触发UE发送SR后,eNB给UE的授权足够大,使得UE的业务直接被调度,其中eNB给UE的授权是通过DCIO下发的。虽然这种方法能够降低Ping的时延,但是首先需要确定UE是在进行Ping,这样才能够有效利用上行资源;否则,如果eNB收到SR后就进行较大的授权,有可能UE并未在进行Ping,使得UE可能发送较多的填充(Padding),导致系统的有效容量较低。

【发明内容】

[0005]有鉴于此,本发明的主要目的在于提供一种在Ping过程中实现调度的方法和装置,以降低Ping的时延。
[0006]为达到上述目的,本发明的技术方案是这样实现的:
[0007]一种在Ping过程中实现调度的方法,该方法包括:
[0008]基站的MAC层进行针对UE流量的学习,根据学习结果确定UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,根据该周期进行预调度。
[0009]进行所述学习的时间长度是w*A,并将该时间长度作为一个学习周期;其中,Λ为一个学习周期内学习的次数,w为每次学习的时长;
[0010]将在学习周期内所学习到的状态设置为状态数组;
[0011]根据之前的学习周期的学习结果决定之后的学习周期内是否进行预调度。
[0012]所述确定UE当前是否在进行Ping的方法为:
[0013]比较状态数组中相邻或具有固定间隔的值是否相等,如果相等并且该值代表UE当前是在进行Ping,那么确定UE当前是在进行Ping。
[0014]确定所述周期的方法为:
[0015]对学习周期内存储的值的时间点进行求差值,得到的差值中出现频率最高的差值即为UE发送数据包的周期。
[0016]该方法还包括:高层向MAC层周期性发送用于进行所述学习的流量统计。
[0017]一种在Ping过程中实现调度的装置,该装置包括学习模块、判决模块、预调度模块;其中,
[0018]所述学习模块,用于进行针对UE流量的学习,并将学习结果通知所述判决模块;
[0019]所述判决模块,用于根据收到的学习结果确定UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,再将该周期通知所述预调度模块;
[0020]所述预调度模块,用于根据收到的所述周期进行预调度。
[0021]进行所述学习的时间长度是w*A,并将该时间长度作为一个学习周期;其中,Λ为一个学习周期内学习的次数,w为每次学习的时长;
[0022]所述学习模块用于将在学习周期内所学习到的状态设置为状态数组;
[0023]所述预调度模块用于根据之前的学习周期的学习结果决定之后的学习周期内是否进行预调度。
[0024]所述判决模块在确定UE当前是否在进行Ping时,用于:
[0025]比较状态数组中相邻或具有固定间隔的值是否相等,如果相等并且该值代表UE当前是在进行Ping,那么确定UE当前是在进行Ping。
[0026]所述判决模块在确定所述周期时,用于:
[0027]对学习周期内存储的值的时间点进行求差值,得到的差值中出现频率最高的差值即为UE发送数据包的周期。
[0028]所述学习模块还用于:接收高层向MAC层周期性发送的用于进行所述学习的流量统计。
[0029]本发明在Ping过程中实现调度的技术,高层可以向MAC层报告流量统计,由MAC层基于所设置的学习周期进行连续的学习,从而判断出UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,从而预测下一个用于Ping的数据包的到来,以进行预调度,节省了 UE发送SR的时间,这样降低了 UE进行Ping的时延,并且本发明可以在网络中一直使用,不影响系统的流量。
【专利附图】

【附图说明】
[0030]图1为本发明实施例在Ping过程中实现调度的流程简图;
[0031]图2为本发明实施例中进行学习的原理示意图;
[0032]图3为本发明实施例中预测Ping及UE发送数据包的周期的流程图。
【具体实施方式】
[0033]在实际应用中,可以进行如图1所示的操作,由学习模块进行针对流量的学习,并将学习结果通知判决模块,由判决模块根据收到的学习结果确定UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,再将该周期通知预调度模块,由预调度模块根据收到的所述周期进行预调度。
[0034]在进行预调度时,eNB可以主动下发上行授权DCIO,UE根据该授权进行业务的发送。若UE有用于上行Ping的数据包要发送,UE根据eNB下发的DCIO (即上行授权),进行相应数据包的发送,下发的该DCIO的目的是让UE发送它的用于Ping的数据包。
[0035]上述的学习模块、判决模块、预调度模块可以设置于MAC层中。另外,判决模块可以包括Ping判决模块、周期判决模块;其中,Ping判决模块可以根据收到的学习结果确定UE当前是否在进行Ping,并在确定UE当前是在进行Ping时通知周期判决模块,由周期判决模块确定UE发送数据包的周期,再将该周期通知预调度模块。
[0036]具体而言,高层可以周期性(如:每A毫秒(ms))向MAC层报告这段时间内的流量统计,该流量统计能够被学习模块接收。基于如图2所示的原理,可以设置学习模块进行学习的时间长度是w*A,并将该时间长度作为一个学习周期;其中,Λ为一个学习周期内学习的次数,w为每次学习的时长。可以根据之前的学习周期的学习结果决定之后的学习周期内是否进行预调度,如:通过第一个学习周期的学习结果,来决定第二个学习周期内是否进行预调度;通过第二个学习周期的学习结果,来决定第三个学习周期内是否进行预调度,依次类推。可以将在学习周期内所学习到的状态设置为状态数组,上述的学习过程是一直在进行的。
[0037]通过学习模块的学习,可以得出一个学习周期内的状态,可以将该状态构成状态数组并输入判决模块,由判决模块确定UE当前是否在进行Ping (如:根据状态数组中相邻或固定间隔的状态值确定UE当前是否在进行Ping)。如果判决模块的判断结果为UE当前不是在进行Ping,则执行后续的正常流程;如果判决模块的判断结果为UE当前是在进行Ping,则确定UE发送数据包的周期(如:通过对所述状态值的判断,以及相应的各个峰值的流量的判断,选择合适 的峰值以确定周期)。
[0038]之后,判决模块将已确定的UE发送数据包的周期通知预调度模块,由预调度模块进行预调度,使得UE尽可能不发SR,因此UE的Ping时延能够有效减小。
[0039]下面结合具体实施例对本发明进一步地详细描述。
[0040]进行学习时,可以从UE接入后就开始学习,所述学习主要是基于高层对传成功的流量的统计。高层每A毫秒向MAC层报告这段时间内的流量统计,该流量统计能够被学习模块接收。可以设置学习模块进行学习的时间长度是w*△,并将该时间长度作为一个学习周期,可以根据之前的学习周期的学习结果决定之后的学习周期内是否进行预调度,如:通过第一个学习周期的学习结果,来决定第二个学习周期内是否进行预调度;通过第二个学习周期的学习结果,来决定第三个学习周期内是否进行预调度,依次类推。可以将在学习周期内所学习到的状态设置为状态数组,上述的学习过程是一直在进行的。通过学习求出状态数组[StateValuel, StateValue2, StateValue3...StateValue ( Δ -1, StateValue Δ ]中的各值。
[0041]可以比较状态数组中相邻或固定间隔的值是否相等,如果相等并且该值代表UE当前是在进行Ping,那么可以确定UE当前是在进行Ping。如果判断结果为UE当前不是在进行Ping,则执行后续的正常流程;如果判断结果为UE当前是在进行Ping,则确定UE发送数据包的周期,如:对学习周期内存储的值的时间点进行求差值,得到的差值中出现频率最高的差值即为Ping的周期。
[0042]在具体应用时,可以执行如图3所示的流程,该流程可以表现为以下的两个实施例。
[0043]实施例一:[0044]对于LTE的非确认模式(Unacknowledged Mode, UM)下的Ping,可以通过高层解析判断出UE是否在进行Ping,可以避免高层解析的过程,通过MAC层的学习实现预调度,首先可以设单位窗的长度w=500ms, Δ =4, α =0.2。接下来执行以下步骤:
[0045]SlOl:开始;
[0046]S102:UE在进行初始接入时,eNB在MAC层设置一定时器,定时器超时时开始学习UE的流量的规律,进入O ;
[0047]具体而言,在MAC层建立UE实例时,启动一定时器,该定时器的定时长度设置为T毫秒。定时器超时时,则认为UE的初始随机接入过程完成。
[0048]高层从UE发送前导码(Preamble)时就开始进行流量的统计,每隔m毫秒把流量的统计值报告给MAC层,无论对于GBR还是NGBR业务,由于要保证在一定的窗长内传输的比特数是一定的,所以如果UE当前发送的是在Ping过程中的数据包,则该数据包的大小是一定的,周期也是一定的,因此流量也是一定的。[0049]S103_l:设置一固定长度为“w”毫秒的单位窗,记录该单位窗内高层报告给MAC层的流量值的大小以及对应的时刻,并求取流量的最大值;
[0050]具体的学习过程如下:
[0051]学习的时间长度是w*A,并将该时间长度作为一个学习周期,通过第一个学习周期的学习结果,来决定第二个学习周期内是否进行预调度;通过第二个学习周期的学习结果,来决定第三个学习周期内是否进行预调度,依次类推,每个学习周期内学习到的状态数组[StateValuel, StateValue2, StateValue3...StateValue ( Δ -1), StateValue Δ ]在下个学习周期开始时都要初始化为[0,O, (>..(),O],学习的过程是一直在进行的。
[0052]设状态值StateValuex的初始值为O ;χ=1,2,3…Δ-1,Δ ;其中Δ表示连续学习的次数,O至O为一次学习过程。通过连续Λ次的学习后求出一个状态数组[StateValuel,StateValue2, StateValue3...StateValue ( Δ -1),StateValue],具体步骤如下:
[0053]S103_2:设置一个固定长度为“w”毫秒的单位窗,记录该单位窗内用户面报告给MAC层的流量值的大小Thrl_x, Thr2_x…Thrm_x及对应的时刻tl_x, t2_x...tm_x ;求
Y=max (Thrl_x, Thr2_x...Thrm_x);其中 w 的单位为毫秒;统计(Thrl_x, Thr2_x…Thrm_x)中大于α Y的个数,将该个数设为η,其中,O < α < I ;
[0054]S103_3:判断1≤η≤θ是否成立,若成立,则执行O ;否则,执行O ;
[0055]S103_4:赋状态值StateValuex为I (确认UE当前是在进行Ping);进入O ;
[0056]S103_5:判断η > Θ是否成立,若成立,执行O ;否则执行O ;
[0057]S103_6:赋状态值 StateValuex 为 2 ;清除已储存的(Thrl_x, Thr2_x…Thrm_x)及(tl_x, t2_x...tm_x);进入 0 ;
[0058]S103_7:判断n=0是否成立,若成立,执行O ;否则,进入是S104 ;
[0059]S103_8:StateValuex 不变,即为 O ;清除已储存的(Thrl_x, Thr2_x...Thrm_x)及(tl_x, t2_x...tm_x);进入 S104 ;
[0060]S104:重复 0 至 0,求出状态数组[StateValuel, StateValue2, StateValue3...StateValue ( Δ -1), StateValue]中各值。
[0061]S105:通过学习到的内容判断UE当前是否在进行Ping ;
[0062]若(StateValueΔ =StateValue ( Δ -2),且 StateValue Δ =1);[0063]或(StateValue( Δ -1) =StateValue ( Δ -3),且 StateValue ( Δ -1) =1);
[0064]或(StateValue( Δ ) =StateValue ( Δ -3),且 StateValue ( Δ ) =1);
[0065]则认为UE当前是在进行Ping;否则认为UE在被动态调度或未做业务,进而根据实际情况进行调度;
[0066]S106:选取状态值为I的窗进行周期的判断;具体为:
[0067]通过连续Λ次的学习,存储的流量值为:
[0068][ (Thrl_l, Thr2_l…Thrm_l),(Thrl_2, Thr2_2…Thrm_2)...(Thrl_ Δ , Thr2_ Δ...Thrm_ Δ )];
[0069]对应的时刻为:
[0070][(tl_l, t2_l...tm_l), (tl_2, t2_2...tm_2)…(tl_ Λ,t2_ Λ...tm_ Λ )];
[0071]注:以上两个数组中存储的数值都是StateValuex=I的情况下对应的值。
[0072]把连续Δ 次学习周期内存储的值[(tl_l,t2_l...tm_l),(tl_2,t2_2...tm_2)...(?1_Δ , ?2_Δ …tm_A )]进行相邻两两求差值;即[(t2_l_tl_l)…(m_l)_l),(tl_2_tm_l)….];
[0073]通过上步操作得到一个状态数组,统计该状态数组内出现频率最高的数值ξ,则ξ即为Ping过程中UE发送数据包的周期。当ξ不唯一时(例如:ξ1; ξ2,ξ3),可以进行以下处理:求平均值ξ Average=mean ( ξ I,ξ 2,ξ 3);将ξ Average作为过程中UE发送数据包的周期;将Q=max ( I ξ
Average ^ I I ? I ^ Average ζ 2 I,^ Average ^ 3
)作为判断下一个Ping时
刻的窗的波动范围。
[0074]S107:对预调度窗口进行预调度。
[0075]如图2所示,如果通过第一个学习周期的学习判断UE当前是在进行Ping,则对第二个学习周期进行预调度。首先是要把第二个学习周期中的第一个流量不为O且认为是Ping的点η找出来,以便于根据Ping过程中UE发送数据包的周期预测下一个Ping时刻的到来。
[0076]n的确定方法很多,比如:
[0077]通过连续Λ次的学习,存储的流量值为[(Thrl_l,Thr2_L...Thrm_l),(Thrl_2, Thr 2_2— Thrm_2)…(Thrl_ Δ,Thr2_ Δ …Thrm_ Δ)];把状态数组中的[(Thrl_ (Δ-3), Thr2_ ( Δ -3)…Thrm_ ( Δ-3)), (Thr 1_ ( Δ-2), Thr2_ ( Δ -2)…Thrm_(Δ -2)), (Thr 1_( Δ -1), Thr2_( Δ -1)...Thrm_( Δ -1)), (Thr 1_ Δ , Thr2_ Δ...Thrm_ Δ )]求平均,记为φ ;
[0078]η 要满足的条件:η2βφ, 0〈 β〈I ;
[0079]预调度窗的大小可以为PreSchWin=max(Q, τ * ξ Average),其中 0〈 τ〈I ;
[0080]S108:结束。
[0081]实施例二
[0082]测速类网站不同于普通的网站,对于普通网站,Ping业务的数据包可由高层解出,以判断此数据包是否为Ping过程中发出的。但是对于测速类网站,高层无法通过解包进行Ping的判断,而是需要周期性地发送固定大小的数据包以进行时延的测试。在本实施例中,可以通过MAC层的学习来判断Ping过程中UE发送数据包的周期及大小,进而进行预调度,使得时延缩短。[0083]首先可以设单位窗的长度w=500ms, Δ =6, α =0.25。接下来执行以下步骤:
[0084]SlOl:开始;
[0085]S102 =LTE初始随机接入时,设置一定时器,定时器超时时开始学习UE的流量的规律,进入O ;
[0086]具体而言,在MAC层建立UE实例时,启动一定时器,该定时器的定时长度设置为T毫秒。定时器超时时,则认为UE的初始随机接入过程完成。
[0087]高层从UE发送Preamble时就开始进行流量的统计,每隔m毫秒把流量的统计值报告给MAC层,无论对于GBR还是NGBR业务,由于要保证在一定的窗长内传输的比特数是一定的,所以如果UE当前发送的是在Ping过程中的数据包,则该数据包的大小是一定的,周期也是一定的,因此流量也是一定的。
[0088]S103_l:设置一固定长度为“w”毫秒的单位窗,记录该单位窗内高层报告给MAC层的流量值的大小以及对应的时刻,并求取流量的最大值;
[0089]具体的学习过程如下:
[0090]学习的时间长度是w*A,并将该时间长度作为一个学习周期,通过第一个学习周期的学习结果,来决定第二个学习周期内是否在进行预调度;通过第二个学习周期的学习结果,来决定第三个学习周期内是否在进行预调度,依次类推,每个学习周期内学习到的状态数组[StateValuel, StateValue2, StateValue3...StateValue ( Δ -1), StateValue Δ ]在下个学习周期开始时刻都 要初始化为[0,O, (>..(),O],学习的过程是一直在进行的。
[0091]设状态值StateValuex的初始值为O ;χ=1, 2, 3…Δ-1,Δ,其中Δ表示连续学习的次数,O至O为一次学习过程。通过连续Λ次的学习后求出一个状态数组[StateValuel,StateValue2, StateValue3...StateValue ( Δ -1),StateValue],具体步骤如下:
[0092]S103_2:设置一个固定长度为“w”毫秒的单位窗,记录该单位窗内用户面报告给MAC层的流量值的大小Thrl_x, Thr2_x…Thrm_x及对应的时刻tl_x, t2_x...tm_x ;求
Y=max (Thrl_x, Thr2_x...Thrm_x);其中 w 的单位为毫秒;统计(Thrl_x, Thr2_x…Thrm_x)中大于α y的个数,将该个数设为η,其中,O < α < I ;
[0093]S103_3:判断I≤η≤Θ是否成立,若成立,则执行O ;否则,执行O ;
[0094]S103_4:赋状态值StateValuex为I (确认UE当前是在进行Ping);进入O ;
[0095]S103_5:判断η > Θ是否成立,若成立,执行O ;否则执行O ;
[0096]S103_6:赋状态值 StateValuex 为 2 ;清除已储存的(Thrl_x, Thr2_x…Thrm_x)及(tl_x, t2_x...tm_x);进入 0 ;
[0097]S103_7:判断n=0是否成立,若成立,执行0 ;否则,进入错误!未找到引用源。;
[0098]S103_8:StateValuex 不变,即为 O ;清除已储存的(Thrl_x, Thr2_x...Thrm_x)及(tl_x, t2_x...tm_x);进入错误!未找到引用源。;
[0099]S104:重复O至O,通过以上步骤求出状态数组[StateValuel, StateValue2, StateValue3…StateValue ( Δ -1),StateValue]中各值。
[0100]S105:通过学习到的内容进行判断UE当前是否在进行Ping ;
[0101]若(StateValueΔ =StateValue ( Δ -2),且 StateValue Δ =1);
[0102]或(StateValue( Δ -1) =StateValue ( Δ -3),且 StateValue ( Δ -1) =1);
[0103]或(StateValue( Δ ) =StateValue ( Δ -3),且 StateValue ( Δ ) =1);[0104]则认为该UE当前是在进行Ping ;否则认为UE在被动态调度或未做业务,进而根据实际情况进行调度;
[0105]S106:选取状态值为I的窗进行周期的判断;具体为:
[0106]通过连续Λ次的学习,存储的流量值为:
[0107][ (Thrl_l, Thr2_l…Thrm_l),(Thrl_2, Thr2_2…Thrm_2)...(Thrl_ Δ , Thr2_ Δ...Thrm_ Δ )];
[0108]对应的时刻为:
[0109][ (tl_l, t2_l...tm_l),(tl_2, t2_2...tm_2)…(tl_ Δ,t2_ Δ...tm_ Δ )];
[0110]注:以上两个数组中存储的数值都是StateValuex=I的情况下对应的值。
[0111]把连续Δ 次学习周期内存储的值[(tl_l,t2_l...tm_l),(tl_2,t2_2...tm_2)...(?1_Δ , ?2_Δ …tm_A )]进行相邻两两求差值;即[(t2_l_tl_l)…(m_l)_l),(tl_2_tm_l)….];
[0112]通过上步操作得到一个状态数组,统计该状态数组内出现频率最高的数值ξ,则ξ即为Ping过程中UE发送数据包的周期。当ξ不唯一时(例如:ξ1; ξ2,ξ3),可以进行以下处理:求平均值ξ Average=mean ( ξ I,ξ 2,ξ 3);将ξ Average作为过程中UE发送数据包的周期;将Q=max ( I ξ
Average ^ I I ? I ^ Average ζ 2 I,^ Average ^ 3
)作为判断下一个Ping时
刻的窗的波动范围。
[0113]S107:对预调度窗口进行预调度。
[0114]如图2所示,如果通过第一个学习周期的学习判断UE当前是在进行Ping,则对第二个学习周期进行预调度。首先是要把第二个学习周期中的第一个流量不为O且认为是Ping的点η找出来,以便于根据Ping过程中UE发送数据包的周期预测下一个Ping时刻的到来。
[0115]n的确定方法很多,比如:
[0116]通过连续Λ次的学习,存储的流量值为[(Thrl_l,Thr2_L...Thrm_l),(Thrl_2, Thr 2_2— Thrm_2)…(Thrl_ Δ,Thr2_ Δ …Thrm_ Δ)];把状态数组中的[(Thrl_ (Δ-3), Thr2_ ( Δ -3)…Thrm_ (Δ-3)), (Thrl_ ( Δ-2), Thr2_ ( Δ -2)…Thrm_(Δ -2)), (Thrl_( Δ-1),Thr2_( Δ-1)...Thrm_( Δ-1)),(Thrl_ Δ , Thr2_ Δ...Thrm_ Δ )]求平均,记为Φ ;
[0117]η 要满足的条件:η>βφ’ 0〈 β〈I ;
[0118]预调度窗的大小可以为PreSchWin=max(Q, τ * ξ AveMge),其中 0〈 τ〈I ;
[0119]S108:结束。
[0120]可见,本发明装置包括学习模块、判决模块、预调度模块;其中,
[0121]所述学习模块,用于进行针对UE流量的学习,并将学习结果通知所述判决模块;
[0122]所述判决模块,用于根据收到的学习结果确定UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,再将该周期通知所述预调度模块;
[0123]所述预调度模块,用于根据收到的所述周期进行预调度。
[0124]进行所述学习的时间长度是w*A,并将该时间长度作为一个学习周期;其中,Λ为一个学习周期内学习的次数,w为每次学习的时长;
[0125]所述学习模块用于将在学习周期内所学习到的状态设置为状态数组;[0126]所述预调度模块用于根据之前的学习周期的学习结果决定之后的学习周期内是否进行预调度。
[0127]所述判决模块在确定UE当前是否在进行Ping时,用于:
[0128]比较状态数组中相邻或具有固定间隔的值是否相等,如果相等并且该值代表UE当前是在进行Ping,那么确定UE当前是在进行Ping。
[0129]所述判决模块在确定所述周期时,用于:
[0130]对学习周期内存储的值的时间点进行求差值,得到的差值中出现频率最高的差值即为UE发送数据包的周期。
[0131]所述学习模块还用于:接收高层向MAC层周期性发送的用于进行所述学习的流量统计。
[0132]综上所述可见,无论是方法还是支持该方法的装置,本发明在Ping过程中实现调度的技术中,高层可以向MAC层报告流量统计,由MAC层基于所设置的学习周期进行连续的学习,从而判断出UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,从而预测下一个用于Ping的数据包的到来,以进行预调度,节省了 UE发送SR的时间,这样降低了 UE进行Ping的时延,并且本发明可以在网络中一直被使用,不影响系统的流量。
[0133]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【权利要求】
1.一种在因特网包探索Ping过程中实现调度的方法,其特征在于,该方法包括: 基站的MAC层进行针对用户设备UE流量的学习,根据学习结果确定UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,根据该周期进行预调度。
2.根据权利要求1所述的方法,其特征在于,进行所述学习的时间长度是w*Δ,并将该时间长度作为一个学习周期;其中,△为一个学习周期内学习的次数,w为每次学习的时长; 将在学习周期内所学习到的状态设置为状态数组; 根据之前的学习周期的学习结果决定之后的学习周期内是否进行预调度。
3.根据权利要求2所述的方法,其特征在于,所述确定UE当前是否在进行Ping的方法为: 比较状态数组中相邻或具有固定间隔的值是否相等,如果相等并且该值代表UE当前是在进行Pin g,那么确定UE当前是在进行Ping。
4.根据权利要求1至3任一项所述的方法,其特征在于,确定所述周期的方法为: 对学习周期内存储的值的时间点进行求差值,得到的差值中出现频率最高的差值即为UE发送数据包的周期。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:高层向MAC层周期性发送用于进行所述学习的流量统计。
6.一种在Ping过程中实现调度的装置,其特征在于,该装置包括学习模块、判决模块、预调度模块;其中, 所述学习模块,用于进行针对UE流量的学习,并将学习结果通知所述判决模块;所述判决模块,用于根据收到的学习结果确定UE当前是否在进行Ping,并在确定UE当前是在进行Ping时确定UE发送数据包的周期,再将该周期通知所述预调度模块; 所述预调度模块,用于根据收到的所述周期进行预调度。
7.根据权利要求6所述的装置,其特征在于,进行所述学习的时间长度是w*Δ,并将该时间长度作为一个学习周期;其中,△为一个学习周期内学习的次数,w为每次学习的时长; 所述学习模块用于将在学习周期内所学习到的状态设置为状态数组; 所述预调度模块用于根据之前的学习周期的学习结果决定之后的学习周期内是否进行预调度。
8.根据权利要求7所述的装置,其特征在于,所述判决模块在确定UE当前是否在进行Ping时,用于: 比较状态数组中相邻或具有固定间隔的值是否相等,如果相等并且该值代表UE当前是在进行Ping,那么确定UE当前是在进行Ping。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述判决模块在确定所述周期时,用于: 对学习周期内存储的值的时间点进行求差值,得到的差值中出现频率最高的差值即为UE发送数据包的周期。
10.根据权利要求6所述的装置,其特征在于,所述学习模块还用于:接收高层向MAC层周期性发送的用于进行所述学习的流量统计。
【文档编号】H04L12/861GK103944835SQ201310020135
【公开日】2014年7月23日 申请日期:2013年1月18日 优先权日:2013年1月18日
【发明者】李美娟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1