CN105813139B - Lte系统中上行多个数据承载的数据缓存区域的动态管理系统及方法 - Google Patents
Lte系统中上行多个数据承载的数据缓存区域的动态管理系统及方法 Download PDFInfo
- Publication number
- CN105813139B CN105813139B CN201410841034.3A CN201410841034A CN105813139B CN 105813139 B CN105813139 B CN 105813139B CN 201410841034 A CN201410841034 A CN 201410841034A CN 105813139 B CN105813139 B CN 105813139B
- Authority
- CN
- China
- Prior art keywords
- cache region
- data cache
- data
- storage unit
- array
- 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.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及LTE系统中上行多个数据承载的数据缓存区域的动态管理系统及方法,通过预先配置将一IP数据缓存空间划分成若干连续的存储单元,根据数据无线承载的QCI等级,在所配置的IP数据缓存空间中为所述数据无线承载分配相应大小的IP数据缓存区域。本发明通过根据实际所需创建的数据无线承载的默认长度,动态划分数据无线承载所需的IP数据缓存区域,当删除数据无线承载时,会相应地释放该数据无线承载所占用的IP数据缓存区域,并能根据系统的实际运行情况,动态地调整当前正在使用的数据无线承载所占用的IP数据缓存区域,从而大幅减少LTE系统出现数据丢包的现象,优化缓存空间配置及缓存利用率。
Description
技术领域
本发明涉及网络通信领域技术,具体涉及一种LTE系统中上行多个数据承载的数据缓存区域的动态管理系统及方法。
背景技术
LTE(Long Term Evolution,长期演进)是由第三代合作伙伴计划(The 3rdGeneration Partnership Project,3GPP)组织制定的通用移动通信系统(UniversalMobile Telecommunications System,UMTS)技术标准的长期演进。在LTE系统中,根据LTE协议的规定,通常需要有若干个数据无线承载(Data Radio 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,根据数据无线承载(Data Radio Bearer,DRB)的业务质量等级标识(QoSClass Identifier,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数据缓存空间划分成若干个连续的存储单元;
动态分配单元,用以根据数据无线承载(Data Radio Bearer,DRB)的业务质量等级标识(QoS Class Identifier,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)映射一个演进的分组系统(Evolved Packet System,EPS)的承载标识(Bearer ID),分配给演进的分组系统的承载标识的IP数据缓存空间实际上就是该数据无线承载的IP数据缓存区域。也就是说,当建立一个数据无线承载时,就给对应的演进的分组系统的承载标识分配一块合适的IP数据缓存空间用来保存该数据无线承载的IP数据包,当删除一个数据无线承载时,就同时释放掉之前给它对应的演进的分组系统的承载标识分配的IP数据缓存空间。
于本实施方式中,预先配置一块足够大的总的IP数据缓存空间,该总的IP数据缓存空间的大小不受限制,该总的IP数据缓存空间属于DRB的专用空间,不可被用作其他缓存,这样可以确保不影响到系统的其它业务流程。将该总的IP数据缓存空间平均分为DRB_BLOCK_MAX_NUM个连续的存储单元(memory block),每个存储单元的大小为DRB_SINGLE_BLOCK_SIZE个bytes。
S2,在建立数据无线承载时,会根据数据无线承载的业务质量等级标识(QoSClass Identifier,QCI)的等级,在所配置的总的IP数据缓存空间中为所述数据无线承载分配相应大小的IP数据缓存区域。
比如:QCI等级为1~4时,默认分配800k bytes;等级为5~9时,默认分配500kbytes,当然,等级分配方式具体可以根据实际情况进行调整。在删除数据无线承载时,再把分配给它的IP数据缓存区域释放掉。
对于如何管理这个总的IP数据缓存空间,我们采用第一数组来进行管理,所述第一数组相关的定义如下:
#define DRB_SINGLE_BLOCK_SIZE(102400)//every block is 100kB
#define DRB_BLOCK_MAX_NUM(30)//total block size=DRB_BLOCK_MAX_NUM*DRB_SINGLE_BLOCK_SIZE
UINT8 g_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个存储单元被演进的分组系统的承载标识(EPS BearerID)为1对应的数据无线承载所占用。
值得一提的是,在实际运行的系统中,对于上行的IP数据包,系统会通过一个过滤器,根据网络侧(基站)配置到终端的过滤规则,将这些上行的IP包过滤之后,再放到对应的数据无线承载的IP数据缓存区域。由于上行的数据流量比较大,为了提高过滤的效率和减少中央处理器(CPU,Central Processing Unit)的负载,通常会采用硬件来实现这个过滤器。理论上,本文所涉及的对于IP数据缓存区域的动态管理方法可以直接采用C语言中的标准库中的库函数(malloc/free/realloc)来实现,但这样会导致过滤器的硬件实现非常复杂。为了降低硬件的实现难度,本发明采用了一种折中的办法,这样即可以降低硬件的实现难度,又可以对缓存区域进行动态的管理,但在这样付出的代价就是要求每个IP数据缓存区域的起始地址和长度都为1K Bytes的整数倍。
图1为本发明具体实施方式中该方法中内存管理示意图。参图1所示,本发明实施方式中,图中框左边的数字为存储单元编号(memory block number),方格框里的数字为第一数组g_DRB_MemBlockPool[]对应的值,初始值为“0xFF”,表示对应的存储单元是空闲的。其中,当新建一个DRB时,其对应的演进的分组系统的承载标识(EPS Bearer ID)为2,则将原先空闲的编号0~7的存储单元作为该数据无线承载的IP数据缓存区域;此后再新建一个数据无线承载时,其对应的演进的分组系统的承载标识(EPS Bearer ID)为3,则将原先空闲的编号8~15的存储单元作为该数据无线承载的IP数据缓存区域;此后再新建一个数据无线承载时,其对应的演进的分组系统的承载标识(EPS Bearer ID)为6,则将原先空闲的编号16~20的存储单元作为该数据无线承载的IP数据缓存区域;此后再关闭演进的分组系统的承载标识(EPS Bearer ID)为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)创建数据无线承载时,没有出现内存空间不够用的情况:
也就是说,在创建数据无线承载时,都能找到比需要的默认的存储空间(一个存储空间包含一个或者多个存储单元)大或者相等的空闲存储空间分配给对应的演进的分组系统的承载标识(EPS Bearer ID)。在这种情况下,是比较理想的情况,不会出现丢包的问题。
2)创建数据无线承载时,找不到比默认大小的还大整块空间,但是有空闲的存储空间。
解决办法:把当前最大的一块空闲的存储空间分配给该数据无线承载对应的演进的分组系统的承载标识(EPS Bearer ID)。比如对于业务质量等级标识(QCI)为1的数据无线承载,对应需要的默认的存储空间为800kbytes,但目前只有两块空闲的存储区域,分别为300k和500k bytes,此时就直接把500k bytes的空闲存储区域分配给该数据无线承载。在这种情况下,也是不会出现丢包的问题的。
3)创建DRB时,没有空闲的存储单元了。
解决办法:需要重新划分内存空间,划分的原则是根据每个演进的分组系统的承载标识(EPS Bearer ID)当前内存空间中收到的IP包个数,以64个为单位(对应的存储空间为一个存储单元,即宏DRB_SINGLE_BLOCK_SIZE所定义的100k bytes),如果IP包个数不是64的整数倍,则分配给该数据无线承载对应的演进的分组系统的承载标识(EPS BearerID)的存储空间为64的最小倍数对应大小的存储空间。具体的算法是:((当前IP包个数+63)/64)*100KB。重新划分之后,看看是否还有空闲的存储空间,如果有空闲的存储空间,则检查这个空闲的存储空间的长度是否超过该数据无线承载对应的默认需要的存储空间,如果超过,则分配默认长度的存储空间给该数据无线承载对应的演进的分组系统的承载标识(EPS Bearer ID),如果没有超过,则把剩余的空闲存储空间全部分配给该数据无线承载对应的演进的分组系统的承载标识(EPS Bearer ID)。
重新划分之后,如果已经没有空闲存储空间,则从优先级最小数据无线承载对应的演进的分组系统的承载标识开始查找,如果分配给它的存储空间大于一个存储单元所占用的存储空间,则从该演进的分组系统的承载标识划分出一个存储单元所占用的存储空间给新创建的数据无线承载用。如果分配给它的存储空间等于一个存储单元所占用的空间,则继续查找下一个优先级较低的数据无线承载对应的演进的分组系统的承载标识,直到找到满足存储空间大于一个存储单元所占用的存储空间的演进的分组系统的承载标识,然后从中划分出一个存储单元所占用的存储空间给新创建的数据无线承载使用。在这种情况下,会出现当前找到的分组系统的承载标识所对应的存储空间中的所有IP包都丢掉的问题。
对于以上提到的3种情况,已经基本构成了创建数据无线承载的处理流程。为了实现对各个EPS Bearer ID的监控和管理,定义了以下structure:
typedef struct
{
UINT32 qci;/*QCI value from L3*/
UINT32 maxPacketNum;/*The max packet number can be received incurrent EPS Bearer ID,which deceided by indexSpaceLength.*/
UINT32 packetNum;/*The max packet number received by current EPSBearer ID*/
UINT32 startBlockNum;/*The start block number in memory block pool:g_DRB_MemBlockPool*/
UINT32 totalBlockNum;/*The total block number occupied by current EPSBearer ID,every block size is defined by DRB_SINGLE_BLOCK_SIZE*/
UINT32 dataSpaceLength;
UINT32 indexSpaceLength;
UINT32 dataSpaceStartAddr;
UINT32 indexSpaceStartAddr;
}DRB_EPS_Bearer_ID_Info_t;
其中,qci表示创建的数据无线承载对应的QCI等级;maxPacketNum表示该演进的分组系统的承载标识(EPS Bearer ID)可以存放的最大的IP包的个数;packetNum表示当前该演进的分组系统的承载标识(EPS Bearer ID)的存储空间中存放的IP包个数;startBlockNum表示分配给该演进的分组系统的承载标识(EPS Bearer ID)的存储空间在g_DRB_MemBlockPool[]数组中起始序号;totalBlockNum表示分配给该演进的分组系统的承载标识(EPS Bearer ID)的存储空间中用的存储单元的个数,每个存储单元对应100kbytes的空间;dataSpaceLength表示存放IP包的Data空间的长度;indexSpaceLength表示存放IP包的Index空间的长度;dataSpaceStartAddr表示存放IP包的Data空间的实际起始地址;indexSpaceStartAddr表示存放IP包的Index空间的起始地址。
需要说明的是,indexSpaceLength与dataSpaceLength的和是分配给该演进的分组系统的承载标识(EPS Bearer ID)的总的存储空间的长度,它们的比例是:indexSpaceLength:dataSpaceLength=1:99,也就是说假如分配给一个演进的分组系统的承载标识(EPS Bearer ID)的空间为100k bytes,则indexSpaceLength将获得1k bytes的空间,剩余的99k bytes将分配给dataSpaceLength空间,而且在具体实现时,会把Index空间放在所分配到的总的存储空间的前面部分。
本实施方式中,由于在LTE协议中要求有11个数据无线承载的IP数据缓存区域,也就是对应有11个演进的分组系统的承载标识(EPS Bearer ID)。因此,我们定义一个该structure类型的第二数组,以用来记录各个演进的分组系统的承载标识(EPS Bearer ID)的使用情况。
#define DRB_EPS_BEARER_ID_NUM 11
DRB_EPS_Bearer_ID_Info_t g_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数据缓存区域实际需要的存储单元个数,按照所述演进的分组系统(Evolved PacketSystem,EPS)的承载标识(Bearer ID)的等级从小到大的顺序,初始化第一数组和第二数组;判断空闲的存储单元的个数是否等于或者大于所要创建的数据无线承载默认需要的默认存储单元个数,若是,则从空闲的存储单元中取出需要的默认存储单元个数,并根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;若否,则取出所有的空闲存储单元,再根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;
S255,根据业务质量等级标识的等级从低到高的顺序,查找当前正在使用的IP数据缓存区域所用到的存储单元的个数,并判断所用到的存储单元的个数是否大于1,若是,则从该IP数据缓存区域中划分出一个存储单元,以作为所需建立的数据无线承载的IP数据缓存区域,并根据缓存区域的调整情况,相应配置第一数组和第二数组;若否,则继续查找当前正在使用的IP数据缓存区域所用到的存储单元的个数。
图4为本发明具体实施方式中步骤S3的具体流程图。在本发明优选的实施方式中,所述方法还包括从所述IP数据缓存空间中释放IP数据缓存区域的步骤S3,所述步骤S3具体包括:
S31,根据需要释放的IP数据缓存区域所用的存储单元信息,将所述第一数组中对应的成员初始化为“0xFF”;
S32,清除该IP数据缓存区域对应的第二数组中的相关信息。
图5为本发明具体实施方式中动态调整IP数据缓存空间的处理流程图。于本发明中,在系统运行的过程中,当某个数据无线承载对应的演进的分组系统(Evolved PacketSystem,EPS)的承载标识(Bearer ID)的IP包特别多,且协议栈来不及取走的时候,可能会导致分配给这个演进的分组系统(Evolved Packet System,EPS)的承载标识(Bearer ID)的存储空间满了,在这种情况下,如果不进行动态调整的话,可能会导致别的演进的分组系统(Evolved Packet System,EPS)的承载标识(Bearer ID)也收不到IP包的情况,同时会导致持续丢包的问题。所以动态调整内存是非常有意义的。动态调整内存时,目前采用的是固定增量的方法,即每次增加内存时,都是增加100k bytes,也就是增加一个存储单元(memory block)所占用的空间。参照图5所示,在本实施方式中,动态调整演进的分组系统(Evolved Packet System,EPS)的承载标识(Bearer ID)的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数据缓存区域实际需要的存储单元的个数,按照所述演进的分组系统(Evolved Packet System,EPS)的承载标识(BearerID)的等级从小到大的顺序,相应地初始化第一数组及第二数组。
此外,基于以上所记载的LTE系统中上行多个数据承载的数据缓存区域的动态管理方法,本发明还公开一种LTE系统中上行多个数据承载的数据缓存区域的动态管理系统,本系统与以上方法相互对应。值得一提的是,本系统为基于以上方法所构建的包括相应的虚拟功能单元的虚拟系统,故该系统的技术细节可参考以上方法所公开的各个实施方法。本实施方式中,该系统包括:
缓存配置单元,用以预先配置一IP数据缓存空间并将所述IP数据缓存空间划分成若干连续的存储单元;
动态分配单元,用以根据数据无线承载(Data Radio Bearer,DRB)的业务质量等级标识(QoS Class Identifier,QCI)的等级,在所配置的IP数据缓存空间中为所述数据无线承载分配相应大小的IP数据缓存区域;其中,该动态分配单元具体包括:
第一判断单元,用以查找所述IP数据缓存空间中是否存在不小于当前所需创建的数据无线承载的默认长度的连续空闲的存储单元,若是,则在所述连续空闲空间中创建该数据无线承载的IP数据缓存区域;若否,则执行第二判断单元;
第二判断单元,用以判断所述IP数据缓存空间中是否存在空闲的存储单元,若是,则执行最大空闲查找单元;若否,则执行重新划分单元;
最大空闲查找单元,用以查找所述IP数据缓存空间中所存在的最大连续空闲空间,并在该最大连续空闲空间中创建当前数据无线承载的IP数据缓存区域;
重新划分单元,用以根据当前IP数据缓存空间中每个IP数据缓存区域所收到的IP包个数,对当前IP数据缓存空间进行重新划分。
在本发明优选的实施方式中,LTE系统中上行多个数据承载的数据缓存区域的动态管理系统还用以:
定义一用以管理各个存储单元使用情况的第一数组:
g_DRB_MemBlockPool[DRB_BLOCK_MAX_NUM];
定义一用以记录各个IP数据缓存区域所对应的演进的分组系统(Evolved PacketSystem,EPS)的承载标识的使用情况的第二数组:
DRB_EPS_Bearer_ID_Info_t g_DRB_Ch_Info[DRB_EPS_BEARER_ID_NUM]
在LTE系统中上行多个数据承载的数据缓存区域的动态管理系统优选的实施方式中,所述重新划分单元具体包括:
查找单元,用以查找各个正在使用的IP数据缓存区域中IP包的个数;
计算单元,用以根据当前的IP包个数计算该IP数据缓存区域实际需要的存储单元的个数,以获取所有正在使用的IP数据缓存区域的实际需要的存储单元数量总和;
第三判断单元,用以判断所有正在使用的IP数据缓冲区域实际需要的存储单元的总和是否小于所述IP数据缓存空间内存储单元的总量,若是,则执行第一配置单元;若否,则执行第二配置单元;
第一配置单元,用以将所述第一数组的成员全部初始化为“0xFF”,并根据每个正在使用的IP数据缓存区域实际需要的存储单元个数,按照所述演进的分组系统(EvolvedPacket System,EPS)的承载标识(Bearer ID)的等级从小到大的顺序,初始化第一数组和第二数组;判断空闲的存储单元的个数是否等于或者大于所要创建的数据无线承载默认需要的默认存储单元个数,若是,则从空闲的存储单元中取出需要的默认存储单元个数,并根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;若否,则取出所有的空闲存储单元,再根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;
第二配置单元,用以根据业务质量等级标识的等级从低到高的顺序,查找当前正在使用的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系统出现数据丢包现象,优化缓存空间配置及缓存利用率。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.一种LTE系统中上行多个数据承载的数据缓存区域的动态管理方法,其特征在于,该方法包括:
S1,预先配置一IP数据缓存区域并将该IP数据缓存区域划分成若干个连续的存储单元;
S2,根据数据无线承载(Data Radio Bearer,DRB)的业务质量等级标识(QoSClassIdentifier,QCI)的等级,在所配置的IP数据缓存区域中为所述数据无线承载分配相应大小的IP数据缓存区域;其中,步骤S2具体包括:
S21,查找所述IP数据缓存区域中是否存在不小于当前所需创建的数据无线承载的默认长度的连续空闲的存储单元,若是,则执行步骤S22;若否,则执行步骤S23;
S22,在所述连续空闲的存储单元中创建该数据无线承载的IP数据缓存区域;
S23,判断所述IP数据缓存区域中是否存在空闲的存储单元,若是,则执行步骤S24;若否,则执行步骤S25;
S24,查找所述IP数据缓存区域中所存在的最大连续空闲的存储单元,并在该最大连续空闲的存储单元中创建当前数据无线承载的IP数据缓存区域;
S25,根据当前IP数据缓存区域中每个IP数据缓存区域所收到的IP包个数,对当前IP数据缓存区域进行重新划分。
2.根据权利要求1所述的LTE系统中上行多个数据承载的数据缓存区域的动态管理方法,其特征在于,所述方法还包括:
定义一用以管理各个存储单元使用情况的第一数组;
定义一用以记录各个IP数据缓存区域所对应的演进的分组系统(EvolvedPacketSystem,EPS)的承载标识(Bearer ID)的使用情况的第二数组。
3.根据权利要求2所述的LTE系统中上行多个数据承载的数据缓存区域的动态管理方法,其特征在于,该方法中步骤S25具体包括:
S251,查找各个正在使用的IP数据缓存区域中IP包的个数;
S252,根据当前的IP包个数计算该IP数据缓存区域实际需要的存储单元的个数,以获取所有正在使用的IP数据缓存区域的实际需要的存储单元数量总和;
S253,判断所有正在使用的IP数据缓存区域实际需要的存储单元的总和是否小于所述IP数据缓存区域内存储单元的总量,若是,则执行步骤S254;若否,则执行步骤S255;
S254,将所述第一数组的成员全部初始化为“0xFF”,并根据每个正在使用的IP数据缓存区域实际需要的存储单元个数,按照所述演进的分组系统的承载标识的等级从小到大的顺序,初始化第一数组和第二数组;判断空闲的存储单元的个数是否等于或者大于所要创建的数据无线承载默认需要的默认存储单元个数,若是,则从空闲的存储单元中取出需要的默认存储单元个数,并根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;
若否,则取出所有的空闲存储单元,再根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;
S255,根据业务质量等级标识的等级从低到高的顺序,查找当前正在使用的IP数据缓存区域所用到的存储单元的个数,并判断所用到的存储单元的个数是否大于1,若是,则从
该IP数据缓存区域中划分出一个存储单元,以作为所需建立的数据无线承载的IP数据缓存区域,并根据缓存区域的调整情况,相应配置第一数组和第二数组;若否,则继续查找当前正在使用的IP数据缓存区域所用到的存储单元的个数。
4.根据权利要求2所述的LTE系统中上行多个数据承载的数据缓存区域的动态管理方法,其特征在于,所述方法还包括从所述IP数据缓存区域中释放IP数据缓存区域的步骤S3,所述步骤S3具体包括:
S31,根据需要释放的IP数据缓存区域所用的存储单元信息,将所述第一数组中对应的成员初始化为“0xFF”;
S32,清除该IP数据缓存区域对应的第二数组中的相关信息。
5.根据权利要求2所述的LTE系统中上行多个数据承载的数据缓存区域的动态管理方法,其特征在于,所述方法还包括动态调整演进的分组系统的承载标识的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,将该空闲的存储单元block N或block M分配给该IP缓存区域对应的数据无线承载使用,并重新配置第一数组和第二数组;
S47,重新调整缓存。
6.根据权利要求5所述的LTE系统中上行多个数据承载的数据缓存区域的动态管理方法,其特征在于,该方法中步骤S47具体包括:
S471,查找所有正在使用的IP数据缓存区域的IP数据包的个数;
S472,根据当前的IP数据包的个数,计算该IP数据缓存区域实际需要的存储单元的个数,以获取所有正在使用的IP数据缓存区域的实际需要的存储单元数量总和;
S473,判断所有正在使用的IP数据缓存区域实际需要的存储单元的总和是否小于数据缓存空间内存储单元总量,若是,则执行步骤S474;若否,则结束;
S474,将需要调整的IP数据缓存区域实际需要的存储单元的个数加1,对所述第一数组的成员全部初始化为“0xFF”,根据每个正在使用的IP数据缓存区域实际需要的存储单元的个数,按照所述演进的分组系统的承载标识的等级从小到大的顺序,相应地初始化第一数组及第二数组。
7.一种LTE系统中上行多个数据承载的数据缓存区域的动态管理系统,其特征在于,该系统包括:
缓存配置单元,用以预先配置一IP数据缓存区域并将该IP数据缓存区域划分成若干个连续的存储单元;
动态分配单元,用以根据数据无线承载(Data Radio Bearer,DRB)的业务质量等级标识(QoS Class Identifier,QCI)的等级,在所配置的IP数据缓存区域中为所述数据无线承载分配相应大小的IP数据缓存区域;其中,该动态分配单元具体包括:
第一判断单元,用以查找所述IP数据缓存区域中是否存在不小于当前所需创建的数据无线承载的默认长度的连续空闲的存储单元,若是,则在所述连续空闲的存储单元中创建该数据无线承载的IP数据缓存区域;若否,则执行第二判断单元;
第二判断单元,用以判断所述IP数据缓存区域中是否存在空闲的存储单元,若是,则执行最大空闲查找单元;若否,则执行重新划分单元;
最大空闲查找单元,用以查找所述IP数据缓存区域中所存在的最大连续空闲的存储单元,并在该最大连续空闲的存储单元中创建当前数据无线承载的IP数据缓存区域;
重新划分单元,用以根据当前IP数据缓存区域中每个IP数据缓存区域所收到的IP包个数,对当前IP数据缓存区域进行重新划分。
8.根据权利要求7所述的LTE系统中上行多个数据承载的数据缓存区域的动态管理系统,其特征在于,所述系统还用以:
定义一用以管理各个存储单元使用情况的第一数组;
定义一用以记录各个IP数据缓存区域所对应的演进的分组系统(EvolvedPacketSystem,EPS)的承载标识(Bearer ID)的使用情况的第二数组。
9.根据权利要求8所述的LTE系统中上行多个数据承载的数据缓存区域的动态管理系统,其特征在于,所述重新划分单元具体包括:
查找单元,用以查找各个正在使用的IP数据缓存区域中IP包的个数;
计算单元,用以根据当前的IP包个数计算该IP数据缓存区域实际需要的存储单元的个数,以获取所有正在使用的IP数据缓存区域的实际需要的存储单元数量总和;
第三判断单元,用以判断所有正在使用的IP数据缓存区域实际需要的存储单元的总和是否小于所述IP数据缓存区域内存储单元的总量,若是,则执行第一配置单元;若否,则执行第二配置单元;
第一配置单元,用以将所述第一数组的成员全部初始化为“0xFF”,并根据每个正在使用的IP数据缓存区域实际需要的存储单元个数,按照所述演进的分组系统的承载标识的等级从小到大的顺序,初始化第一数组和第二数组;判断空闲的存储单元的个数是否等于或者大于所要创建的数据无线承载默认需要的默认存储单元个数,若是,则从空闲的存储单元中取出需要的默认存储单元个数,并根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;若否,则取出所有的空闲存储单元,再根据取到的空闲存储单元的相关信息,配置第一数组和第二数组;
第二配置单元,用以根据业务质量等级标识的等级从低到高的顺序,查找当前正在使用的IP数据缓存区域所用到的存储单元的个数,并判断所用到的存储单元的个数是否大于1,若是,则从该IP数据缓存区域中划分出一个存储单元,以作为所需建立的数据无线承载的IP数据缓存区域,并根据缓存区域的调整情况,相应配置第一数组和第二数组;若否,则继续查找当前正在使用的IP数据缓存区域所用到的存储单元的个数。
10.根据权利要求8所述的LTE系统中上行多个数据承载的数据缓存区域的动态管理系统,其特征在于,该系统还包括缓存释放单元,该单元用以:
根据需要释放的IP数据缓存区域所用的存储单元信息,将第一数组中对应的成员初始化为“0xFF”;清除该IP数据缓存区域对应的第二数组中的相关信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410841034.3A CN105813139B (zh) | 2014-12-30 | 2014-12-30 | Lte系统中上行多个数据承载的数据缓存区域的动态管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410841034.3A CN105813139B (zh) | 2014-12-30 | 2014-12-30 | Lte系统中上行多个数据承载的数据缓存区域的动态管理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105813139A CN105813139A (zh) | 2016-07-27 |
CN105813139B true CN105813139B (zh) | 2019-03-15 |
Family
ID=56981060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410841034.3A Active CN105813139B (zh) | 2014-12-30 | 2014-12-30 | Lte系统中上行多个数据承载的数据缓存区域的动态管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105813139B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951278B (zh) * | 2017-02-20 | 2020-08-21 | 深圳国泰安教育技术有限公司 | 一种数据处理方法和装置 |
CN110035422B (zh) * | 2018-01-12 | 2021-01-22 | 大唐移动通信设备有限公司 | 基于临时处理隧道表的上行数据处理方法、mme和sgw |
CN110221911B (zh) * | 2018-03-02 | 2021-09-28 | 大唐移动通信设备有限公司 | 一种以太网数据保护方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034961B (zh) * | 2007-04-11 | 2010-05-26 | 重庆重邮信科通信技术有限公司 | 多进程harq技术ir缓存的管理方法及装置 |
CN101977162B (zh) * | 2010-12-03 | 2012-01-18 | 电子科技大学 | 一种高速网络的负载均衡方法 |
CN102546378A (zh) * | 2010-12-31 | 2012-07-04 | 重庆重邮信科通信技术有限公司 | 一种eps系统tft匹配方法 |
CN102984166B (zh) * | 2012-12-07 | 2015-10-07 | 苏州简约纳电子有限公司 | 一种ip数据包过滤器 |
KR102196939B1 (ko) * | 2013-03-20 | 2020-12-30 | 삼성전자주식회사 | 클라우드 셀 통신 시스템에서 데이터 동기 장치 및 방법 |
-
2014
- 2014-12-30 CN CN201410841034.3A patent/CN105813139B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105813139A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105407486B (zh) | 一种网络扩容的方法及装置 | |
CN101951685B (zh) | 给ue提供差异化服务的方法和装置 | |
CN103650614B (zh) | 资源分配方法、装置、网络侧设备和终端 | |
CN102076028A (zh) | 公用承载建立的方法、数据传输方法和核心网络侧设备 | |
CN105813139B (zh) | Lte系统中上行多个数据承载的数据缓存区域的动态管理系统及方法 | |
CN105264974B (zh) | 上行功率控制方法及其装置 | |
CN102546435B (zh) | 一种频谱资源分配方法及装置 | |
CN101835163A (zh) | 信道分配方法、装置和基站控制设备 | |
CN107317712A (zh) | 一种网络切片的创建方法及装置 | |
US9014036B2 (en) | Dynamic band selection and aggregation | |
KR20130014449A (ko) | 기지국 및 기지국의 단말 연결 방법 | |
CN104572498B (zh) | 报文的缓存管理方法和装置 | |
JP2002057699A (ja) | パケット伝送方式、パケット伝送方法及び記録媒体 | |
CN110401961A (zh) | 频率动态调整的方法、装置及系统 | |
CN100366110C (zh) | 移动通信系统基站中基带信道处理资源的分配方法 | |
CN112422251B (zh) | 数据传输方法及装置、终端、存储介质 | |
CN104967880B (zh) | 一种在无线网络中均匀分发视频的方法和设备 | |
CN108668319A (zh) | 数据传输方法、装置及终端 | |
CN104054377B (zh) | 一种拥塞控制的方法、设备及系统 | |
CN104509178B (zh) | 基站状态处理方法及装置 | |
CN106385688B (zh) | 一种基带资源分配方法及系统及控制器 | |
CN112243296B (zh) | 辅小区激活方法及装置 | |
CN115038090A (zh) | 共享载频负荷控制方法、装置、基站及存储介质 | |
US8320313B1 (en) | Method and system for carrier frequency management based on slot contention | |
Lugo et al. | Investigating the boundary effect of a multimedia TDMA personal mobile communication network simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |