功能 #1690
为了支持500UE,需要减少DDDS数量
0%
描述
减少DDDS数量的方案:
1,在CU现有的处理DDDS和下行发包机制的基础上,需要增加如下机制:
收到DDDS并更新DBS(现有机制)后,如果DBS大于等于一个包大小,需要检查对应DRB的inprocess_sdus_list,如果有包可发就发
2,DU发DDDS的方式:
2.1,DU在DRB建立之初发一个DDDS(现有机制)
2.2,在任何时候,只要收到CU的数据都会判断DDDS 10ms定时器是否启动,如果没有启动就会启动
2.3,DDDS 10ms定时器超时的时候加判断,只要在过去的20ms内收到过CU的数据包就发1个DDDS
2.4,如果2.3判断的结果是不发DDDS,则需要查看当前的highest_delivered_pdcp_sn与上一个DDDS中的值相比有没有更新,如果有更新就发DDDS,这样能让CU及时知道DU的缓存状况,而且可以防止DDDS机制锁死
2.5,如果2.4判断的结果是不发DDDS,而且如果RLC sduQ中没有包了,同时过去的10ms CU没有入包,并且上一个DDDS DBS小于2000个包大小,为了降低CPU load,发最后1个DDDS(DBS是2000个包大小),这个DRB的DDDS 10ms定时器不再启动,即情况没有变化就不发DDDS了
历史记录
由 匿名用户 更新于 超过一年 之前
- 状态 从 新建 变更为 进行中
- 问题归属 已删除 (
CU)
实现方法有如下修改和增加:
1,CU现有的处理DDDS和下行发包机制(不需要修改):
收到DDDS并更新DBS(现有机制)后,如果DBS大于等于一个包大小,需要检查对应DRB的inprocess_sdus_list,如果有包可发就发
2,DU发DDDS的方式:
2.1,DU在DRB建立之初发一个DDDS(现有机制)
2.2,在任何时候,只要收到CU的数据都会判断DDDS 10ms定时器是否启动,如果没有启动就会启动
2.3,DDDS 10ms定时器超时的时候加判断,只要在过去的20ms内收到过CU的数据包就发1个DDDS,并重启定时器
2.4,如果2.3判断的结果是不发DDDS,则需要查看当前的highest_delivered_pdcp_sn与上一个DDDS中的值相比有没有更新,如果有更新就发DDDS,这样能让CU及时知道DU的缓存状况,而且可以防止DDDS机制锁死
2.5,如果2.4判断的结果是不发DDDS,分下面3种情况处理:
RLC sduQ有包,则发DDDS,重启DDDS定时器
RLC sduQ没包, DBS不是2000,则发DDDS,不重启DDDS定时器
RLC sduQ没包, DBS是2000,则不发DDDS,不重启DDDS定时器
3,计算每秒发出DDDS的数量,根据上一秒发送的DDDS数量来调整DDDS定时器的周期,从而调整每秒DDDS数量