CN112153696A - Rlc sdu分段处理方法、装置及终端 - Google Patents

Rlc sdu分段处理方法、装置及终端 Download PDF

Info

Publication number
CN112153696A
CN112153696A CN202011020902.3A CN202011020902A CN112153696A CN 112153696 A CN112153696 A CN 112153696A CN 202011020902 A CN202011020902 A CN 202011020902A CN 112153696 A CN112153696 A CN 112153696A
Authority
CN
China
Prior art keywords
rlc sdu
segment
sdu segment
rlc
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011020902.3A
Other languages
English (en)
Other versions
CN112153696B (zh
Inventor
刘君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202011020902.3A priority Critical patent/CN112153696B/zh
Publication of CN112153696A publication Critical patent/CN112153696A/zh
Application granted granted Critical
Publication of CN112153696B publication Critical patent/CN112153696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例提供了一种RLC SDU分段处理方法、装置及终端,涉及通信技术领域。所述方法包括:接收第一无线链路控制RLC服务数据单元SDU分段;确定所述第一RLC SDU分段的序列编号SN的哈希值;根据所述哈希值,将所述第一RLC SDU分段存储在与所述哈希值对应的链表中。本申请实施例通过将SDU分段存储在与该SDU分段的SN的哈希值对应的链表中,操作简单。

Description

RLC SDU分段处理方法、装置及终端
技术领域
本申请实施例涉及通信技术领域,特别涉及一种RLC SDU分段处理方法、装置及终端。
背景技术
RLC(Radio Link Control,无线链路控制)是5G NR(New Radio,新空口)协议栈数据面的无线链路控制层。RLC协议定义的PDU(Protocol Data Unit,协议数据单元)可以包含一个完整的SDU(Service Data Unit,服务数据单元)或者一个SDU分段。
在相关技术中,RLC的接收端在收到RLC PDU之后,对RLC PDU的头部(header)信息进行解析,得到SDU分段的SN(Sequence Number,序列编号)、SO(Segmentation Offset,分段偏移)和SI;RLC的接收端根据SN、SO和SI(Segmentation Information,分段信息),采取AVL(Adelson-Velskii and Landis)树的方式对SDU分段进行存储和操作。AVL树是字平衡二叉查找树,在AVL树中任何节点的两个子树的高度最大差别为1,所以AVL树也被称为高度平衡树。RLC的接收端增加和删除SDU分段时需要通过一次或多次树旋转来重新平衡这个树,操作复杂。
发明内容
本申请实施例提供一种RLC SDU分段处理方法、装置及终端。所述技术方案如下:
一方面,本申请实施例提供一种RLC SDU分段处理方法,所述方法包括:
接收第一无线链路控制RLC服务数据单元SDU分段;
确定所述第一RLC SDU分段的序列编号SN的哈希值;
根据所述哈希值,将所述第一RLC SDU分段存储在与所述哈希值对应的链表中。
另一方面,本申请实施例提供一种RLC SDU分段处理装置,所述装置包括:
分段接收模块,用于接收第一无线链路控制RLC服务数据单元SDU分段;
哈希值确定模块,用于确定所述第一RLC SDU分段的序列编号SN的哈希值;
分段存储模块,用于根据所述哈希值,将所述第一RLC SDU分段存储在与所述哈希值对应的链表中。
另一方面,本申请实施例提供一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上述方面所述的RLC SDU分段处理方法。
本申请实施例提供的技术方案可以带来如下有益效果:
由于哈希表结合链地址法具有良好的时间复杂度优势,实现和维护相对容易,本申请实施例通过将SDU分段存储在与该SDU分段的SN的哈希值对应的链表中,操作简单。
附图说明
图1是UM PDU格式的示意图;
图2是AM PDU格式的示意图;
图3是本申请一个实施例提供的下行数据通过所有协议层的流程示意图;
图4是本申请一个实施例提供的RLC SDU分段处理方法的流程图;
图5是本申请一个实施例提供的链表的示意图;
图6至图9是本申请实施例提供的RLC SDU分段处理的示意图;
图10是本申请一个实施例提供的RLC SDU分段处理装置的框图;
图11是本申请一个实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
RLC协议从PDCP(Packet Data Convergence Protocol,分组数据汇聚协议)获取数据生成RLC SDU,然后通过MAC层和物理层发送到接收端的RLC实体。
RLC实体可以运行在UM(Unacknowledged Mode,非确认模式)和AM(AcknowledgedMode,确认模式)下。UM支持分段但是不支持重传。AM支持分段、重复删除和错误数据的重传。
在UM和AM里,每个输入的RLC SDU附带一个SN。SN包含在RLC PDU报头中。对于不分段的SDU,RLC PDU就是直接在RLC SDU上简单地附加报头。需要说明的是,可以预先生成RLCPDU,因为在不分段的情况下,报头不依赖于调度传输块大小。
然而,取决于MAC复用后传输块的大小,传输块中(最后一个)RLC PDU的大小不一定与RLC SDU的大小相匹配。为了解决这个问题,一个SDU可以被分割成多个分段。如果没有分段,则需要使用填充字段,这会导致频谱效率的降低。因此,需要通过动态改变RLC PDU的数量以及分段来调整最后一个RLC PDU的大小来填满传输块,以确保传输块的高效利用。
每个RLC SDU分段和原来未分段的RLC SDU的SN相同,SN可以作为RLC报头的一部分。为了区分RLC PDU包含的是一个完整的RLC SDU还是RLC SDU分段,RLC报头里添加了一个SI字段,用于指示该RLC SDU是一个完整的SDU、SDU的第一个分段、SDU的最后一个分段,或是介于SDU第一个和最后一个分段之间的一个分段。此外,在SDU分段情况下,除去第一个分段之外的所有分段,都包含了一个SO,用于指示该分段代表了SDU的哪部分字节。
请参考图1,其示出了UM PDU格式的示意图。报头中的SI字段用于指示分段信息、R字段是指保留字段、SN字段用于指示序列号。SO字段用于指示分段偏移信息。
请参考图2,其示出了AM PDU格式的示意图。报头中的D(Data,数据)/C(Control,控制)字段用于指示该RLC PDU是数据PDU还是控制PDU、P字段是指轮询指示字段、SI字段用于指示分段信息、R字段是指保留字段、SN字段用于指示序列号。SO字段用于指示分段偏移信息。
发送端的RLC实体,为了适配MAC层制定的RLC PDU的大小,可能需要把RLC SDU分段,分别包含在两个或多个RLC PDU里面发送。当RLC实体运行在AM下,接收端的RLC实体通过状态报告显示没有收到的RLC PDU,发送端需要重新发送,重发的时候,同样为了适配MAC层指定的PDU大小,可能需要把RLC SDU分段,或者把RLC SDU分段进行再分段。发送端在进行SDU分段的时候,需要在RLC PDU的头部(header)信息里面,给SN、SI、SO正确赋值,包含同一个SDU的几个PDU的SN相同,其中第一个SDU分段没有SO值,后面的SDU分段都需要SO值。SI需要在每个RLC PDU里面赋值,SI的赋值规则如下表1所示:
表1
Figure BDA0002700605960000041
请参考图3,其示出了下行数据通过所有协议层的流程示意图。给定了三个IP(Internet Protocol,因特网互联协议)数据包(即图中的IP Packet),其中两个在一个无线承载上,一个在另一个无线承载上。在该示例中,有两个无线承载:无线承载x和无线承载y,并且一个RLC SDU被分段并在两个不同的传输中传送,也即在RLC层,从左往右数的第三和第四个RLC PDU各自包含了一个RLC SDU的第一段和第二段。
SDAP(Service Data Adaption Protocol,服务数据调整协议)协议将IP数据包映射到不同的无线承载上,在该示例中,从左往右数的第一个IP数据包和第二个IP数据包被映射到无线承载x上,而第三个IP数据包被映射到无线承载y上。通常,来自或者去往更高协议层的数据实体称为SDU,而来自或者去往较低协议层实体的数据实体称为PDU。因此,SDAP的输出是SDAP PDU,等价于PDCP SDU。PDCP协议对每个无线承载执行(可选的)IP报头压缩,然后进行加密。根据配置,会决定是否添加PDCP报头,报头信息包含终端解密所需的信息以及用于重传和按序发送的序列号。PDCP的输出被转发给RLC。如果需要,RLC协议对PDCP PDU进行分段,并添加RLC报头,其中包含用于重传处理的序列号。RLC PDU被转发到MAC层,MAC层对多个RLC PDU进行复用并添加MAC报头以形成新的传输块。需要说明的是,MAC报头分布在MAC PDU之中,即与某个RLC PDU相关的MAC报头紧挨着该RLC PDU之前。
接收端的RLC实体,在收到RLC PDU后,通过头部(header)信息解析,如果数据域包含的是SDU分段,则需要进行分段的逆过程——重组操作。根据SN、SI、SO值的定义对RLCSDU重组以后,RLC实体递交完整的SDU给上一层PDCP实体。一个SDU要等到所有的分段都收到后才会递交给PDCP协议。状态报告和重传是基于单个分段的,只需要重传丢失的分段。重传时,RLC的PDU可能与RLC重传调度的传输块大小不匹配,在这种情况下重新分段遵循与初始分段相同的原则。
需要说明的是,本申请实施例中的报头、头部信息代表同一个意思;本申请实施例中的序列号、SN代表同一个意思;层和实体代表同一个意思。
请参考图4,其示出了本申请一个实施例提供的RLC SDU分段处理方法的流程图。该方法可以包括如下几个步骤。
步骤401,接收第一RLC SDU分段。
在可能的实现方式中,接收到的第一RLC SDU分段存储在DDR(Double Data Rate,双倍速率)SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)上。在RLC层,由于HARQ(Hybrid Auto Repeat reQuest,混合自动重传请求)重传的原因,RLC SDU分段通常会被移动到片外内存如DDR SDRAM上,等待失序的其它RLC SDU分段收到以后再重组。
在可能的实现方式中,终端接收RLC PDU,该RLC PDU中包含第一RLC SDU分段。
步骤402,确定第一RLC SDU分段的SN的哈希值。
在可能的实现方式中,终端对第一RLC SDU分段的SN做哈希运算,得到哈希值;其中,哈希运算包括以下任意一项:取余运算、位运算、除法运算、查找表运算。
示例性地,终端对第一RLC SDU分段的SN做取余运算,将余数作为第一RLC SDU分段的SN的哈希值。
示例性地,终端对第一RLC SDU分段的SN做位运算,将位运算后的结果作为第一RLC SDU分段的SN的哈希值,例如,可以将第一RLC SDU分段的SN和预设数值做按位与、按位或、按位异或、左移、带符号右移、无符号右移中的任意一项操作,得到哈希值,或者,可以将第一RLC SDU分段的SN做按位取反,得到哈希值。在可能的实现方式中,预设数值可以根据哈希表的范围取值。
示例性地,查找表中存储有数值与哈希值的对应关系。对第一RLC SDU分段的SN按照预设算法进行计算,得到目标数值;从查找表中确定与该目标数值对应的目标哈希值,将目标哈希值确定为第一RLC SDU分段的SN的哈希值。
示例性地,终端对第一RLC SDU分段的SN做除法运算,将商作为第一RLC SDU分段的SN的哈希值。
哈希表是一种根据关键字直接访问内存存储位置的数据结构。通过哈希表,数据元素的存放位置和数据元素的关键字之间建立起某种对应关系,建立这种对应关系的函数称为哈希函数。在本申请实施例中,第一RLC SDU分段的SN是Key,第一RLC SDU分段的SN的哈希值是Value,哈希函数可以表示为Value=Hash(Key),其中Key是大范围的数字,而Value是小范围的数字。
示意性地,终端对第一RLC SDU分段的SN做除法运算,得到哈希值。除数的选择,需要考虑SN的最大空间值,在5G NR中,SN的最大空间值是2^18,因此,除数可以选择以2为底的指数,例如,除数可以选择2^7=128,此时,哈希表的大小为2^11。根据RLC窗口的定义、以及窗口的移动规律,哈希表在实现中可以用动态内存分配和管理,表现出良好的空间优势。
步骤403,根据哈希值,将第一RLC SDU分段存储在与哈希值对应的链表中。
当多个Key映射到同一个Value时,发生了冲突,解决冲突的办法之一是链地址法,将所有映射到同一个数组项的内容存储在一个链表中,在Hash表的数组项里只保存链表的头指针。如图5所示,其示出了本申请一个实施例提供的链表的示意图。不同哈希值对应有不同的链表,从0到n的哈希值分别对应不同的链表。假设第一RLC SDU分段的SN的哈希值为0,则将第一RLC SDU分段存储在0对应的链表中。
在可能的实现方式中,本申请实施例中的链表是指单链表,当然,本申请实施例中的链表还可以是指其它链表形式,本申请实施例对此不作限定。
需要说明的是,本申请实施例仅以接收到的是RLC SDU分段为例进行介绍说明,但在可能的实现方式中,终端可以直接接收到完整的RLC SDU,当终端接收到完整的RLC SDU后,终端确定该完整的RLC SDU的SN不重复且在接收窗内,将该完整的RLC SDU发送给PDCP实体。完整的RLC SDU不需要进行重组操作。若终端确定该完整的RLC SDU的SN重复或确定该完整的RLC SDU的SN不在接收窗内,则丢弃该完整的RLC SDU。
综上所述,本申请实施例提供的技术方案中,由于哈希表结合链地址法具有良好的时间复杂度优势,实现和维护相对容易,本申请实施例通过将SDU分段存储在与该SDU分段的SN的哈希值对应的链表中,操作简单。
在示意性实施例中,终端通过如下方式根据哈希值,将第一RLC SDU分段存储在与哈希值对应的链表中:
第一、根据哈希值,确定用于存储第一RLC SDU分段的链表。
不同的哈希值对应不同的链表,当终端确定出第一RLC SDU分段的SN的哈希值后,就可以确定出用于存储第一RLC SDU分段的链表了。
第二、根据第一RLC SDU分段的SN、第一RLC SDU分段的SO,确定第一存储位置。
然而链表中存在多个存储位置,在终端确定出用于存储第一RLC SDU分段的链表后,还需要确定第一RLC SDU分段在该链表中的存储位置。
在本申请实施例中,第一存储位置是指第一RLC SDU分段在链表中的存储位置。
第一RLC SDU分段的SN用于指示该第一RLC SDU分段对应的完整RLC SDU分段的序列号,第一RLC SDU分段的SO用于指示该第一RLC SDU分段在完整RLC SDU分段中的偏移量。
终端可以根据第一RLC SDU分段的SN、第一RLC SDU分段的SO,确定第一RLC SDU分段在与SN的哈希值对应的链表中的存储位置。
在可能的实现方式中,链表中存储有至少一个第二RLC SDU分段,第二RLC SDU分段的接收时间早于第一RLC SDU分段的接收时间。终端通过如下方式确定第一存储位置:
1、确定第一RLC SDU分段的SN与第二RLC SDU分段的SN是否相同。
每个RLC SDU分段都对应有各自的SN,通过比较第一RLC SDU分段的SN和第二RLCSDU分段的SN是否相同来确定第一RLC SDU分段和第二RLC SDU分段是否属于同一个完整的RLC SDU。
2、若第一RLC SDU分段的SN与第二RLC SDU分段的SN相同,则根据第一RLC SDU分段的SO与第二RLC SDU分段的SO确定第一存储位置。
当第一RLC SDU分段的SN和第二RLC SDU分段的SN相同时,表明第一RLC SDU分段和第二RLC SDU分段属于同一个完整的RLC SDU,而第一RLC SDU分段和第二RLC SDU分段在该完整的RLC SDU中的位置需要根据SO来确定,本申请实施例将第一RLC SDU分段和第二RLC SDU分段按照在完整的RLC SDU中的位置存储好可以便于后续直接将第一RLC SDU分段和第二RLC SDU分段组成一个完整的RLC SDU发送给PDCP实体。
在一个示例中,若第一RLC SDU分段的SO大于第二RLC SDU分段的SO,则将第二存储位置之后的位置确定为第一存储位置。
当第一RLC SDU分段的SO大于第二RLC SDU分段的SO时,表明在完整的RLC SDU中,第一RLC SDU分段位于第二RLC SDU分段之后。通过将存储第二RLC SDU的位置之后的存储位置作为存储第一RLC SDU的位置,能够准确拼接成完整的RLC SDU。
示例性地,第一存储位置对应第一指针,第二存储位置对应第二指针,第一指针用于指示第一存储位置之后的位置存储的RLC SDU分段,第二指针用于指示第二存储位置之后的位置存储的RLC SDU分段。
通过如下方式实现将第二存储位置之后的位置确定为第一存储位置:将第二指针指向第一RLC SDU分段,即表明第二RLC SDU分段之后为第一RLC SDU分段。
在另一个示例中,若第一RLC SDU分段的SO小于第二RLC SDU分段的SO,则将第二存储位置之前的位置确定为第一存储位置。
当第一RLC SDU分段的SO小于第二RLC SDU分段的SO时,表明在完整的RLC SDU中,第一RLC SDU分段位于第二RLC SDU分段之前。通过将存储第二RLC SDU分段的位置之前的存储位置作为存储第一RLC SDU的位置,能够准确拼接成完整的RLC SDU。
通过如下方式将第二存储位置之前的位置确定为第一存储位置:将第一指针指向第二RLC SDU分段,即表明第二RLC SDU分段之前为第一RLC SDU分段。
在又一个示例中,若第一RLC SDU分段的SO等于第二RLC SDU分段的SO,则丢弃第一RLC SDU分段。
当第一RLC SDU分段的SO与第二RLC SDU分段的SO相同时,表明第一RLC SDU分段和第二RLC SDU分段是相同的分段,此时,终端可以不用再接收第一RLC SDU分段,而是选择丢弃它。
3、若第一RLC SDU分段的SN与第二RLC SDU分段的SN不同,则将第二存储位置之后的位置确定为第一存储位置。
在本申请实施例中,第二存储位置是指第二RLC SDU分段在链表中的存储位置。
当第一RLC SDU分段的SN和第二RLC SDU分段的SN不同时,表明第一RLC SDU分段所能组成的完整的RLC SDU和第二RLC SDU分段所能组成的完整的RLC SDU是不同的RLCSDU。
第三、将第一RLC SDU分段存储在第一存储位置中。
当终端确定出第一存储位置之后,终端可以将第一RLC SDU分段存储在该第一存储位置中。
在示意性实施例中,链表中存储有第二RLC SDU分段集合,该第二RLC SDU分段集合中包括至少一个第二RLC SDU分段,第二RLC SDU分段的接收时间早于第一RLC SDU分段的接收时间。
将第一RLC SDU分段存储在第一存储位置之后,终端还可以执行下述步骤:
第一、确定第一RLC SDU分段与第二RLC SDU分段集合中的至少一个目标第二RLCSDU分段是否组成完整的RLC SDU。
在本申请实施例中,第一RLC SDU分段的SN和至少一个目标第二RLC SDU分段的SN相同。完整的RLC SDU的SN和第一RLC SDU分段的SN、第二RLC SDU分段的SN相同。
在可能的实现方式中,通过如下方式确定是否组成完整的RLC SDU:根据第一RLCSDU分段的SI和至少一个目标第二RLC SDU分段的SI,确定第一RLC SDU分段和至少一个目标第二RLC SDU分段是否组成完整的RLC SDU。
因为终端是在接收到所有的RLC SDU分段后再进行重组的,所以终端可以根据SI确定第一RLC SDU分段和至少一个目标第二RLC SDU分段是否组成完整的RLC SDU。在可能的实现方式中,完整的RLC SDU包括三个SI:01、10、11;在可能的实现方式中,完整的RLCSDU包括两个SI:01和10;在可能的实现方式中,完整的RLC SDU包括一个SI:00(在这种情况下,RLC SDU分段即为完整的RLC SDU)。
第二、若第一RLC SDU分段与至少一个目标第二RLC SDU分段组成完整的RLC SDU,则将第一RLC SDU分段和至少一个目标第二RLC SDU分段拼接成完整的RLC SDU。
在可能的实现方式中,至少一个目标第二RLC SDU分段可以包括一个第二RLC SDU分段,也可以包括多个第二RLC SDU分段,本申请实施例对此不作限定。
当第一RLC SDU分段和至少一个目标第二RLC SDU分段组成了完整的RLC SDU分段,则将第一RLC SDU分段和至少一个目标第二RLC SDU分段拼接成完整的RLC SDU。
第三、将完整的RLC SDU发送给PDCP实体。
在可能的实现方式中,当终端将完整的RLC SDU发送给PDCP实体之后,终端删除链表中存储的第一RLC SDU分段和至少一个目标第二RLC SDU分段。
本申请实施例通过哈希值和链表实现RLC SDU分段的搜索、插入、重组和删除,因为哈希表结合链地址法具有良好的时间复杂度优势,所以本申请实施例操作简单。
需要说明的是,在将第一RLC SDU分段存储在链表中之前,若链表中不存在已存储的第二RLC SDU分段,终端可以直接将第一RLC SDU分段存储在链表中的头部。
在示例性实施例中,如图6所示,假设需要传输3个RLC SDU,分别为:SDU x 61,SDUy 62,SDU z 63。SDU x 61包括两个SDU分段:SN=50,SO=0的First segment(简写为SN50FSeg)、SN=50,SO=150的Last segment(简写为SN50 LSeg);SDU y 62包括三个SDU分段:SN=100,SO=0的First segment(简写为SN100 FSeg)、SN=100,SO=100的Middlesegment(简写为SN100 MSeg)、SN=100,SO=200的Last segment(简写为SN100 LSeg);SDUz 63包括两个SDU分段:SN=170,SO=0的First segment(简写为SN170 FSeg)、SN=170,SO=150的Last segment(简写为SN170 LSeg)。SDU x 61的SN为50,SDU y 62的SN为100,SDUz 63的SN为170。第一行为SDU,第二行为PDU,第三行用于表示终端接收各个SDU分段的顺序,各个SDU分段的接收顺序可以表示为Seg Idx。
假设哈希算法为除数算法,除数为128。如图7所示,终端接收到分段#5(表示第5个接收到的SDU分段),分段#5的SN为100,100除以128,商为0,则最终分段#5的哈希值为0,保存到数组0下标的单链表中,数组0下标的单链表中已经存储有分段#1(表示第1个接收到的SDU分段)、分段#2(表示第2个接收到的SDU分段)和分段#3(表示第3个接收到的SDU分段)。从分段#1开始查找,比较SN和SO的值,找到分段#5的位置在分段#3的位置之前,调整分段#2对应的指针和分段#5对应的指针,实现将分段#5插入在分段#2和分段#3之间。检查分段#5的前节点和后节点,根据SN、SO、SI,发现分段#2、分段#5、分段#3可以重组拼接成SDU y。重组拼接成的SDU y发送给上层PDCP,修改分段#1的尾指针,将分段#1的尾指针指向空。释放和删除分段#2、分段#5、分段#3,到此完成了所有和分段#5相关的操作动作。
如图8所示,终端接收到分段#6(表示第6个接收到的SDU分段)的SN为170,170除以128,商为1,则最终分段#6的哈希值为1,保存到数组1下标的单链表中,数组1下标的单链表中已经存储有分段#4(表示第4个接收到的SDU分段)。因为分段#6的SO小于分段#4的SO,所以将分段#6插入在分段#4之前,将分段#6对应的指针指向分段#4,SDU z重组成功。重组拼接成的SDU z发送给上层PDCP,释放和删除分段#6和分段#4。
如图9所示,终端接收到分段#7(表示第7个接收到的SDU分段)的SN为50,50除以128,商为0,则最终分段#7的哈希值为0,保存到数组0下标的单链表中,数组0下标的单链表中已经存储有分段#1,因为分段#7的SO大于分段#1的SO,所以将分段#7插入在分段#1之后,SDU x重组成功。重组拼接成的SDU x发送给上层PDCP,释放和删除分段#1和分段#7。哈希表为空表。
需要说明的是,图7-9方框中的1、2、3、4、5、6、7指的是第1、2、3、4、5、6、7个接收到的SDU分段。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图10,其示出了本申请一个实施例提供的RLC SDU分段处理装置的框图,该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置1000可以包括:分段接收模块1010、哈希值确定模块1020和分段存储模块1030。
分段接收模块1010,用于接收第一无线链路控制RLC服务数据单元SDU分段;
哈希值确定模块1020,用于确定所述第一RLC SDU分段的序列编号SN的哈希值;
分段存储模块1030,用于根据所述哈希值,将所述第一RLC SDU分段存储在与所述哈希值对应的链表中。
综上所述,本申请实施例提供的技术方案中,由于哈希表结合链地址法具有良好的时间复杂度优势,实现和维护相对容易,本申请实施例通过将SDU分段存储在与该SDU分段的SN的哈希值对应的链表中,操作简单。
在示意性实施例中,所述分段存储模块1030,包括:链表确定单元、位置确定单元和分段存储单元(图中未示出)。
链表确定单元,用于根据所述哈希值,确定用于存储所述第一RLC SDU分段的链表;
位置确定单元,用于根据所述第一RLC SDU分段的SN、所述第一RLC SDU分段的分段偏移SO,确定第一存储位置,所述第一存储位置是指所述第一RLC SDU分段在所述链表中的存储位置;
分段存储单元,用于将所述第一RLC SDU分段存储在所述第一存储位置中。
在示意性实施例中,所述链表中存储有至少一个第二RLC SDU分段,所述第二RLCSDU分段的接收时间早于所述第一RLC SDU分段的接收时间;
所述位置确定单元,用于:
确定所述第一RLC SDU分段的SN与所述第二RLC SDU分段的SN是否相同;
若所述第一RLC SDU分段的SN与所述第二RLC SDU分段的SN相同,则根据所述第一RLC SDU分段的SO与所述第二RLC SDU分段的SO确定所述第一存储位置;
若所述第一RLC SDU分段的SN与所述第二RLC SDU分段的SN不同,则将第二存储位置之后的位置确定为所述第一存储位置,所述第二存储位置是指所述第二RLC SDU分段在所述链表中的存储位置。
所述位置确定单元,用于:
若所述第一RLC SDU分段的SO大于所述第二RLC SDU分段的SO,则将所述第二存储位置之后的位置确定为所述第一存储位置;
若所述第一RLC SDU分段的SO小于所述第二RLC SDU分段的SO,则将所述第二存储位置之前的位置确定为所述第一存储位置;
若所述第一RLC SDU分段的SO等于所述第二RLC SDU分段的SO,则丢弃所述第一RLC SDU分段。
在示意性实施例中,所述链表中存储有第二RLC SDU分段集合,所述第二RLC SDU分段集合中包括至少一个第二RLC SDU分段,,所述第二RLC SDU分段的接收时间早于所述第一RLC SDU分段的接收时间;
所述装置1000,还包括:分段确定模块、分段重组模块和分段发送模块(图中未示出)。
分段确定模块,用于确定所述第一RLC SDU分段与所述第二RLC SDU分段集合中的至少一个目标第二RLC SDU分段是否组成完整的RLC SDU;其中,所述第一RLC SDU分段的SN和所述至少一个目标第二RLC SDU分段的SN相同;
分段重组模块,用于若所述第一RLC SDU分段与所述至少一个目标第二RLC SDU分段组成所述完整的RLC SDU,则将所述第一RLC SDU分段和所述至少一个目标第二RLC SDU分段拼接成所述完整的RLC SDU;
分段发送模块,用于将所述完整的RLC SDU发送给分组数据聚合协议PDCP实体。
在示意性实施例中,所述分段确定模块,用于:
根据所述第一RLC SDU分段的分段信息SI和所述至少一个目标第二RLC SDU分段的SI,确定所述第一RLC SDU分段和所述至少一个目标第二RLC SDU分段是否组成所述完整的RLC SDU。
在示意性实施例中,所述装置1000,还包括:分段删除模块(图中未示出)。
分段删除模块,用于删除所述链表中存储的所述第一RLC SDU分段和所述至少一个目标第二RLC SDU分段。
在示意性实施例中,所述哈希值确定模块1020,用于:
对所述第一RLC SDU分段的SN做哈希运算,得到所述哈希值;
其中,所述哈希运算包括以下任意一项:取余运算、位运算、除法运算、查找表运算。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图11,其示出了本申请一个实施例提供的终端的结构框图。
本申请实施例中的终端可以包括一个或多个如下部件:处理器1110和存储器1120。
处理器1110可以包括一个或者多个处理核心。处理器1110利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器1120内的指令、程序、代码集或指令集,以及调用存储在存储器1120内的数据,执行终端的各种功能和处理数据。可选地,处理器1110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器1110可集成中央处理器(CentralProcessing Unit,CPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统和应用程序等;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1110中,单独通过一块芯片进行实现。
可选地,处理器1110执行存储器1120中的程序指令时实现上述各个方法实施例提供的方法。
存储器1120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器1120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1120可用于存储指令、程序、代码、代码集或指令集。存储器1120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令、用于实现上述各个方法实施例的指令等;存储数据区可存储根据终端的使用所创建的数据等。
上述终端的结构仅是示意性的,在实际实现时,终端可以包括更多或更少的组件,比如:显示屏等,本实施例对此不作限定。
本领域技术人员可以理解,图11中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由计算机设备的处理器加载并执行以实现上述RLC SDU分段处理方法实施例中的各个步骤。
在示例性实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述RLC SDU分段处理方法。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种RLC SDU分段处理方法,其特征在于,所述方法包括:
接收第一无线链路控制RLC服务数据单元SDU分段;
确定所述第一RLC SDU分段的序列编号SN的哈希值;
根据所述哈希值,将所述第一RLC SDU分段存储在与所述哈希值对应的链表中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述哈希值,将所述第一RLC SDU分段存储在与所述哈希值对应的链表中,包括:
根据所述哈希值,确定用于存储所述第一RLC SDU分段的链表;
根据所述第一RLC SDU分段的SN、所述第一RLC SDU分段的分段偏移SO,确定第一存储位置,所述第一存储位置是指所述第一RLC SDU分段在所述链表中的存储位置;
将所述第一RLC SDU分段存储在所述第一存储位置中。
3.根据权利要求2所述的方法,其特征在于,所述链表中存储有至少一个第二RLC SDU分段,所述第二RLC SDU分段的接收时间早于所述第一RLC SDU分段的接收时间;
所述根据所述第一RLC SDU分段的SN、所述第一RLC SDU分段的SO,确定第一存储位置,包括:
确定所述第一RLC SDU分段的SN与所述第二RLC SDU分段的SN是否相同;
若所述第一RLC SDU分段的SN与所述第二RLC SDU分段的SN相同,则根据所述第一RLCSDU分段的SO与所述第二RLC SDU分段的SO确定所述第一存储位置;
若所述第一RLC SDU分段的SN与所述第二RLC SDU分段的SN不同,则将第二存储位置之后的位置确定为所述第一存储位置,所述第二存储位置是指所述第二RLC SDU分段在所述链表中的存储位置。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一RLC SDU分段的SO与所述第二RLC SDU分段的SO确定所述第一存储位置,包括:
若所述第一RLC SDU分段的SO大于所述第二RLC SDU分段的SO,则将所述第二存储位置之后的位置确定为所述第一存储位置;
若所述第一RLC SDU分段的SO小于所述第二RLC SDU分段的SO,则将所述第二存储位置之前的位置确定为所述第一存储位置;
若所述第一RLC SDU分段的SO等于所述第二RLC SDU分段的SO,则丢弃所述第一RLCSDU分段。
5.根据权利要求2所述的方法,其特征在于,所述链表中存储有第二RLC SDU分段集合,所述第二RLC SDU分段集合中包括至少一个第二RLC SDU分段,所述第二RLC SDU分段的接收时间早于所述第一RLC SDU分段的接收时间;
所述将所述第一RLC SDU分段存储在所述第一存储位置中之后,还包括:
确定所述第一RLC SDU分段与所述第二RLC SDU分段集合中的至少一个目标第二RLCSDU分段是否组成完整的RLC SDU;其中,所述第一RLC SDU分段的SN和所述至少一个目标第二RLC SDU分段的SN相同;
若所述第一RLC SDU分段与所述至少一个目标第二RLC SDU分段组成所述完整的RLCSDU,则将所述第一RLC SDU分段和所述至少一个目标第二RLC SDU分段拼接成所述完整的RLC SDU;
将所述完整的RLC SDU发送给分组数据聚合协议PDCP实体。
6.根据权利要求5所述的方法,其特征在于,所述确定所述第一RLC SDU分段与所述第二RLC SDU分段集合中的至少一个目标第二RLC SDU分段是否组成完整的RLC SDU,包括:
根据所述第一RLC SDU分段的分段信息SI和所述至少一个目标第二RLC SDU分段的SI,确定所述第一RLC SDU分段和所述至少一个目标第二RLC SDU分段是否组成所述完整的RLCSDU。
7.根据权利要求5所述的方法,其特征在于,所述将所述完整的RLC SDU发送给PDCP实体之后,还包括:
删除所述链表中存储的所述第一RLC SDU分段和所述至少一个目标第二RLC SDU分段。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述确定所述第一RLC SDU分段的SN的哈希值,包括:
对所述第一RLC SDU分段的SN做哈希运算,得到所述哈希值;
其中,所述哈希运算包括以下任意一项:取余运算、位运算、除法运算、查找表运算。
9.一种RLC SDU分段处理装置,其特征在于,所述装置包括:
分段接收模块,用于接收第一无线链路控制RLC服务数据单元SDU分段;
哈希值确定模块,用于确定所述第一RLC SDU分段的序列编号SN的哈希值;
分段存储模块,用于根据所述哈希值,将所述第一RLC SDU分段存储在与所述哈希值对应的链表中。
10.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至8任一项所述的RLCSDU分段处理方法。
CN202011020902.3A 2020-09-25 2020-09-25 Rlc sdu分段处理方法、装置及终端 Active CN112153696B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011020902.3A CN112153696B (zh) 2020-09-25 2020-09-25 Rlc sdu分段处理方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011020902.3A CN112153696B (zh) 2020-09-25 2020-09-25 Rlc sdu分段处理方法、装置及终端

Publications (2)

Publication Number Publication Date
CN112153696A true CN112153696A (zh) 2020-12-29
CN112153696B CN112153696B (zh) 2023-04-28

Family

ID=73896878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011020902.3A Active CN112153696B (zh) 2020-09-25 2020-09-25 Rlc sdu分段处理方法、装置及终端

Country Status (1)

Country Link
CN (1) CN112153696B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866206A (zh) * 2020-12-31 2021-05-28 北京天融信网络安全技术有限公司 一种单向数据传输方法及装置
CN114615657A (zh) * 2022-02-21 2022-06-10 翱捷科技股份有限公司 一种5g通信中的数据分段解密方法及装置
WO2023078014A1 (zh) * 2021-11-03 2023-05-11 翱捷科技股份有限公司 一种5g nr rlc窗口内存优化管理的方法及装置
WO2024007327A1 (en) * 2022-07-08 2024-01-11 Zte Corporation Method of resource efficiency improvement

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040114616A1 (en) * 2002-12-13 2004-06-17 Zarlink Semiconductor V.N. Inc. Scheduling methods for combined unicast and multicast queuing
US20050171937A1 (en) * 2004-02-02 2005-08-04 Hughes Martin W. Memory efficient hashing algorithm
US7600094B1 (en) * 2006-06-30 2009-10-06 Juniper Networks, Inc. Linked list traversal with reduced memory accesses
CN106096023A (zh) * 2016-06-24 2016-11-09 腾讯科技(深圳)有限公司 数据读取方法、数据写入方法及数据服务器
CN106230564A (zh) * 2016-07-27 2016-12-14 重庆重邮汇测通信技术有限公司 无线链路控制层确认传输模式重分片数据存储及整理方法
CN109274593A (zh) * 2018-08-31 2019-01-25 新华三信息安全技术有限公司 一种信息存储方法及装置
CN110928483A (zh) * 2018-09-19 2020-03-27 华为技术有限公司 数据存储、数据获取方法及设备
CN111200623A (zh) * 2018-11-19 2020-05-26 福建天泉教育科技有限公司 基于分布式存储实现终端数据同步的方法及其系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040114616A1 (en) * 2002-12-13 2004-06-17 Zarlink Semiconductor V.N. Inc. Scheduling methods for combined unicast and multicast queuing
US20050171937A1 (en) * 2004-02-02 2005-08-04 Hughes Martin W. Memory efficient hashing algorithm
US7600094B1 (en) * 2006-06-30 2009-10-06 Juniper Networks, Inc. Linked list traversal with reduced memory accesses
CN106096023A (zh) * 2016-06-24 2016-11-09 腾讯科技(深圳)有限公司 数据读取方法、数据写入方法及数据服务器
CN106230564A (zh) * 2016-07-27 2016-12-14 重庆重邮汇测通信技术有限公司 无线链路控制层确认传输模式重分片数据存储及整理方法
CN109274593A (zh) * 2018-08-31 2019-01-25 新华三信息安全技术有限公司 一种信息存储方法及装置
CN110928483A (zh) * 2018-09-19 2020-03-27 华为技术有限公司 数据存储、数据获取方法及设备
CN111200623A (zh) * 2018-11-19 2020-05-26 福建天泉教育科技有限公司 基于分布式存储实现终端数据同步的方法及其系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
""R2-1704140 SO field for the last SDU segment"", 《3GPP TSG_RAN\WG2_RL2》 *
"RP-050267" *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866206A (zh) * 2020-12-31 2021-05-28 北京天融信网络安全技术有限公司 一种单向数据传输方法及装置
WO2023078014A1 (zh) * 2021-11-03 2023-05-11 翱捷科技股份有限公司 一种5g nr rlc窗口内存优化管理的方法及装置
CN114615657A (zh) * 2022-02-21 2022-06-10 翱捷科技股份有限公司 一种5g通信中的数据分段解密方法及装置
CN114615657B (zh) * 2022-02-21 2023-12-22 翱捷科技股份有限公司 一种5g通信中的数据分段解密方法及装置
WO2024007327A1 (en) * 2022-07-08 2024-01-11 Zte Corporation Method of resource efficiency improvement

Also Published As

Publication number Publication date
CN112153696B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
CN112153696B (zh) Rlc sdu分段处理方法、装置及终端
KR101298407B1 (ko) 데이터 패킷의 송신 방법 및 장치, 데이터 패킷의 수신 방법 및 장치
US8988994B2 (en) System and method for creating logical radio link control (RLC) and medium access control (MAC) protocol data units (PDUs) in mobile communication system
US6279041B1 (en) Methods, systems and computer program products for differencing data communications using a message queue
US8660145B2 (en) MAC-HS processing in an HSDPA-compatible receiver in a 3G wireless network
CN104484295B (zh) 并行计算机系统中基于接收方滑动窗口的数据传输方法
US20030103459A1 (en) Method and implementation for a flow specific modified selective-repeat ARQ communication system
CN1710880A (zh) 探索路径最大传输单元的方法和设备
CN106230564B (zh) 无线链路控制层确认传输模式重分片数据存储及整理方法
CN108632326B (zh) 一种协议数据单元传输数据的方法及装置
CN113079074A (zh) 一种基于can总线的协议栈通信方法、装置和存储介质
CN113938431B (zh) 突发数据包传输方法、装置和电子设备
EP1770942A1 (en) Connection configuration in a wireless telecommunications system using hash values
KR20020087053A (ko) 수 개의 패킷에 걸쳐 분할된 메시지를 송신하는 방법
US11160139B2 (en) Method for optimizing per message type data exchange between connected objects
CN108632302B (zh) 一种信息传输方法及装置
CN104426638A (zh) 一种数据递交方法和装置
WO2016061987A1 (zh) 报文处理方法及装置
CN110169023A (zh) 一种数据传输方法、数据接收设备及数据发送设备
CN108012289B (zh) Pdu的发送方法及装置,和pdu的接收方法及装置
JP4447028B2 (ja) 通信制御方法、送信装置、およびコンピュータプログラム
CN117014501A (zh) 基于可编程交换机的无状态SRv6服务链代理方法及系统
CN114125080A (zh) 一种报文链终端协议栈构建方法和解析方法、装置及终端
US6735649B2 (en) Multiple buffers for removing unwanted header information from received data packets
US9794930B1 (en) Method and apparatus for packet data unit processing for retransmission

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant