一种面向C-RAN基带处理的数据缓冲区管理方法技术

技术编号:19067570 阅读:35 留言:0更新日期:2018-09-29 14:47
本发明专利技术涉及一种面向C‑RAN基带处理的数据缓冲区管理方法,属于数据缓冲区管理技术领域。在通用处理器平台上,定义一种用于管理缓冲区的数据结构,该结构具有指针成员,以及两种实例化的对象——用于管理内存块的对象和用于管理对象的对象,这两种对象也具有指针成员;再构建操作这两种对象的接口,通过调用接口,以实现对缓冲区的管理。包括1初始化用于映射内存块的对象,定义其它对象作为内存块的管理工具;2构建用于访问对象的接口;3构建用于传递数据的接口;4构建用于释放内存资源的接口。本发明专利技术所提方法系统开销更小,程序运行中内存碎片更少,且在处理大量的数据时具有更好的稳定性;适用于未来通信网络建设;具有一定的通用性。

【技术实现步骤摘要】
一种面向C-RAN基带处理的数据缓冲区管理方法
本专利技术涉及一种面向C-RAN基带处理的数据缓冲区管理方法,尤其涉及一种面向C-RAN基带处理的基于通用处理器(GPP)的数据缓冲区管理方法,属于通信工程中的数据缓冲区管理

技术介绍
由于移动终端和用户的快速增长,未来网络的数据流量将随着终端上运行的业务而变化,移动网络的数据包将成为高密度数据。未来无线接入网络中移动业务的爆炸性增长,导致传统的基站部署方法将难以满足未来移动业务的需求。传统上,每个基站处理本地接收和发送的信号,有空闲资源的基站不能将其计算资源共享给其他资源紧张的基站。在这种情况下,蜂窝网络处理能力的平均利用率相当低,这意味着在当前的基带处理机制中存在巨大的优化空间。云无线接入网络(C-RAN)汇聚多个基站的基带计算资源,将基带资源复用以响应网络的实时约束,被认为是提高网络容量的有前途的解决方案。然而,基带计算能力的汇集要求新的协议栈设计方法,其主要趋势是模块化设计。传统的基带处理平台是基于现场可编程门阵列(FPGA)或嵌入式数字信号处理器(DSP),而如今,通用处理器平台更多地参与软件定义无线电平台的设计。与基于DSP或FPGA的硬件平台相比,基于通用处理器平台的编程和调试变得更加容易。而且,在通用处理器平台上开发的软件更容易更新,计算资源可以虚拟化或复用。因此,通用处理器平台可能是一个更适合C-RAN部署与建设的基带处理方案。尽管通用处理器平台具有优势,但它的软件和硬件并不是专门为无线通信系统设计的,这会导致系统性能受到影响。在通用处理器上使用原本的库函数来处理数据,很可能不能满足移动网络业务的实时性要求。例如Linux系统中由调用malloc引起的系统开销可能高达几毫秒,原本的缓冲区管理方法效率很低。因此,为了确保基带处理的实时性能,本专利技术提出一种新的基于通用处理器的数据缓冲区的管理方法。
技术实现思路
本专利技术的目的是为应对C-RAN场景对基带处理的实时性与稳定性要求,针对基于通用处理器的实现,提出一种面向C-RAN基带处理的数据缓冲区管理方法。本专利技术的目的是通过以下技术方案实现的:在通用处理器平台上,定义一种用于管理缓冲区的数据结构,该结构具有指针成员,以及两种实例化的对象——用于管理内存块的对象和用于管理对象的对象,这两种对象也具有指针成员;再构建操作这两种对象的接口,通过调用接口,以实现对缓冲区的管理;包括以下步骤:步骤一、初始化用于映射内存块的对象,并为了扩展缓冲区的功能,定义了其它对象作为内存块的管理工具;步骤一,具体包括如下子步骤:步骤1.1.分配多个固定大小的内存块,并与用于管理内存块的对象的指针成员建立映射;步骤1.2.分配固定数量的用于映射内存块的结构体对象,并将其组织成列表;步骤1.3.分配固定数量的用于映射内存块的结构体对象,并将其组织成列表;步骤1.4.配置结构的指针成员指向由用于管理内存块的对象组织的列表中的第一个空闲对象;步骤1.5.配置结构的指针成员指向由用于管理对象的对象组织的列表中的第一个空闲对象;步骤二、构建用于访问对象的接口;具体包括如下子步骤:步骤2.1.根据对象所指向的属性是内存块还是对象判断是否需要深度克隆浅度克隆,并根据是否需要深度克隆的判断结果进行相关操作,具体为:2.1Az如为内存块,则需要深度克隆,计算缓冲区中的簇的数量,获得指定数量的簇,配置一个用于管理对象的对象以管理用于管理内存块的对象,并返回该对象的指针,跳到步骤2.2;2.1B如为对象,则不需要深度克隆,就是需要浅度克隆,配置一个用于管理对象的对象以管理指向非缓冲区中数据的指针,并返回该对象的指针,跳至步骤2.2;步骤2.2.修改用于管理内存块的对象的头指针成员,使之分别重新指向第一个可用的用于管理内存块的对象;步骤2.3.修改用于管理对象的头指针成员,使之分别重新指向第一个可用的用于管理对象的对象;步骤三、构建用于传递数据的接口,具体为:判断用于管理对象的对象是否指向用于管理内存块的对象,并进行相关操作;如用于管理对象的对象是指向用于管理内存块的对象,则将接口的过程构造为在该用于管理对象的对象所指向的用于管理内存块的对象所管理的深度克隆的内存块与原来的存储块之间传递数据;如不是,则将接口的过程构造为在该用于管理对象的对象所指向的非缓冲区中的浅度克隆的内存块与原来的存储块之间传递数据;步骤四、构建用于释放内存资源的接口,具体来说:判断用于管理对象的对象是否指向用于管理内存块的对象,并进行相关操作;具体为:用于管理对象的对象如果是指向用于管理内存块的对象,则将该用于管理对象的对象所指向的用于管理内存块的对象放回至用于管理内存块的对象列表中,释放该用于管理内存块的对象原来所指向的内存资源,并将该用于管理对象的对象放回至用于管理对象的对象列表中,释放该用于管理对象的对象原来所指向的对象;如不是,则释放该用于管理对象的对象所指向的非缓冲区中的浅度克隆的内存块,并将该用于管理对象的对象放回至用于管理对象的对象列表中;至此,从步骤一到步骤四,完成了一种面向C-RAN基带处理的数据缓冲区管理方法。有益效果一种面向C-RAN基带处理的数据缓冲区管理方法,对比现有技术,本专利技术具有如下有益效果:1.与通用处理器的原本的缓冲区管理方法(malloc函数和free函数)比较,本专利技术提出的方法系统开销更小,而且程序运行中内存碎片更少,并且在处理大量的数据时具有更好的稳定性;2.本专利技术提出的方法面向C-RAN场景,适用于未来通信网络建设;3.本专利技术提出的方法基于通用处理器,具有一定的通用性。附图说明构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是Pdh_pool结构的指针成员与实例化对象在初始化后与Cluster的映射关系示意图;图2是1000次通用处理器平台原本数据缓冲区管理方法与调用1000次本专利技术提出的方法的平均时间的比较结果;图3是1000次通用处理器平台原本数据缓冲区管理方法与调用1000次本专利技术提出的方法的最短时间的比较结果;图4是1000次通用处理器平台原本数据缓冲区管理方法与调用1000次本专利技术提出的方法的最长时间的比较结果;图5是测试场景的系统框图;图6是连通测试中EPC和UE之间的下行链路和上行链路数据分组。具体实施方式下面结合附图及实施例对本专利技术所提的一种面向C-RAN基带处理的数据缓冲区管理方法进行细致阐述。实施例1本实施例通过具体化的伪代码说明本专利技术提出的缓冲区管理方法的一种实施方案:在通用处理器平台上,定义一种用于管理缓冲区的数据结构Pdh_pool,该结构具有指针成员cl_head_ptr和pbuf_head_ptr,以及两种实例化的对象——用于管理内存块的对象Pdh_pbuf_cl和用于管理对象的对象Pdh_pbuf;其中Pdh_pbuf_cl有一个指针成员buf_ptr,而Pdh_pbuf有两个指针成员cl_ptr和data_ptr;再构建操作这两种对象的接口,通过调用接口,以实现对缓冲区的管理;包括以下步骤:步骤A:初始化Pdh_pbuf_cl和Pdh_pbuf;1.分配固定大小的内存簇Cluster,并与本文档来自技高网
...

