首页> 中国专利> LTE系统中上行多个数据承载的数据缓存区域的动态管理系统及方法

LTE系统中上行多个数据承载的数据缓存区域的动态管理系统及方法

摘要

本发明涉及LTE系统中上行多个数据承载的数据缓存区域的动态管理系统及方法,通过预先配置将一IP数据缓存空间划分成若干连续的存储单元,根据数据无线承载的QCI等级,在所配置的IP数据缓存空间中为所述数据无线承载分配相应大小的IP数据缓存区域。本发明通过根据实际所需创建的数据无线承载的默认长度,动态划分数据无线承载所需的IP数据缓存区域,当删除数据无线承载时,会相应地释放该数据无线承载所占用的IP数据缓存区域,并能根据系统的实际运行情况,动态地调整当前正在使用的数据无线承载所占用的IP数据缓存区域,从而大幅减少LTE系统出现数据丢包的现象,优化缓存空间配置及缓存利用率。

著录项

  • 公开/公告号CN105813139A

    专利类型发明专利

  • 公开/公告日2016-07-27

    原文格式PDF

  • 申请/专利权人 苏州简约纳电子有限公司;

    申请/专利号CN201410841034.3

  • 申请日2014-12-30

  • 分类号H04W28/14(20090101);

  • 代理机构32256 南京利丰知识产权代理事务所(特殊普通合伙);

  • 代理人王锋

  • 地址 215000 江苏省苏州市苏州工业园区金鸡湖大道1355号国际科技园A0305室

  • 入库时间 2023-06-19 00:13:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-15

    授权

    授权

  • 2016-08-24

    实质审查的生效 IPC(主分类):H04W28/14 申请日:20141230

    实质审查的生效

  • 2016-07-27

    公开

    公开

说明书

技术领域

本发明涉及网络通信领域技术,具体涉及一种LTE系统中上行多个数据 承载的数据缓存区域的动态管理系统及方法。

背景技术

LTE(LongTermEvolution,长期演进)是由第三代合作伙伴计划(The3rd GenerationPartnershipProject,3GPP)组织制定的通用移动通信系统(Universal MobileTelecommunicationsSystem,UMTS)技术标准的长期演进。在LTE系 统中,根据LTE协议的规定,通常需要有若干个数据无线承载(DataRadio Bearer,DRB)的IP数据缓存区域,该IP数据缓存区域用以缓存LTE系统中 上行的IP数据包。系统根据协议设定的过滤规则将IP数据包进行过滤之后 再放到对应的数据无线承载的IP数据缓存区域内。

对于这些IP数据缓存区域,现有技术通常采用静态管理方法。于本方法 中,首先从总的存储空间中取出一块缓存空间以用作数据无线承载的IP数据 缓存,再针对每个数据无线承载的情况,分别为每一数据无线承载分配一个 固定大小的IP数据缓存空间,该静态管理方法对缓存区域的管理较为简单, 然而其存在的问题是:根据实际应用需求,系统中往往不会启动所有的数据 无线承载,即部分数据无线承载在大部分时间中并未被采用,于是系统分配 给这些数据无线承载的IP数据缓存空间实际上处于空闲状态,况且这些空闲 的IP数据缓存空间又不能被其余数据无线承载所利用,从而导致存储空间利 用率较低;另一方面,系统中往往存在数据流量过大的数据无线承载,以至 于发生预先为这些数据无线承载分配的IP数据缓存空间不够用的情况,从而 导致数据流量严重丢包的问题。

发明内容

本发明的目的在于提供一种LTE系统中上行多个数据承载的数据缓存区 域的动态管理方法,以解决现有技术中因IP数据缓存空间分配不合理、IP数 据缓存空间的使用效率低,而导致数据流量严重丢包的问题。

本发明的另一目的在于提供一种LTE系统中上行多个数据承载的数据缓 存区域的动态管理系统,以解决现有技术中IP数据缓存空间分配不合理、IP 数据缓存空间的使用效率低,而导致数据流量严重丢包的问题。

