发明内容
本发明针对现有技术的问题,结合LTE系统数据链路层的架构需求,设计一种方案实现流量控制,以避免由于突发的超出基站处理能力的大流量数据出现所带来的内存耗尽以及安全不同步问题。
本发明提供一种用于移动通信系统中数据链路层的流量控制方法,包括以下步骤:
步骤1,初始化pdcp层和rlc层分别的流控阈值门限,所述流控阈值门限包括小区级的流控阈值门限和承载级的流控阈值门限;初始化小区级的拥塞标志位cellBLK和承载级的拥塞标志位rbBLK为0;所述pdcp为分组数据汇聚协议,所述rlc为无线链路控制;
pdcp层小区级的流控阈值门限有低门限阈值TL_PDCP_QUEUE和高门限阈值TH_PDCP_QUEUE,
rlc层小区级的流控阈值门限有低门限阈值TL_RLC_QUEUE和高门限阈值TH_RLC_QUEUE,
pdcp层承载级的流控阈值门限有低门限阈值TL_PDCP_BUFFER、中门限阈值TM_PDCP_BUFFER和高门限阈值TH_PDCP_BUFFER,
rlc层承载级的流控阈值门限有低门限阈值TL_RLC_BUFFER、中门限阈值TM_RLC_BUFFER和高门限阈值TH_RLC_BUFFER;
步骤2,当收到从GTPU层下来的数据报文时,PDCP层根据当前的拥塞标志位cellBLK和rbBLK判定基站的负荷情况并处理; 所述GTPU为GPRS用户平面隧道协议,所述数据报文为SDU,SDU表示业务数据单元;
第一次执行步骤2时当前的拥塞标志位为步骤1初始化结果cellBLK=0、rbBLK=0;后续执行步骤2时根据上一次执行步骤3和步骤4中所得相应的拥塞标志位cellBLK1、cellBLK2、rbBLK1、rbBLK2确定cellBLK和rbBLK当前的取值,包括取cellBLK1、cellBLK2中的较大者为cellBLK,取rbBLK1、rbBLK2中的较大者为rbBLK;
根据当前的拥塞标志位cellBLK和rbBLK判定基站的负荷情况并处理的方式如下,
当前数据报文相应rbBLK为2时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK为1且cellBLK为1时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK为1时且cellBLK为0时,不丢弃当前数据报文,进入步骤3继续后续流程;
当前数据报文相应rbBLK为0且cellBLK为1时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK和cellBLK都为0时,不丢弃当前数据报文,进入步骤3继续后续流程;
步骤3,PDCP下行流程处理,同时PDCP层根据当前下行消息队列长度以及下行缓冲区实体数目进行小区级和承载级的拥塞标志位预判,得到相应预判结果cellBLK1和rbBLK1;
小区级的拥塞标志位预判方式如下,
当PDCP的消息队列长度大于等于高门限阈值TH_PDCP_QUEUE时, cellBLK1置为1,表示拥塞状态;
当PDCP的消息队列长度小于高门限阈值TH_PDCP_QUEUE大于等于低门限阈值TL_PDCP_QUEUE时, cellBLK1保持不变;
当PDCP的消息队列长度小于低门限阈值TL_PDCP_QUEUE时,对应CELL标志位cellBLK1即置为0,表示不拥塞状态;
承载级的拥塞标志位预判方式如下,
当PDCP下行RB缓冲区实体数目小于等于高门限阈值TH_PDCP_BUFFER且大于等于中门限阈值TM_PDCP_BUFFER时,rbBLK1置为1,表示拥塞程度较轻;
当PDCP下行RB缓冲区实体数目大于高门限阈值TH_PDCP_BUFFER时,rbBLK1置为2,表示较拥塞程度较严重;
当PDCP下行RB缓冲区实体数目大于等于低门限阈值TL_PDCP_BUFFER和中且小于中门限阈值TM_PDCP_BUFFER时,rbBLK1保持不变;
当PDCP下行RB缓冲区实体数目小于低门限阈值TL_PDCP_BUFFER时,rbBLK1置为0,表示不拥塞状态;
步骤4,RLC下行流程处理,同时RLC层根据当前下行消息队列长度以及下行缓冲区实体数目进行小区级和承载级的拥塞标志位预判,得到相应预判结果cellBLK2和rbBLK2;等待下一个数据报文到达时返回步骤2;
小区级的拥塞标志位预判方式如下,
当RLC的消息队列长度大于等于高门限阈值TH_RLC_QUEUE时,cellBLK2置为1,表示拥塞状态;
当RLC的消息队列长度小于高门限阈值TH_RLC_QUEUE大于等于低门限阈值TL_RLC_QUEUE时,cellBLK2保持不变;
当RLC的消息队列长度小于低门限阈值TL_RLC_QUEUE时,cellBLK2即置为0,表示不拥塞状态;
承载级的拥塞标志位预判方式如下,
当RLC下行RB缓冲区实体数目小于等于高门限阈值TH_RLC_BUFFER且大于等于中门限阈值TM_RLC_BUFFER时,rbBLK2置为1,表示拥塞程度较轻;
当RLC下行RB缓冲区实体数目大于高门限阈值TH_RLC_BUFFER时,rbBLK2置为2,表示较拥塞程度较严重;
当RLC下行RB缓冲区实体数目大于等于低门限阈值TL_RLC_BUFFER且小于中门限阈值TM_RLC_BUFFER时,rbBLK2保持不变;
当RLC下行RB缓冲区实体数目小于低门限阈值TL_RLC_BUFFER时,rbBLK2置为0,表示不拥塞状态。
本发明还相应提供一种用于移动通信系统中数据链路层的流量控制系统,包括以下模块:
初始化模块,用于初始化pdcp层和rlc层分别的流控阈值门限,所述流控阈值门限包括小区级的流控阈值门限和承载级的流控阈值门限;初始化小区级的拥塞标志位cellBLK和承载级的拥塞标志位rbBLK为0;所述pdcp为分组数据汇聚协议,所述rlc为无线链路控制;
pdcp层小区级的流控阈值门限有低门限阈值TL_PDCP_QUEUE和高门限阈值TH_PDCP_QUEUE,
rlc层小区级的流控阈值门限有低门限阈值TL_RLC_QUEUE和高门限阈值TH_RLC_QUEUE,
pdcp层承载级的流控阈值门限有低门限阈值TL_PDCP_BUFFER、中门限阈值TM_PDCP_BUFFER和高门限阈值TH_PDCP_BUFFER,
rlc层承载级的流控阈值门限有低门限阈值TL_RLC_BUFFER、中门限阈值TM_RLC_BUFFER和高门限阈值TH_RLC_BUFFER;
判断处理模块,用于当收到从GTPU层下来的数据报文时,PDCP层根据当前的拥塞标志位cellBLK和rbBLK判定基站的负荷情况并处理; 所述GTPU为GPRS用户平面隧道协议,所述数据报文为SDU,SDU表示业务数据单元;
判断处理模块第一次工作时当前的拥塞标志位为初始化模块所得初始化结果cellBLK=0、rbBLK=0;判断处理模块后续工作时根据PDCP预判模块和RLC预判模块上一次工作所得相应的拥塞标志位cellBLK1、cellBLK2、rbBLK1、rbBLK2确定cellBLK和rbBLK当前的取值,包括取cellBLK1、cellBLK2中的较大者为cellBLK,取rbBLK1、rbBLK2中的较大者为rbBLK;
根据当前的拥塞标志位cellBLK和rbBLK判定基站的负荷情况并处理的方式如下,
当前数据报文相应rbBLK为2时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK为1且cellBLK为1时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK为1时且cellBLK为0时,不丢弃当前数据报文,命令PDCP预判模块工作;
当前数据报文相应rbBLK为0且cellBLK为1时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK和cellBLK都为0时,不丢弃当前数据报文,命令PDCP预判模块工作;
PDCP预判模块,用于PDCP下行流程处理,同时PDCP层根据当前下行消息队列长度以及下行缓冲区实体数目进行小区级和承载级的拥塞标志位预判,得到相应预判结果cellBLK1和rbBLK1;
小区级的拥塞标志位预判方式如下,
当PDCP的消息队列长度大于等于高门限阈值TH_PDCP_QUEUE时, cellBLK1置为1,表示拥塞状态;
当PDCP的消息队列长度小于高门限阈值TH_PDCP_QUEUE且大于等于低门限阈值TL_PDCP_QUEUE时, cellBLK1保持不变;
当PDCP的消息队列长度小于低门限阈值TL_PDCP_QUEUE时,对应CELL标志位cellBLK1即置为0,表示不拥塞状态;
承载级的拥塞标志位预判方式如下,
当PDCP下行RB缓冲区实体数目小于等于高门限阈值TH_PDCP_BUFFER且大于等于中门限阈值TM_PDCP_BUFFER时,rbBLK1置为1,表示拥塞程度较轻;
当PDCP下行RB缓冲区实体数目大于高门限阈值TH_PDCP_BUFFER时,rbBLK1置为2,表示较拥塞程度较严重;
当PDCP下行RB缓冲区实体数目大于等于低门限阈值TL_PDCP_BUFFER且小于中门限阈值TM_PDCP_BUFFER时,rbBLK1保持不变;
当PDCP下行RB缓冲区实体数目小于低门限阈值TL_PDCP_BUFFER时,rbBLK1置为0,表示不拥塞状态;
RLC预判模块,用于RLC下行流程处理,同时RLC层根据当前下行消息队列长度以及下行缓冲区实体数目进行小区级和承载级的拥塞标志位预判,得到相应预判结果cellBLK2和rbBLK2;等待下一个数据报文到达时命令判断处理模块工作;
小区级的拥塞标志位预判方式如下,
当RLC的消息队列长度大于等于高门限阈值TH_RLC_QUEUE时,cellBLK2置为1,表示拥塞状态;
当RLC的消息队列长度小于高门限阈值TH_RLC_QUEUE且大于等于低门限阈值TL_RLC_QUEUE时,cellBLK2保持不变;
当RLC的消息队列长度小于低门限阈值TL_RLC_QUEUE时,cellBLK2置为0,表示不拥塞状态;
承载级的拥塞标志位预判方式如下,
当RLC下行RB缓冲区实体数目小于等于高门限阈值TH_RLC_BUFFER且大于等于中门限阈值TM_RLC_BUFFER时,rbBLK2置为1,表示拥塞程度较轻;
当RLC下行RB缓冲区实体数目大于高门限阈值TH_RLC_BUFFER时,rbBLK2置为2,表示较拥塞程度较严重;
当RLC下行RB缓冲区实体数目大于等于低门限阈值TL_RLC_BUFFER且小于中门限阈值TM_RLC_BUFFER时,rbBLK2保持不变;
当RLC下行RB缓冲区实体数目小于低门限阈值TL_RLC_BUFFER时,rbBLK2置为0,表示不拥塞状态。
针对LTE系统高速率、大容量的特点,本发明设计了一种适用LTE系统数据链路层的流量控制实现方案。该方案能够很好的避免由于突发的超出基站处理能力的大流量数据出现所带来的内存耗尽以及安全不同步问题,高效、合理的进行数据链路上的流量控制,保证了基站系统的稳定性。
具体实施时可参考软件技术实现自动运行流程,如图1所示,实施例所提供方法的流程包括以下步骤:
步骤1,初始化pdcp层和rlc层分别的流控阈值门限,初始化CELL(小区)、RB(承载)拥塞标志位。
初始化门限后,各级拥塞标志位后续将根据此门限来进行拥塞程度置位。具体实施时,门限具体取值可由本领域技术人员进行实际的性能调试决定后预设。实施例的步骤1中,小区级和承载级的高中低各级阈值门限的具体取值由实际的系统性能吞吐量来决定。在pdcp层和rlc层中,都存在小区级和承载级的流控阈值门限。其中小区级的流控阈值门限包括高阈值门限和低阈值门限,由PDCP/RLC下行用户面处理任务的消息队列长度决定。承载级的流控阈值门限包括高、中、低三级阈值门限,由PDCP/RLC下行缓冲区实体数目来决定。其中小区级和承载级的拥塞标志位初始化为0,后续会根据当前系统的实时性能状态来进行置位。
数据链路层用户面内部流控包括四组域值,分别对应于:
PDCP的下行用户面处理任务的消息队列长度(具体相应阈值为TL_PDCP_QUEUE和TH_PDCP_QUEUE),为Cell级流控参数,由PDCP检出队列长度是否越过相关门限;其中,TL_PDCP_QUEUE为pdcp层消息队列不拥塞门限,TH_PDCP_QUEUE为pdcp层消息队列拥塞门限。
RLC的下行用户面处理任务的消息队列长度(具体相应阈值为TL_RLC_QUEUE和TH_RLC_QUEUE),为Cell级流控参数,由RLC检出;其中,TL_RLC_QUEUE为rlc层消息队列不拥塞门限,TH_RLC_QUEUE为rlc层消息队列拥塞门限。
PDCP的下行缓冲区实体数目(具体相应阈值为TL_PDCP_BUFFER、TM_PDCP_BUFFER和TH_PDCP_BUFFER),为RB级流控参数,由PDCP检出;其中,TL_PDCP_BUFFER为pdcp层下行缓冲占用低门限,TM_PDCP_BUFFER为pdcp层下行缓冲占用中门限,TH_PDCP_BUFFER为pdcp层下行缓冲占用高门限。
RLC的下行缓冲区实体数目(具体相应阈值为TL_RLC_BUFFER、TM_RLC_BUFFER和TH_RLC_BUFFER),为RB级流控参数,由RLC检出。其中,TL_RLC_BUFFER为rlc层下行缓冲占用低门限,TM_RLC_BUFFER为rlc层下行缓冲占用中门限,TH_RLC_BUFFER为rlc层下行缓冲占用高门限。
步骤2,PDCP层作为流控措施的执行者,当收到从GTPU下来的SDU(Service Data Unit,业务数据单元)时,进入流控处理,进行拥塞状态判断,根据判断结果丢弃此SDU或者继续进行PDCP下行处理流程;
当数据报文(即SDU)达到PDCP时,PDCP作为流控措施的执行者,会针对当前数据报文判断此时的拥塞状态:
PDCP层和RLC层共享所有的拥塞标志位,即一个Cell级的拥塞标志和若干个RB级拥塞标志,对当前数据报文的处理根据Cell级的拥塞标志及报文对应的RB级拥塞标志位进行判断。记Cell级拥塞标志为cellBLK,记RB级拥塞标志为rbBLK。对于某个标志位,若流控决策者PDCP和RLC的流控决策不一致时,取两者中的较大者,如PDCP认为Cell级别的拥塞标识为1,而RLC认为Cell级别的拥塞标志为0时,该Cell的拥塞标志应被设置为1;如PDCP认为某RB的拥塞标志位1,RLC认为该RB的拥塞标志为2,该RB相应的RB级拥塞标志位为2。为便于确定cellBLK和rbBLK的取值,将PDCP判断的Cell级别的拥塞标识记为cellBLK1,将RLC判断的Cell级别的拥塞标识记为cellBLK2,将PDCP判断的RB级别的拥塞标识记为rbBLK1,将RLC判断的RB级别的拥塞标识记为rbBLK2,取cellBLK1、cellBLK2中的较大者为cellBLK,取rbBLK1、rbBLK2中的较大者为rbBLK;考虑各种可能的标志取值情况,具体拥堵程度判定如下表1:
表1 拥塞程度判定表
注:rbBLK:0、1、2分别表示拥塞程度:不拥塞、拥塞、很拥塞;
cellBLK:0、1分别表示不拥塞和拥塞;
确定cellBLK和rbBLK的取值之后,即获得当前拥塞状态,根据当前拥塞状态来判定基站的负荷情况,来决定是否需要采取针对性的流控措施:
在当前数据报文相应RB级拥塞标志为2时,可直接丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断。
在当前数据报文相应RB拥塞标志为1且Cell拥塞标志为1时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断。
在当前数据报文相应RB拥塞标志为1且Cell拥塞标志为0时,不丢弃当前数据报文,进入步骤3继续后续流程。
在当前数据报文相应RB拥塞标志为0且Cell拥塞标志为1时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断。
在当前数据报文相应RB拥塞标志和Cell拥塞标志都为0时,不丢弃当前数据报文,进入步骤3继续后续流程。
每当收到从GTPU下来的SDU时执行步骤2进行判断,一般第一次执行步骤2时按步骤1初始化结果cellBLK=0、rbBLK=0进行,并根据步骤3和步骤4判断此时的拥塞状态,后续新收到数据报文执行步骤2时根据上一次执行步骤3和步骤4中检测出的相应的拥塞标志位cellBLK1、cellBLK2、rbBLK1、rbBLK2,流控动作的执行者PDCP需要判定此时系统的拥塞状态cellBLK和rbBLK并实施针对性的流控措施。该流控动作为数据报文驱动,丢弃策略为尾丢弃,PDCP层需要针对每个下行PDCP SDU(Service Data Unit,业务数据单元)做判断:若为拥塞状态,则丢弃此SDU;否则继续进行PDCP下行处理流程。
步骤3,PDCP层同时作为流控措施的决策者,根据当前模块下行消息队列长度以及下行承载缓冲区实体数目进行小区级和承载级的拥塞标志位预判,得到相应预判结果cellBLK1和rbBLK1;
PDCP层同时也是流控措施的决策者,每处理一个数据报文,会判断此时PDCP层的消息队列长度及下行承载缓冲区实体数目有无变化,如果有,就会实时更新相应的小区级和承载级的拥塞标志位。其中PDCP的判决门限包括:
承载门限:TL_PDCP_BUFFER、TM_PDCP_BUFFER、TH_PDCP_BUFFER,各承载级拥塞标志位分别进行预判
小区门限:TL_PDCP_QUEUE、TH_PDCP_QUEUE
具体的门限值可由本领域技术人员自行预先设定,具体实施时可由各设备厂商结合自己的实现,依据性能调试获取后预设。步骤1根据预设数值进行初始化,本步骤即可使用。
步骤4,RLC下行流程处理,RLC层同时作为流控措施的决策者,根据当前模块下行消息队列长度以及下行承载缓冲区实体数目进行小区级和承载级的拥塞标志位预判,得到相应预判结果cellBLK1和rbBLK1;
同样的,RLC层作为流控措施的决策者,每处理一个数据报文,会判断此时RLC层的消息队列长度及下行承载缓冲区实体数目有无变化,如果有,就会实时更新相应的小区级和承载级的拥塞标志位。其中RLC的判决门限包括:
承载门限:TL_RLC_BUFFER、TM_RLC_BUFFER、TH_RLC_BUFFER,各承载级拥塞标志位分别进行预判
小区门限:TL_RLC_QUEUE、TH_RLC_QUEUE
具体的门限值可由本领域技术人员自行预先设定,具体实施时可由各设备厂商结合自己的实现,依据性能调试获取后预设。步骤1根据预设数值进行初始化,本步骤即可使用。
步骤3中和步骤4中,小区级拥塞标志位用来指示小区缓冲区的拥塞程度,由PDCP层和RLC层的消息队列长度来决定:
当PDCP/RLC的消息队列长度大于等于高门限阈值时,相应的小区级拥塞标志位置为1,表示拥塞状态
当PDCP/RLC的消息队列长度在高、低门限阈值之间时,相应的小区级拥塞标志位保持不变
当PDCP/RLC的消息队列长度小于低门限阈值时,相应的小区级拥塞标志位置为0,表示不拥塞状态
承载级拥塞标志位表示承载缓冲区的拥塞程度,任一RB的承载级拥塞标志位由PDCP层/RLC层承载中的相应实体数目来决定:
当PDCP/RLC下行承载缓冲区实体数目大于高门限阈值时,相应的承载级拥塞标志位置为2,表示特别拥塞状态
当PDCP/RLC下行承载缓冲区实体数目在高、中门限阈值之间时,相应的承载级拥塞标志位置为1,表示一般拥塞状态
当PDCP/RLC下行承载缓冲区实体数目在中、低门限阈值之间时,相应的承载级拥塞标志位保持不变
当PDCP/RLC下行承载缓冲区实体数目小于低门限阈值时,相应的承载级拥塞标志位置为0,表示不拥塞状态
具体来说:
当PDCP/RLC的消息队列长度大于等于高门限阈值TH_PDCP_QUEUE/TH_RLC_QUEUE时,对应CELL标志位cellBLK1/cellBLK2即置为1,表示拥塞状态;
当PDCP/RLC的消息队列长度小于高门限阈值TH_PDCP_QUEUE/TH_RLC_QUEUE且大于等于低门限阈值TL_PDCP_QUEUE/TL_RLC_QUEUE时,对应CELL标志位cellBLK1/cellBLK2保持不变;
当PDCP/RLC的消息队列长度小于低门限阈值TL_PDCP_QUEUE/TL_RLC_QUEUE时,对应CELL标志位cellBLK1/cellBLK2即置为0,表示不拥塞状态;
RB级拥塞标志位表示RB缓冲区的拥塞程度,由PDCP层和RLC层的承载实体数目来决定:
当PDCP/RLC下行RB缓冲区实体数目小于等于高门限阈值TH_PDCP_BUFFER/TH_RLC_BUFFER且大于等于中门限阈值TM_PDCP_BUFFER/TM_RLC_BUFFER时,对应RB标志位rbBLK1/ rbBLK2即置为1,表示拥塞程度较轻;
当PDCP/RLC下行RB缓冲区实体数目大于高门限阈值TH_PDCP_BUFFER/TH_RLC_BUFFER时,对应RB标志位rbBLK1/ rbBLK2即置为2,表示较拥塞程度较严重;
当PDCP/RLC下行RB缓冲区实体数目大于等于低门限阈值TL_PDCP_BUFFER/TL_RLC_BUFFER且小于中门限阈值TM_PDCP_BUFFER/TM_RLC_BUFFER时,对应RB拥塞标志位rbBLK1/ rbBLK2保持不变;
当PDCP/RLC下行RB缓冲区实体数目小于低门限阈值TL_PDCP_BUFFER/TL_RLC_BUFFER时,对应RB标志位rbBLK1/ rbBLK2置为0,表示不拥塞状态。
参见表2、3、4、5:
表2 PDCP承载拥塞程度置位
表3 PDCP小区拥塞程度置位
PDCP拥塞标志位 |
<TL_PDCP_QUEUE |
≥TH_PDCP_QUEUE |
cellBLK1 |
0 |
1 |
表4 RLC承载拥塞程度置位
表5 RLC小区拥塞程度置位
RLC拥塞标志位 |
<TL_RLC_QUEUE |
≥TH_RLC_QUEUE |
cellBLK2 |
0 |
1 |
根据上述数据链路层用户面的内部流控拥塞处理,流控的重点在于步骤3和步骤4中的CELL级和RB级拥塞状态置位,拥塞状态置位即可实现RLC拥塞程度反馈,后续对下一个包处理如步骤2所描述,这样循环处理即可完成整个数据链路层的流量控制。
本发明还相应提供一种用于移动通信系统中数据链路层的流量控制系统,包括以下模块:
初始化模块,用于初始化pdcp层和rlc层分别的流控阈值门限,所述流控阈值门限包括小区级的流控阈值门限和承载级的流控阈值门限;初始化小区级的拥塞标志位cellBLK和承载级的拥塞标志位rbBLK为0;所述pdcp为分组数据汇聚协议,所述rlc为无线链路控制;
pdcp层小区级的流控阈值门限有低门限阈值TL_PDCP_QUEUE和高门限阈值TH_PDCP_QUEUE,
rlc层小区级的流控阈值门限有低门限阈值TL_RLC_QUEUE和高门限阈值TH_RLC_QUEUE,
pdcp层承载级的流控阈值门限有低门限阈值TL_PDCP_BUFFER、中门限阈值TM_PDCP_BUFFER和高门限阈值TH_PDCP_BUFFER,
rlc层承载级的流控阈值门限有低门限阈值TL_RLC_BUFFER、中门限阈值TM_RLC_BUFFER和高门限阈值TH_RLC_BUFFER;
判断处理模块,用于当收到从GTPU层下来的数据报文时,PDCP层根据当前的拥塞标志位cellBLK和rbBLK判定基站的负荷情况并处理; 所述GTPU为GPRS用户平面隧道协议,所述数据报文为SDU,SDU表示业务数据单元;
判断处理模块第一次工作时当前的拥塞标志位为初始化模块所得初始化结果cellBLK=0、rbBLK=0;判断处理模块后续工作时根据PDCP预判模块和RLC预判模块上一次工作所得相应的拥塞标志位cellBLK1、cellBLK2、rbBLK1、rbBLK2确定cellBLK和rbBLK当前的取值,包括取cellBLK1、cellBLK2中的较大者为cellBLK,取rbBLK1、rbBLK2中的较大者为rbBLK;
根据当前的拥塞标志位cellBLK和rbBLK判定基站的负荷情况并处理的方式如下,
当前数据报文相应rbBLK为2时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK为1且cellBLK为1时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK为1时且cellBLK为0时,不丢弃当前数据报文,命令PDCP预判模块工作;
当前数据报文相应rbBLK为0且cellBLK为1时,丢弃当前数据报文,等待收下一个数据报文进行拥塞状态判断;
当前数据报文相应rbBLK和cellBLK都为0时,不丢弃当前数据报文,命令PDCP预判模块工作;
PDCP预判模块,用于PDCP下行流程处理,同时PDCP层根据当前下行消息队列长度以及下行缓冲区实体数目进行小区级和承载级的拥塞标志位预判,得到相应预判结果cellBLK1和rbBLK1;
小区级的拥塞标志位预判方式如下,
当PDCP的消息队列长度大于等于高门限阈值TH_PDCP_QUEUE时, cellBLK1置为1,表示拥塞状态;
当PDCP的消息队列长度小于高门限阈值TH_PDCP_QUEUE且大于等于低门限阈值TL_PDCP_QUEUE时, cellBLK1保持不变;
当PDCP的消息队列长度小于低门限阈值TL_PDCP_QUEUE时,对应CELL标志位cellBLK1即置为0,表示不拥塞状态;
承载级的拥塞标志位预判方式如下,
当PDCP下行RB缓冲区实体数目小于等于高门限阈值TH_PDCP_BUFFER且大于等于中门限阈值TM_PDCP_BUFFER时,rbBLK1置为1,表示拥塞程度较轻;
当PDCP下行RB缓冲区实体数目大于高门限阈值TH_PDCP_BUFFER时,rbBLK1置为2,表示较拥塞程度较严重;
当PDCP下行RB缓冲区实体数目大于等于低门限阈值TL_PDCP_BUFFER且小于中门限阈值TM_PDCP_BUFFER时,rbBLK1保持不变;
当PDCP下行RB缓冲区实体数目小于低门限阈值TL_PDCP_BUFFER时,rbBLK1置为0,表示不拥塞状态;
RLC预判模块,用于RLC下行流程处理,同时RLC层根据当前下行消息队列长度以及下行缓冲区实体数目进行小区级和承载级的拥塞标志位预判,得到相应预判结果cellBLK2和rbBLK2;等待下一个数据报文到达时命令判断处理模块工作;
小区级的拥塞标志位预判方式如下,
当RLC的消息队列长度大于等于高门限阈值TH_RLC_QUEUE时,cellBLK2置为1,表示拥塞状态;
当RLC的消息队列长度小于高门限阈值TH_RLC_QUEUE且大于等于低门限阈值TL_RLC_QUEUE时,cellBLK2保持不变;
当RLC的消息队列长度小于低门限阈值TL_RLC_QUEUE时,cellBLK2置为0,表示不拥塞状态;
承载级的拥塞标志位预判方式如下,
当RLC下行RB缓冲区实体数目小于等于高门限阈值TH_RLC_BUFFER且大于等于中门限阈值TM_RLC_BUFFER时,rbBLK2置为1,表示拥塞程度较轻;
当RLC下行RB缓冲区实体数目大于高门限阈值TH_RLC_BUFFER时,rbBLK2置为2,表示较拥塞程度较严重;
当RLC下行RB缓冲区实体数目大于等于低门限阈值TL_RLC_BUFFER且小于中门限阈值TM_RLC_BUFFER时,rbBLK2保持不变;
当RLC下行RB缓冲区实体数目小于低门限阈值TL_RLC_BUFFER时,rbBLK2置为0,表示不拥塞状态。
各模块实现可参见相应步骤,本发明不赘述。具体实施时,本领域技术人员也可自行灵活设置模块划分,例如在PDCP层设置PDCP模块实现相应流控功能和预判功能,在RLC层设置RLC模块实现相应预判功能。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。