【技术保护点】
1.一种面向C‑RAN基带处理的数据缓冲区管理方法,其特征在于:在通用处理器平台上,定义一种用于管理缓冲区的数据结构,该结构具有指针成员,以及两种实例化的对象——用于管理内存块的对象和用于管理对象的对象,这两种对象也具有指针成员;再构建操作这两种对象的接口,通过调用接口,以实现对缓冲区的管理;包括以下步骤:步骤一、初始化用于映射内存块的对象,并为了扩展缓冲区的功能,定义了其它对象作为内存块的管理工具;步骤二、构建用于访问对象的接口;具体包括如下子步骤:步骤2.1.根据对象所指向的属性是内存块还是对象判断是否需要深度克隆浅度克隆,并根据是否需要深度克隆的判断结果进行相关操作;步骤2.2.修改用于管理内存块的对象的头指针成员,使之分别重新指向第一个可用的用于管理内存块的对象;步骤2.3.修改用于管理对象的头指针成员,使之分别重新指向第一个可用的用于管理对象的对象;步骤三、构建用于传递数据的接口,具体为:判断用于管理对象的对象是否指向用于管理内存块的对象,并进行相关操作;步骤四、构建用于释放内存资源的接口,具体来说:判断用于管理对象的对象是否指向用于管理内存块的对象;如是,则将该用于管理对象的对象所指向的用于管理内存块的对象放回至用于管理内存块的对象列表中,释放该用于管理内存块的对象原来所指向的内存资源,并将该用于管理对象的对象放回至用于管理对象的对象列表中,释放该用于管理对象的对象原来所指向的对象;如不是,则释放该用于管理对象的对象所指向的非缓冲区中的浅度克隆的内存块,并将该用于管理对象的对象放回至用于管理对象的对象列表中。...

【技术特征摘要】
1.一种面向C-RAN基带处理的数据缓冲区管理方法,其特征在于:在通用处理器平台上,定义一种用于管理缓冲区的数据结构,该结构具有指针成员,以及两种实例化的对象——用于管理内存块的对象和用于管理对象的对象,这两种对象也具有指针成员;再构建操作这两种对象的接口,通过调用接口,以实现对缓冲区的管理;包括以下步骤:步骤一、初始化用于映射内存块的对象,并为了扩展缓冲区的功能,定义了其它对象作为内存块的管理工具;步骤二、构建用于访问对象的接口;具体包括如下子步骤:步骤2.1.根据对象所指向的属性是内存块还是对象判断是否需要深度克隆浅度克隆,并根据是否需要深度克隆的判断结果进行相关操作;步骤2.2.修改用于管理内存块的对象的头指针成员,使之分别重新指向第一个可用的用于管理内存块的对象;步骤2.3.修改用于管理对象的头指针成员,使之分别重新指向第一个可用的用于管理对象的对象;步骤三、构建用于传递数据的接口,具体为:判断用于管理对象的对象是否指向用于管理内存块的对象,并进行相关操作;步骤四、构建用于释放内存资源的接口,具体来说:判断用于管理对象的对象是否指向用于管理内存块的对象;如是,则将该用于管理对象的对象所指向的用于管理内存块的对象放回至用于管理内存块的对象列表中,释放该用于管理内存块的对象原来所指向的内存资源,并将该用于管理对象的对象放回至用于管理对象的对象列表中,释放该用于管理对象的对象原来所指向的对象;如不是,则释放该用于管理对象的对象所指向的非缓冲区中的浅度克隆的内存块,并将该用于管理对象的对象放回至用于管理对象的对...

【专利技术属性】
技术研发人员:费泽松杨小龙刘思奇蒋逸凡
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1