为实现上述发明目的之一,本发明提供的LTE系统中上行多个数据承载 的数据缓存区域的动态管理方法,其包括如下步骤:

S1,预先配置一IP数据缓存空间并将该IP数据缓存空间划分成若干个 连续的存储单元;

S2,根据数据无线承载(DataRadioBearer,DRB)的业务质量等级标识 (QoSClassIdentifier,QCI)的等级,在所配置的IP数据缓存空间中为所述数据 无线承载分配相应大小的IP数据缓存区域;其中,步骤S2具体包括:

S21,查找所述IP数据缓存空间中是否存在不小于当前所需创建的数据 无线承载的默认长度的连续空闲的存储单元,若是,则执行步骤S22;若否, 则执行步骤S23;

S22,在所述连续空闲空间中创建该数据无线承载的IP数据缓存区域;

S23,判断所述IP数据缓存空间中是否存在空闲的存储单元,若是,则 执行步骤S24;若否,则执行步骤S25;

S24,查找所述IP数据缓存空间中所存在的最大连续空闲空间,并在该 最大连续空闲空间中创建当前数据无线承载的IP数据缓存区域;

S25,根据当前IP数据缓存空间中每个IP数据缓存区域所收到的IP包 个数,对当前IP数据缓存空间进行重新划分。

为实现上述另一发明目的,本发明提供的LTE系统中上行多个数据承载 的数据缓存区域的动态管理系统,其包括如下单元:

缓存配置单元,用以预先配置一IP数据缓存空间并将该IP数据缓存空 间划分成若干个连续的存储单元;

动态分配单元,用以根据数据无线承载(DataRadioBearer,DRB)的业务 质量等级标识(QoSClassIdentifier,QCI)的等级,在所配置的IP数据缓存空间 中为所述数据无线承载分配相应大小的IP数据缓存区域;其中,该动态分配 单元具体包括:

第一判断单元,用以查找所述IP数据缓存空间中是否存在不小于当前所 需创建的数据无线承载的默认长度的连续空闲的存储单元,若是,则在所述 连续空闲空间中创建该数据无线承载的IP数据缓存区域;若否,则执行第二 判断单元;

第二判断单元,用以判断所述IP数据缓存空间中是否存在空闲的存储单 元,若是,则执行最大空闲查找单元;若否,则执行重新划分单元;

最大空闲查找单元,用以查找所述IP数据缓存空间中所存在的最大连续 空闲空间,并在该最大连续空闲空间中创建当前数据无线承载的IP数据缓存 区域;

重新划分单元,用以根据当前IP数据缓存空间中每个IP数据缓存区域 所收到的IP包个数,对当前IP数据缓存空间进行重新划分。

与现有技术相比,本发明提供的LTE系统中上行多个数据承载的数据 缓存区域的动态管理系统及方法中,通过预先配置将一IP数据缓存空间划 分成若干连续的存储单元,并根据数据无线承载的QCI等级,在所配置的IP 数据缓存空间中为所述数据无线承载分配相应大小的IP数据缓存区域;其中, 分配的原则是:通过查找所述IP数据缓存空间中是否存在不小于当前所需创 建的数据无线承载的默认长度的连续空闲的存储单元,若是,则在所述连续 空闲空间中创建该数据无线承载的IP数据缓存区域;若否,则判断所述IP 数据缓存空间中是否存在空闲的存储单元;若是则查找所述IP数据缓存空间 中所存在的最大连续空闲空间,并在该最大连续空闲空间中创建当前数据无 线承载的IP数据缓存区域;若否则根据当前IP数据缓存空间中每个IP数据 缓存区域所收到的IP包个数,对当前IP数据缓存空间进行重新划分。本发 明通过根据实际所需创建的数据无线承载的默认长度,动态划分数据无线承 载所需的IP数据缓存区域,从而避免LTE系统出现数据严重丢包的现象, 改善丢包率,优化缓存空间配置及缓存利用率。

附图说明

图1为本发明具体实施方式中该方法中内存管理示意图;

图2为本发明具体实施方式中该方法中动态分配内存的处理流程图;

图3为本发明具体实施方式中步骤S25的具体流程图;

图4为本发明具体实施方式中步骤S3的具体流程图;

图5为本发明具体实施方式中动态调整IP数据缓存空间的处理流程 图;

图6为本发明具体实施方式中重新调整缓存的步骤S47的具体流程 图。

具体实施方式

以下将结合附图所示的具体实施方式对本发明进行详细描述。

参照图2所示,本发明实施方式中,LTE系统中上行多个数据承载的 数据缓存区域的动态管理方法包括如下步骤:

S1,预先配置一IP数据缓存空间并将该IP数据缓存空间划分成若干 个连续的存储单元;

首先需要说明的是,根据LTE协议的规定,一个数据无线承载(DRB) 映射一个演进的分组系统(EvolvedPacketSystem,EPS)的承载标识(Bearer ID),分配给演进的分组系统的承载标识的IP数据缓存空间实际上就是该 数据无线承载的IP数据缓存区域。也就是说,当建立一个数据无线承载 时,就给对应的演进的分组系统的承载标识分配一块合适的IP数据缓存 空间用来保存该数据无线承载的IP数据包,当删除一个数据无线承载时, 就同时释放掉之前给它对应的演进的分组系统的承载标识分配的IP数据 缓存空间。

于本实施方式中,预先配置一块足够大的总的IP数据缓存空间,该 总的IP数据缓存空间的大小不受限制,该总的IP数据缓存空间属于DRB 的专用空间,不可被用作其他缓存,这样可以确保不影响到系统的其它业 务流程。将该总的IP数据缓存空间平均分为DRB_BLOCK_MAX_NUM个 连续的存储单元(memoryblock),每个存储单元的大小为 DRB_SINGLE_BLOCK_SIZE个bytes。

S2,在建立数据无线承载时,会根据数据无线承载的业务质量等级标 识(QoSClassIdentifier,QCI)的等级,在所配置的总的IP数据缓存空间中 为所述数据无线承载分配相应大小的IP数据缓存区域。

比如:QCI等级为1~4时,默认分配800kbytes;等级为5~9时,默 认分配500kbytes,当然,等级分配方式具体可以根据实际情况进行调整。 在删除数据无线承载时,再把分配给它的IP数据缓存区域释放掉。

对于如何管理这个总的IP数据缓存空间,我们采用第一数组来进行 管理,所述第一数组相关的定义如下:

#defineDRB_SINGLE_BLOCK_SIZE(102400)//everyblockis100kB

#defineDRB_BLOCK_MAX_NUM(30)//totalblocksize= DRB_BLOCK_MAX_NUM*DRB_SINGLE_BLOCK_SIZE

UINT8g_DRB_MemBlockPool[DRB_BLOCK_MAX_NUM]={0xFF};

于本发明具体实施例中,事先将划分出来的总的IP数据缓存空间平 均分为DRB_BLOCK_MAX_NUM个连续的存储单元,每个存储单元的大 小为DRB_SINGLE_BLOCK_SIZE个bytes。本实施例通过对这个第一数 组的管理,就可以知道当前哪些存储单元是空闲的,哪些是已经被分配给 数据无线承载用了,同时还可以知道具体是被哪个数据无线承载占用了。 比如,当g_DRB_MemBlockPool[0]=0xFF时,说明第0个存储单元是空 闲的,当g_DRB_MemBlockPool[0]=1时,说明第0个存储单元被演进的 分组系统的承载标识(EPSBearerID)为1对应的数据无线承载所占用。

值得一提的是,在实际运行的系统中,对于上行的IP数据包,系统 会通过一个过滤器,根据网络侧(基站)配置到终端的过滤规则,将这些 上行的IP包过滤之后,再放到对应的数据无线承载的IP数据缓存区域。 由于上行的数据流量比较大,为了提高过滤的效率和减少中央处理器 (CPU,CentralProcessingUnit)的负载,通常会采用硬件来实现这个过滤器。 理论上,本文所涉及的对于IP数据缓存区域的动态管理方法可以直接采 用C语言中的标准库中的库函数(malloc/free/realloc)来实现,但这样会导 致过滤器的硬件实现非常复杂。为了降低硬件的实现难度,本发明采用了 一种折中的办法,这样即可以降低硬件的实现难度,又可以对缓存区域进 行动态的管理,但在这样付出的代价就是要求每个IP数据缓存区域的起 始地址和长度都为1KBytes的整数倍。

图1为本发明具体实施方式中该方法中内存管理示意图。参图1所示, 本发明实施方式中,图中框左边的数字为存储单元编号(memoryblock number),方格框里的数字为第一数组g_DRB_MemBlockPool[]对应的值, 初始值为“0xFF”,表示对应的存储单元是空闲的。其中,当新建一个 DRB时,其对应的演进的分组系统的承载标识(EPSBearerID)为2,则将 原先空闲的编号0~7的存储单元作为该数据无线承载的IP数据缓存区域; 此后再新建一个数据无线承载时,其对应的演进的分组系统的承载标识 (EPSBearerID)为3,则将原先空闲的编号8~15的存储单元作为该数据无 线承载的IP数据缓存区域;此后再新建一个数据无线承载时,其对应的 演进的分组系统的承载标识(EPSBearerID)为6,则将原先空闲的编号 16~20的存储单元作为该数据无线承载的IP数据缓存区域;此后再关闭演 进的分组系统的承载标识(EPSBearerID)为3的数据无线承载时,则将编 号8~15的存储单元所对应的g_DRB_MemBlockPool[]数组的值设置成 “0xFF”。

其中,步骤S2具体包括:

S21,查找所述IP数据缓存空间中是否存在不小于当前所需创建的数 据无线承载的默认长度的连续空闲的存储单元,若是,则执行步骤S22; 若否,则执行步骤S23;

S22,在所述连续空闲空间中创建该数据无线承载的IP数据缓存区域;

S23,判断所述IP数据缓存空间中是否存在空闲的存储单元,若是, 则执行步骤S24;若否,则执行步骤S25;

S24,查找所述IP数据缓存空间中所存在的最大连续空闲空间,并在 该最大连续空闲空间中创建当前数据无线承载的IP数据缓存区域;

S25,根据当前IP数据缓存空间中每个IP数据缓存区域所收到的IP 包个数,对当前IP数据缓存空间进行重新划分。

下面将介绍一下在动态分配内存的过程中可能遇到的问题及解决办 法:

1)创建数据无线承载时,没有出现内存空间不够用的情况:

也就是说,在创建数据无线承载时,都能找到比需要的默认的存储空 间(一个存储空间包含一个或者多个存储单元)大或者相等的空闲存储空 间分配给对应的演进的分组系统的承载标识(EPSBearerID)。在这种情况 下,是比较理想的情况,不会出现丢包的问题。

2)创建数据无线承载时,找不到比默认大小的还大整块空间,但是 有空闲的存储空间。

解决办法:把当前最大的一块空闲的存储空间分配给该数据无线承载 对应的演进的分组系统的承载标识(EPSBearerID)。比如对于业务质量等 级标识(QCI)为1的数据无线承载,对应需要的默认的存储空间为800k bytes,但目前只有两块空闲的存储区域,分别为300k和500kbytes,此 时就直接把500kbytes的空闲存储区域分配给该数据无线承载。在这种情 况下,也是不会出现丢包的问题的。

3)创建DRB时,没有空闲的存储单元了。

解决办法:需要重新划分内存空间,划分的原则是根据每个演进的分 组系统的承载标识(EPSBearerID)当前内存空间中收到的IP包个数,以 64个为单位(对应的存储空间为一个存储单元,即宏 DRB_SINGLE_BLOCK_SIZE所定义的100kbytes),如果IP包个数不是 64的整数倍,则分配给该数据无线承载对应的演进的分组系统的承载标 识(EPSBearerID)的存储空间为64的最小倍数对应大小的存储空间。具 体的算法是:((当前IP包个数+63)/64)*100KB。重新划分之后, 看看是否还有空闲的存储空间,如果有空闲的存储空间,则检查这个空闲 的存储空间的长度是否超过该数据无线承载对应的默认需要的存储空间, 如果超过,则分配默认长度的存储空间给该数据无线承载对应的演进的分 组系统的承载标识(EPSBearerID),如果没有超过,则把剩余的空闲存储 空间全部分配给该数据无线承载对应的演进的分组系统的承载标识(EPS BearerID)。

重新划分之后,如果已经没有空闲存储空间,则从优先级最小数据无 线承载对应的演进的分组系统的承载标识开始查找,如果分配给它的存储 空间大于一个存储单元所占用的存储空间,则从该演进的分组系统的承载 标识划分出一个存储单元所占用的存储空间给新创建的数据无线承载用。 如果分配给它的存储空间等于一个存储单元所占用的空间,则继续查找下 一个优先级较低的数据无线承载对应的演进的分组系统的承载标识,直到 找到满足存储空间大于一个存储单元所占用的存储空间的演进的分组系 统的承载标识,然后从中划分出一个存储单元所占用的存储空间给新创建 的数据无线承载使用。在这种情况下,会出现当前找到的分组系统的承载 标识所对应的存储空间中的所有IP包都丢掉的问题。

对于以上提到的3种情况,已经基本构成了创建数据无线承载的处理 流程。为了实现对各个EPSBearerID的监控和管理,定义了以下structure:

typedefstruct

{

UINT32qci;/*QCIvaluefromL3*/

UINT32maxPacketNum;/*Themaxpacketnumbercanbereceivedin currentEPSBearerID,whichdeceidedbyindexSpaceLength.*/

UINT32packetNum;/*ThemaxpacketnumberreceivedbycurrentEPS BearerID*/

UINT32startBlockNum;/*Thestartblocknumberinmemoryblockpool: g_DRB_MemBlockPool*/

UINT32totalBlockNum;/*Thetotalblocknumberoccupiedbycurrent EPSBearerID,everyblocksizeisdefinedby DRB_SINGLE_BLOCK_SIZE*/

UINT32dataSpaceLength;

UINT32indexSpaceLength;

UINT32dataSpaceStartAddr;

UINT32indexSpaceStartAddr;

}DRB_EPS_Bearer_ID_Info_t;

其中,qci表示创建的数据无线承载对应的QCI等级;maxPacketNum 表示该演进的分组系统的承载标识(EPSBearerID)可以存放的最大的IP包 的个数;packetNum表示当前该演进的分组系统的承载标识(EPSBearerID) 的存储空间中存放的IP包个数;startBlockNum表示分配给该演进的分组 系统的承载标识(EPSBearerID)的存储空间在g_DRB_MemBlockPool[]数 组中起始序号;totalBlockNum表示分配给该演进的分组系统的承载标识 (EPSBearerID)的存储空间中用的存储单元的个数,每个存储单元对应 100kbytes的空间;dataSpaceLength表示存放IP包的Data空间的长度; indexSpaceLength表示存放IP包的Index空间的长度;dataSpaceStartAddr 表示存放IP包的Data空间的实际起始地址;indexSpaceStartAddr表示存 放IP包的Index空间的起始地址。

需要说明的是,indexSpaceLength与dataSpaceLength的和是分配给该 演进的分组系统的承载标识(EPSBearerID)的总的存储空间的长度,它们 的比例是:indexSpaceLength:dataSpaceLength=1:99,也就是说假如分配 给一个演进的分组系统的承载标识(EPSBearerID)的空间为100kbytes,则 indexSpaceLength将获得1kbytes的空间,剩余的99kbytes将分配给 dataSpaceLength空间,而且在具体实现时,会把Index空间放在所分配到 的总的存储空间的前面部分。

本实施方式中,由于在LTE协议中要求有11个数据无线承载的IP数 据缓存区域,也就是对应有11个演进的分组系统的承载标识(EPSBearer ID)。因此,我们定义一个该structure类型的第二数组,以用来记录各个 演进的分组系统的承载标识(EPSBearerID)的使用情况。

#defineDRB_EPS_BEARER_ID_NUM11

DRB_EPS_Bearer_ID_Info_tg_DRB_Ch_Info[DRB_EPS_ BEARER_ID_NUM];

于是,本发明实施方式通过定义一用以管理各个存储单元使用情况的 第一数组以及定义一用以记录各个IP数据缓存区域所对应的演进的分组 系统的承载标识的使用情况的第二数组。本数据缓存区域的动态管理方法 便可分别实现对承载信道演进的分组系统的承载标识和总的IP数据缓存 空间的管理。

图3为本发明具体实施方式中步骤S25的具体流程图。在本发明优选 的实施方式中,该方法中步骤S25具体包括:

S251,查找各个正在使用的IP数据缓存区域中IP包的个数;

S252,根据当前的IP包个数计算该IP数据缓存区域实际需要的存储 单元的个数,以获取所有正在使用的IP数据缓存区域的实际需要的存储 单元数量总和;

S253,判断所有正在使用的IP数据缓冲区域实际需要的存储单元的 总和是否小于所述IP数据缓存空间内存储单元的总量,若是,则执行步 骤S254;若否,则执行步骤S255;

S254,将所述第一数组的成员全部初始化为“0xFF”,并根据每个正 在使用的IP数据缓存区域实际需要的存储单元个数,按照所述演进的分 组系统(EvolvedPacketSystem,EPS)的承载标识(BearerID)的等级从小到 大的顺序,初始化第一数组和第二数组;判断空闲的存储单元的个数是否 等于或者大于所要创建的数据无线承载默认需要的默认存储单元个数,若 是,则从空闲的存储单元中取出需要的默认存储单元个数,并根据取到的 空闲存储单元的相关信息,配置第一数组和第二数组;若否,则取出所有 的空闲存储单元,再根据取到的空闲存储单元的相关信息,配置第一数组 和第二数组;

S255,根据业务质量等级标识的等级从低到高的顺序,查找当前正在 使用的IP数据缓存区域所用到的存储单元的个数,并判断所用到的存储 单元的个数是否大于1,若是,则从该IP数据缓存区域中划分出一个存储 单元,以作为所需建立的数据无线承载的IP数据缓存区域,并根据缓存 区域的调整情况,相应配置第一数组和第二数组;若否,则继续查找当前 正在使用的IP数据缓存区域所用到的存储单元的个数。

图4为本发明具体实施方式中步骤S3的具体流程图。在本发明优选 的实施方式中,所述方法还包括从所述IP数据缓存空间中释放IP数据缓 存区域的步骤S3,所述步骤S3具体包括:

S31,根据需要释放的IP数据缓存区域所用的存储单元信息,将所述 第一数组中对应的成员初始化为“0xFF”;

S32,清除该IP数据缓存区域对应的第二数组中的相关信息。

图5为本发明具体实施方式中动态调整IP数据缓存空间的处理流程 图。于本发明中,在系统运行的过程中,当某个数据无线承载对应的演进 的分组系统(EvolvedPacketSystem,EPS)的承载标识(BearerID)的IP包特 别多,且协议栈来不及取走的时候,可能会导致分配给这个演进的分组系 统(EvolvedPacketSystem,EPS)的承载标识(BearerID)的存储空间满了,在 这种情况下,如果不进行动态调整的话,可能会导致别的演进的分组系统 (EvolvedPacketSystem,EPS)的承载标识(BearerID)也收不到IP包的情 况,同时会导致持续丢包的问题。所以动态调整内存是非常有意义的。动 态调整内存时,目前采用的是固定增量的方法,即每次增加内存时,都是 增加100kbytes,也就是增加一个存储单元(memoryblock)所占用的空 间。参照图5所示,在本实施方式中,动态调整演进的分组系统(Evolved PacketSystem,EPS)的承载标识(BearerID)的IP数据缓存空间的步骤具体 包括:

S41,定时查找各个正在使用的IP缓存区域的使用情况;

S42,判断是否有IP数据缓存区域被IP数据包填满,若是,则执行步 骤S43,若否,则返回步骤S41;

S43,判断该被填满的IP数据缓存区域在所述第一数组中所占用的起 始储存单元blockS的前一个blockN是否为空闲状态,若否,则执行步骤 S44,若是,则执行步骤S46;

S44,判断该被填满的IP数据缓存区域在第一数组中所占用的最后一 个存储单元blockL的后一个存储单元blockM是否为空闲状态,若否,则执 行步骤S45,若是,则执行步骤S46;

S45,查找是否有比该IP数据缓存区域还大的缓存空间,若有,则从 该空闲缓存中取出比该IP数据缓冲区域所占用的存储单元数量还多一个 的缓冲区域,分配给该IP数据缓存区域对应的数据无线承载使用,释放 掉之前所占用的缓存区域,相应地重新配置第一数组和第二数组;若无, 则执行步骤S47;;

S46,将该空闲的存储单元blockN或blockM分配给该IP缓存区域对应 的数据无线承载使用,并重新配置第一数组和第二数组;

S47,重新调整缓存。

参照图6所示,本发明优选的实施方式中,该方法中步骤S47具体包 括:

S471,查找所有正在使用的IP数据缓存区域的IP数据包的个数;

S472,根据当前的IP数据包的个数,计算该IP数据缓存区域实际需 要的存储单元的个数,以获取所有正在使用的IP数据缓存区域的实际需 要的存储单元数量总和;

S473,判断所有正在使用的IP数据缓存区域实际需要的存储单元的 总和是否小于数据缓存空间内存储单元总量,若是,则执行步骤S474;若 否,则结束;

S474,将需要调整的IP数据缓存区域实际需要的存储单元的个数加1, 对所述第一数组的成员全部初始化为“0xFF”,根据每个正在使用的IP 数据缓存区域实际需要的存储单元的个数,按照所述演进的分组系统 (EvolvedPacketSystem,EPS)的承载标识(BearerID)的等级从小到大的顺 序,相应地初始化第一数组及第二数组。

此外,基于以上所记载的LTE系统中上行多个数据承载的数据缓存区 域的动态管理方法,本发明还公开一种LTE系统中上行多个数据承载的数 据缓存区域的动态管理系统,本系统与以上方法相互对应。值得一提的是, 本系统为基于以上方法所构建的包括相应的虚拟功能单元的虚拟系统,故 该系统的技术细节可参考以上方法所公开的各个实施方法。本实施方式 中,该系统包括:

缓存配置单元,用以预先配置一IP数据缓存空间并将所述IP数据缓 存空间划分成若干连续的存储单元;

动态分配单元,用以根据数据无线承载(DataRadioBearer,DRB)的业 务质量等级标识(QoSClassIdentifier,QCI)的等级,在所配置的IP数据缓 存空间中为所述数据无线承载分配相应大小的IP数据缓存区域;其中, 该动态分配单元具体包括:

第一判断单元,用以查找所述IP数据缓存空间中是否存在不小于当 前所需创建的数据无线承载的默认长度的连续空闲的存储单元,若是,则 在所述连续空闲空间中创建该数据无线承载的IP数据缓存区域;若否, 则执行第二判断单元;

第二判断单元,用以判断所述IP数据缓存空间中是否存在空闲的存 储单元,若是,则执行最大空闲查找单元;若否,则执行重新划分单元;

最大空闲查找单元,用以查找所述IP数据缓存空间中所存在的最大 连续空闲空间,并在该最大连续空闲空间中创建当前数据无线承载的IP 数据缓存区域;

重新划分单元,用以根据当前IP数据缓存空间中每个IP数据缓存区 域所收到的IP包个数,对当前IP数据缓存空间进行重新划分。

