一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种5GNRRLC窗口内存优化管理的方法及装置与流程

2022-02-20 23:22:00 来源:中国专利 TAG:

一种5g nr rlc窗口内存优化管理的方法及装置
技术领域
1.本技术涉及一种移动通讯技术,特别是涉及一种5g(第五代移动通讯技术)nr(new radio,新无线)rlc(radio link control,无线链路控制)上下行窗口内存优化管理的方法。


背景技术:

2.5g nr rlc层用来接收上层发来的rlc sdu(service data unit,服务数据单元),rlc层处理后组装成rlc pdu(protocol data unit,协议数据单元)然后投递给下层。5g nr rlc层的一个重要功能就是为用户数据和控制数据提供可靠性传输,包括重传和确认功能。rlc的传输模式分为:透明模式(tm,transparent mode)、非确认模式(um,unacknowledged mode)、确认模式(am,acknowledged mode)。其中确认模式用来实现可靠性传输。
3.ue(user equipment,用户设备)向网络侧发送上行数据包,网络侧会根据上行数据包的实际的接收情况给ue回上行状态报告(status report)。上行状态报告里包含ack(应答)与nak(否定应答)信息,ack信息用来指示哪些数据包被收到,nak信息用来指示哪些数据包未被收到。ue会根据上行状态报告的指示情况重传收到nak信息的数据包。网络侧向ue发送下行数据包,由于空口质量问题,期间可能会发生丢包现象,这个时候ue会根据下行数据包的实际接收情况向网络侧发送下行状态报告,向网络侧指示下行数据包的接收情况,以便网络侧重传丢失的下行数据包。所述上行数据包、下行数据包均为rlc pdu。
4.5g nr在确认模式下rlc上下行窗口的基本情况如下。
5.首先,5g nr在确认模式下rlc上行窗口由三个参数tx_next、tx_next_ack以及am_window_size来维护。其中tx_next是指ue即将发送的上行rlc pdu的序列号(sn),tx_next_ack是指ue已发送出去的且在等待网络侧回复ack或nak信息的第一个上行rlc pdu的序列号,am_window_size是指rlc上行窗口的大小。5g nr在确认模式下rlc pdu的序列号分为12位(bit)和18位两种情形。对于12位序列号的情形,am_window_size是2048。对于18位序列号的情形,am_window_size是131072。
6.其次,5g nr在确认模式下rlc下行窗口主要由两个参数rx_next以及am_window_size来维护。其中rx_next是指ue在等待接收或者等待分段接收完整的第一个下行rlc pdu的序列号,am_window_size是指rlc下行窗口的大小。
7.由于空口质量问题,ue发送的上行数据包网络侧有可能没收到,这就需要ue侧保存发送的原始上行数据包,以备重传。网络侧发送的下行数据包ue也可能没有收到,这就需要ue记录下行数据包的接收情况,以备向网络侧发送状态报告。
8.ue若要实现上行重传,则在首传(即第一次传输)上行rlc pdu的时候,就必须备份所有原始上行rlc pdu,因为ue也不知道哪些上行rlc pdu需要重传。对于18位序列号的情形,rlc发送窗的大小为131072。这就意味着如果要备份上行rlc pdu,就需要管理最大131072个数据。如果每个rlc pdu使用一个指针来备份,每个指针占用4个字节,每个指针指向一个rlc pdu的存储地址,则需要一次性分配4
×
131072=524288字节的内存。
9.ue若要向网络侧发送下行rlc pdu的状态报告,就必须记录每个下行rlc pdu的序列号及其下行接收信息。所述下行接收信息包括:当前序列号的下行rlc pdu有没有收到;当前序列号的下行rlc pdu有没有被分段;当前序列号的下行rlc pdu如果被分段,有没有接收完整全部分段。这些下行接收信息最少需要8个字节来指示。由于网络侧rlc层的发送窗口的大小为131072,则ue侧需要一次性分配8
×
131072=1048576字节的内存。
10.以上只是一个drb(data radio bearer,数据无线承载)的情况,如果实际网络配置了多个drb的话,则需要一次性分配更多内存,这对系统来说是巨大的开销。而实际情况中,发送窗口大小的数据全部需要重传几乎很少发生,这会造成很大的内存浪费。


技术实现要素:

11.本技术所要解决的技术问题是提出一种5g nr rlc上下行窗口内存优化管理的方法,以达到最大程度地节省系统内存。为此,本技术还要提出一种5g nr rlc上下行窗口内存优化管理的装置。
12.为解决上述技术问题,本技术提出了一种5g nr rlc窗口内存优化管理的方法,包括如下步骤。步骤s11:5g nr在确认模式下的rlc上行窗口采用第一指针数组实现;第一指针数组中,每个第一基本单元的大小为m1
×
n1字节;第一指针数组最大为l1个第一基本单元。步骤s12:为第一指针数组初始化分配一个第一基本单元大小的内存,采用m1个字节记录一个指针,每个指针指向一个特定序列号的ue即将发送的上行rlc pdu的原始数据的存储地址。步骤s13:如果第一指针数组的已分配的内存未用完,ue在第一指针数组的已分配的内存中采用一个指针记录即将发送的上行rlc pdu的原始数据的存储地址。如果第一指针数组的已分配的内存已用完,ue为第一指针数组增加分配一个第一基本单元大小的内存,并在第一指针数组的新分配的内存中采用一个指针记录该即将发送的上行rlc pdu的原始数据的存储地址;第一指针数组的内存空间最多分配至l1个第一基本单元的大小。步骤s14:ue收到网络侧发送的上行状态报告后,ue释放已经收到网络侧的ack信息的上行rlc pdu的指针在rlc上行窗口中的内存空间。所述步骤s13和步骤s14或者任一在前,或者同时进行。上述方法将5g nr rlc上行窗口采用动态分配内存和释放内存的第一指针数组实现,显著节省了系统内存的占用。
13.优选地,所述步骤s11中,m1为4字节,n1为4096,l1为64。
14.进一步地,所述步骤s12中,初始化分配的rlc上行窗口能备份n1个上行rlc pdu。
15.进一步地,所述步骤s14中,当某一个第一基本单元中的全部指针对应的上行rlc pdu全部收到ack信息的时候,就为所述第一指针数组释放该第一基本单元的内存。
16.本技术还提出了一种5g nr rlc窗口内存优化管理的方法,包括如下步骤。步骤s21:5g nr在确认模式下的rlc下行窗口采用第二指针数组实现;第二指针数组中,每个第二基本单元的大小为m2
×
n2字节;第二指针数组最大为l2个第二基本单元。步骤s22:为第二指针数组初始化分配一个第二基本单元大小的内存,采用m2个字节记录一个下行rlc pdu的序列号及下行接收信息。步骤s23:如果第二指针数组的已分配的内存未用完,ue在第二指针数组的已分配的内存中记录新接收的下行rlc pdu的序列号及下行接收信息。如果第二指针数组的已分配的内存已用完,ue为第二指针数组增加分配一个第二基本单元大小的内存,并在第二指针数组的新分配的内存中记录新接收的下行rlc pdu的序列号及下行
接收信息;第二指针数组的内存空间最多分配至l2个第二基本单元的大小。步骤s24:ue释放已经接收完整的下行rlc pdu在rlc下行窗口中的内存空间。所述步骤s23和步骤s24或者任一在前,或者同时进行。上述方法将5g nr rlc下行窗口采用动态分配内存和释放内存的第二指针数组实现,显著节省了系统内存的占用。
17.优选地,所述步骤s21中,m2为8字节,n2为4096,l2为64。
18.进一步地,所述步骤s22中,所述下行接收信息包括:当前序列号的下行rlc pdu有没有收到;当前序列号的下行rlc pdu有没有被分段;当前序列号的下行rlc pdu如果被分段,有没有接收完整全部分段;初始化分配的rlc下行窗口能备份n2个下行rlc pdu。
19.进一步地,所述步骤s24中,当某一个第二基本单元中对应的下行rlc pdu全部接收完整的时候,就为所述第二指针数组释放该第二基本单元的内存。
20.本技术还提出了一种5g nr rlc窗口内存优化管理的装置,包括第一实现单元、第一初始分配单元、第一后续分配单元和第一释放单元。所述第一实现单元用来将5g nr在确认模式下的rlc上行窗口采用第一指针数组实现;第一指针数组中,每个第一基本单元的大小为m1
×
n1字节;第一指针数组最大为l1个第一基本单元。所述第一初始分配单元用来为第一指针数组初始化分配一个第一基本单元大小的内存,采用m1个字节记录一个指针,每个指针指向一个特定序列号的ue即将发送的上行rlc pdu的原始数据的存储地址。所述第一后续分配单元用来在第一指针数组的已分配的内存未用完时,在第一指针数组的已分配的内存中采用一个指针记录即将发送的上行rlc pdu的原始数据的存储地址;还用来在第一指针数组的已分配的内存已用完时,为第一指针数组增加分配一个第一基本单元大小的内存,并在第一指针数组的新分配的内存中采用一个指针记录该即将发送的上行rlc pdu的原始数据的存储地址;第一指针数组的内存空间最多分配为l1个第一基本单元的大小。所述第一释放单元用来在ue收到网络侧发送的上行状态报告后,释放已经收到网络侧的ack信息的上行rlc pdu的指针在rlc上行窗口中的内存空间。上述装置将5g nr rlc上行窗口采用动态分配内存和释放内存的第一指针数组实现,显著节省了系统内存的占用。
21.本技术还提出了一种5g nr rlc窗口内存优化管理的装置,包括第二实现单元、第二初始分配单元、第二后续分配单元和第二释放单元。所述第二实现单元用来将5g nr在确认模式下的rlc下行窗口采用第二指针数组实现;第二指针数组中,每个第二基本单元的大小为m2
×
n2字节;第二指针数组最大为l2个第二基本单元。所述第二初始分配单元用来为第二指针数组初始化分配一个第二基本单元大小的内存,采用m2个字节记录一个下行rlc pdu的序列号及下行接收信息。所述第二后续分配单元用来在第二指针数组的已分配的内存未用完时,在第二指针数组的已分配的内存中记录新接收的下行rlc pdu的序列号及下行接收信息;还用来在第二指针数组的已分配的内存已用完时,为第二指针数组增加分配一个第二基本单元大小的内存,并在第二指针数组的新分配的内存中记录新接收的下行rlc pdu的序列号及下行接收信息;第二指针数组的内存空间最多分配为l2个第二基本单元的大小。所述第二释放单元用来释放已经接收完整的下行rlc pdu在rlc下行窗口中的内存空间。上述装置将5g nr rlc下行窗口采用动态分配内存和释放内存的第二指针数组实现,显著节省了系统内存的占用。
22.本技术取得的技术效果是将5g nr rlc上下行窗口分别采用动态分配内存和释放内存的第一指针数组、第二指针数组实现,显著节省了系统内存的占用。
附图说明
23.图1是本技术提出的5g nr rlc窗口内存优化管理的方法的实施例一的流程示意图。
24.图2是本技术提出的5g nr rlc窗口内存优化管理的方法的实施例二的流程示意图。
25.图3是本技术提出的5g nr rlc窗口内存优化管理的装置的实施例一的结构示意图。
26.图4是本技术提出的5g nr rlc窗口内存优化管理的装置的实施例二的结构示意图。
27.图中附图标记说明:11为第一实现单元、12为第一初始分配单元、13为第一后续分配单元、14为第一释放单元、21为第二实现单元、22为第二初始分配单元、23为第二后续分配单元、24为第二释放单元。
具体实施方式
28.请参阅图1,本技术提出的5g nr rlc窗口内存优化管理的方法的实施例一包括如下步骤,适用于5g nr rlc上行窗口。
29.步骤s11:5g nr在确认模式下的rlc上行窗口采用第一指针数组实现。指针数组也称动态二维数组。第一指针数组中,每个第一基本单元(一维数组)的大小为m1
×
n1字节。第一指针数组最大为m1
×
n1
×
l1字节,即最大为l1个第一基本单元。第一基本单元的大小可以根据实际需求变形。优选地,m1为4字节,n1为4096,l1为64。
30.步骤s12:为第一指针数组初始化分配一个第一基本单元大小的内存,采用m1个字节记录一个指针,每个指针指向一个特定序列号的ue即将发送的上行rlc pdu的原始数据的存储地址,即初始化分配的rlc上行窗口能备份n1个上行rlc pdu。
31.步骤s13:如果第一指针数组的已分配的内存未用完,ue在第一指针数组的已分配的内存中采用一个指针记录即将发送的上行rlc pdu的原始数据的存储地址。
32.如果第一指针数组的已分配的内存已用完,ue为第一指针数组增加分配一个第一基本单元大小的内存,并在第一指针数组的新分配的内存中采用一个指针记录该即将发送的上行rlc pdu的原始数据的存储地址。新增分配内存的rlc上行窗口能新增备份n1个上行rlc pdu。以此类推,但第一指针数组的内存空间最多分配至l1个第一基本单元的大小。
33.步骤s14:ue收到网络侧发送的上行状态报告后,ue释放已经收到网络侧的ack信息的上行rlc pdu的指针在rlc上行窗口中的内存空间。当某一个第一基本单元中的全部指针对应的上行rlc pdu全部收到ack信息的时候,就为第一指针数组释放该第一基本单元的内存。
34.所述步骤s13和步骤s14的顺序没有严格限制,可以任一在前或同时进行。
35.传统的5g nr rlc的上行窗口采用静态分配内存方式,为兼容12位和18位两种情形的rlc pdu的序列号,需要一次性分配4
×
131072=524288字节的内存。本技术的5g nr rlc上行窗口采用动态数组的内存分配方式,每次申请一个第一基本单元的内存大小,然后进行合理管理、按需分配。
36.5g nr在确认模式下rlc pdu的序列号如果是12位,rlc上行窗口的大小是2048,此
rlc下行窗口采用动态数组的内存分配方式,每次申请一个第二基本单元的内存大小,然后进行合理管理、按需分配。
47.5g nr在确认模式下rlc pdu的序列号如果是12位,rlc下行窗口的大小是2048,此时rlc下行窗口只需要一个第二基本单元;同时省略上述步骤s23。
48.5g nr在确认模式下rlc pdu的序列号如果是18位,rlc下行窗口的大小是131072,此时rlc下行窗口需要一个或多个第二基本单元。
49.在网络侧向ue发送下行rlc pdu的场景中,5g nr rlc下行窗口的内存优化管理的步骤如下。(1)ue的rlc收到新的下行rlc pdu,根据其序列号更新状态变量rx_next。(2)ue的rlc判断接收的下行rlc pdu的数量是否超出了第二指针数组的已分配的内存大小。如果否,ue的rlc在第二指针数组的已分配的内存中记录新的rlc pdu的序列号及下行接收信息。如果是,ue的rlc为第二指针数组增加分配一个第二基本单元大小的内存,并在rlc下行窗口新分配的内存中记录新的下行rlc pdu的序列号及下行接收信息。(3)ue的rlc释放已经接收完整的下行rlc pdu在rlc下行窗口中的内存空间。当某一个第二基本单元中对应的下行rlc pdu全部接收完整的时候,就释放该第二基本单元的内存。
50.请参阅图3,本技术提出的5g nr rlc窗口内存优化管理的装置的实施例一包括第一实现单元11、第一初始分配单元12、第一后续分配单元13和第一释放单元14,适用于5g nr rlc上行窗口。
51.所述第一实现单元11用来将5g nr在确认模式下的rlc上行窗口采用第一指针数组实现。第一指针数组中,每个第一基本单元的大小为m1
×
n1字节。第一指针数组最大为l1个第一基本单元。
52.所述第一初始分配单元12用来为第一指针数组初始化分配一个第一基本单元大小的内存,采用m1个字节记录一个指针,每个指针指向一个特定序列号的ue即将发送的上行rlc pdu的原始数据的存储地址。
53.所述第一后续分配单元13用来在第一指针数组的已分配的内存未用完时,在第一指针数组的已分配的内存中采用一个指针记录即将发送的上行rlc pdu的原始数据的存储地址;还用来在第一指针数组的已分配的内存已用完时,为第一指针数组增加分配一个第一基本单元大小的内存,并在第一指针数组的新分配的内存中采用一个指针记录该即将发送的上行rlc pdu的原始数据的存储地址。第一指针数组的内存空间最多分配为l1个第一基本单元的大小。
54.所述第一释放单元14用来在ue收到网络侧发送的上行状态报告后,释放已经收到网络侧的ack信息的上行rlc pdu的指针在rlc上行窗口中的内存空间。
55.请参阅图4,本技术提出的5g nr rlc窗口内存优化管理的装置的实施例二包括第二实现单元21、第二初始分配单元22、第二后续分配单元23和第二释放单元24,适用于5g nr rlc下行窗口。
56.所述第二实现单元21用来将5g nr在确认模式下的rlc下行窗口采用第二指针数组实现。第二指针数组中,每个第二基本单元的大小为m2
×
n2字节。第二指针数组最大为l2个第二基本单元。
57.所述第二初始分配单元22用来为第二指针数组初始化分配一个第二基本单元大小的内存,采用m2个字节记录一个下行rlc pdu的序列号及下行接收信息。
58.所述第二后续分配单元23用来在第二指针数组的已分配的内存未用完时,在第二指针数组的已分配的内存中记录新接收的下行rlc pdu的序列号及下行接收信息;还用来在第二指针数组的已分配的内存已用完时,为第二指针数组增加分配一个第二基本单元大小的内存,并在第二指针数组的新分配的内存中记录新接收的下行rlc pdu的序列号及下行接收信息。第二指针数组的内存空间最多分配为l2个第二基本单元的大小。
59.所述第二释放单元24用来释放已经接收完整的下行rlc pdu在rlc下行窗口中的内存空间。
60.本技术在遵守3gpp协议的前提下,结合12位和18位两种情形的rlc pdu的序列号对应的rlc上下行窗口的大小以及代码实际实现情况,提出了一种全新的rlc上下行窗口的动态内存分配与释放的优化管理方法,能够最大程度地节省系统内存。本技术的技术方案在实验室测试场景以及实际应用中均得到了很好的验证,并且效果良好。
61.以上仅为本技术的优选实施例,并不用于限定本技术。对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献