在本发明优选的实施方式中,LTE系统中上行多个数据承载的数据缓 存区域的动态管理系统还用以:

定义一用以管理各个存储单元使用情况的第一数组:

g_DRB_MemBlockPool[DRB_BLOCK_MAX_NUM];

定义一用以记录各个IP数据缓存区域所对应的演进的分组系统 (EvolvedPacketSystem,EPS)的承载标识的使用情况的第二数组:

DRB_EPS_Bearer_ID_Info_tg_DRB_Ch_Info[DRB_EPS_BEARER_ID_ NUM]

在LTE系统中上行多个数据承载的数据缓存区域的动态管理系统优 选的实施方式中,所述重新划分单元具体包括:

查找单元,用以查找各个正在使用的IP数据缓存区域中IP包的个数;

计算单元,用以根据当前的IP包个数计算该IP数据缓存区域实际需 要的存储单元的个数,以获取所有正在使用的IP数据缓存区域的实际需 要的存储单元数量总和;

第三判断单元,用以判断所有正在使用的IP数据缓冲区域实际需要 的存储单元的总和是否小于所述IP数据缓存空间内存储单元的总量,若 是,则执行第一配置单元;若否,则执行第二配置单元;

第一配置单元,用以将所述第一数组的成员全部初始化为“0xFF”, 并根据每个正在使用的IP数据缓存区域实际需要的存储单元个数,按照 所述演进的分组系统(EvolvedPacketSystem,EPS)的承载标识(BearerID) 的等级从小到大的顺序,初始化第一数组和第二数组;判断空闲的存储单 元的个数是否等于或者大于所要创建的数据无线承载默认需要的默认存 储单元个数,若是,则从空闲的存储单元中取出需要的默认存储单元个数, 并根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;若否, 则取出所有的空闲存储单元,再根据取到的空闲存储单元的相关信息,配 置第一数组和第二数组;

第二配置单元,用以根据业务质量等级标识的等级从低到高的顺序, 查找当前正在使用的IP数据缓存区域所用到的存储单元的个数,并判断 所用到的存储单元的个数是否大于1,若是,则从该IP数据缓存区域中划 分出一个存储单元,以作为所需建立的数据无线承载的IP数据缓存区域, 并根据缓存区域的调整情况,相应配置第一数组和第二数组;若否,则继 续查找当前正在使用的IP数据缓存区域所用到的存储单元的个数。

本发明具体实施方式中,该系统还包括一缓存释放单元,该单元用以:

根据需要释放的IP数据缓存区域所用的存储单元信息,将所述第一 数组中对应的成员初始化为“0xFF”;清除该IP数据缓存区域对应的第 二数组中的相关信息。

综上所述,本发明提供的LTE系统中上行多个数据承载的数据缓存区 域的动态管理方法及系统中,通过预先配置将一IP数据缓存空间划分成 若干连续的存储单元,并根据数据无线承载的QCI等级,在所配置的IP 数据缓存空间中为所述数据无线承载分配相应大小的IP数据缓存区域; 其中,分配的原则是:通过查找所述IP数据缓存空间中是否存在不小于 当前所需创建的数据无线承载的默认长度的连续空闲的存储单元,若是, 则在所述连续空闲空间中创建该数据无线承载的IP数据缓存区域;若否, 则判断所述IP数据缓存空间中是否存在空闲的存储单元;若是则查找所 述IP数据缓存空间中所存在的最大连续空闲空间,并在该最大连续空闲 空间中创建当前数据无线承载的IP数据缓存区域;若否则根据当前IP数 据缓存空间中每个IP数据缓存区域所收到的IP包个数,对当前IP数据缓 存空间进行重新划分。本发明通过根据实际所需创建的数据无线承载的默 认长度,动态调整IP数据缓存区域的分配原则,并且还可以根据实际情 况实时对当前IP数据缓存空间进行重新划分,从而避免LTE系统出现数 据丢包现象,优化缓存空间配置及缓存利用率。

应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方 式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起 见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方 案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方 式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技 艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号