[发明专利]一种基于Linux系统的基站用户面数据处理优化方法有效
申请号: | 201310315568.8 | 申请日: | 2013-07-25 |
公开(公告)号: | CN103391256A | 公开(公告)日: | 2013-11-13 |
发明(设计)人: | 姜炜 | 申请(专利权)人: | 武汉邮电科学研究院 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;H04L12/863 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 严彦 |
地址: | 430074 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 系统 基站 用户 数据处理 优化 方法 | ||
技术领域
本发明涉及无线通信技术领域,尤其是涉及一种基于Linux系统的基站用户面数据处理优化方法。
背景技术
随着无线通信技术的进步,对于LTE(3GPP长期演进技术)基站用户面数据处理,特别是下行方向的要求越来越高。LTE基站用户面数据主要是承载于UDP(用户数据报协议)之上的GTPU(隧道协议)业务,传统的处理方式是利用网卡收取报文,网卡通过中断形式通知Linux内核,Linux内核再经过网络协议栈的层层处理,对于GTPU业务来说,包括以太层、IP(网络互连协议)层、UDP层、Socket(网络插口)层,唤醒用户态程序并将GTPU报文拷贝到用户空间。
传统方法的弊端包括:
拷贝过多:每个GTPU报文,经过Linux内核的处理后,需要从内核空间拷贝到用户空间。
上下文切换过多:GTPU收包socket采用阻塞式输入方式,每调用一次接收函数接收一个UDP报文都有一次系统调用的过程,即内核态和用户态上下文切换的过程。
中断过多:在较高网络负载情况下,网卡收包中断过多。过多的中断会严重降低Linux系统的实时性。
发明内容
本发明提出了一种基于Linux系统的基站用户面数据处理优化方法,其目的是在LTE基站用户面数据处理过程中,减少上下文切换,中断以及拷贝。
本发明的技术方案为一种基于Linux系统的基站用户面数据处理优化方法,采用包处理加速模块进行用户面数据处理,所述包处理加速模块包括缓冲区管理单元、网络数据帧管理单元和队列管理单元,网络数据帧管理单元中包括包分类器,包括初始化过程和数据传输过程,
所述初始化过程包括以下子步骤,
步骤1.1,定义包处理加速模块的包分类器的包分类规则,所述包分类规则是分类区分出基站的用户面数据的规则,所述用户面数据为GTPU报文,GTPU表示隧道协议;
步骤1.2,建立缓冲区管理单元的缓冲区,包括在内核初始化时,预留内存块作为缓冲区管理单元的缓冲区,将一个内存块切分为多个大小相等的格子,将每个格子的物理地址和大小通知给缓冲区管理单元;
步骤1.3,在内核的设备树文件中,将LTE基站与核心网相连的网络数据帧管理单元端口和步骤1.2中所建立缓冲区管理单元的缓冲区关联在一起;
步骤1.4,建立环形缓冲区,包括在驱动初始化时,预留一个内存块,将内存块切分为多个大小相等的格子,用来存储报文描述符,所述报文描述符中的信息包括GTPU报文的数据包的地址偏移和长度;内存块的头结构中保存控制环形缓冲区的读指针和写指针,所述写指针是内核向环形缓冲区填写数据的相应格子的编号,读指针是用户态收包进程从环形缓冲区读取数据的相应格子的编号;所述用户态收包进程,是根据从环形缓冲区读取的报文描述符中的信息直接访问缓冲区管理单元的缓冲区,将读出的GTPU报文中数据部分再组成消息递交给其它业务模块处理的进程;
步骤1.5,用户态收包进程初始化时,将步骤1.2所建立缓冲区管理单元的缓冲区和步骤1.4所建立环形缓冲区所在的物理地址空间映射到用户空间;
所述数据传输过程包括以下子步骤,
步骤2.1,包处理加速模块的包分类器区分出基站用户面数据,将基站用户面数据存放在缓冲区管理单元的缓冲区中,并将相应的报文描述符入队到网络数据帧管理单元的相应队列,产生中断通知内核收包;
步骤2.2,进行内核收包,由QMAN的收包中断处理回调函数完成,所述收包中断处理回调函数首先关闭收包中断,进入轮询状态,将报文描述符中的信息填写到环形缓冲区中,递增环形缓冲区的写指针,唤醒用户态收包进程;收包中断处理回调函数在每一次轮询中,统计此次轮询中收到的隧道协议数据的报文个数,如果个数小于预设阈值则结束轮询状态,重新开启收包中断;收包中断时,用户态收包进程睡眠在环形缓冲区驱动定义的等待队列上;
步骤2.3,睡眠在环形缓冲区驱动定义的等待队列上的用户态收包进程被唤醒后,根据报文描述符中的信息直接访问缓冲区管理单元的缓冲区,略过其他信息将GTPU报文的数据部分再组成消息递交给其它业务模块处理。
而且,步骤2.3中,用户态收包进程通过剥去以太网头部、VLAN头部、IP头部以及UDP头部信息,将GTPU报文中的数据部分,组装成消息递交给其他业务模块。
而且,在环形缓冲区的每个格子中对格子是否使用加以标记。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉邮电科学研究院,未经武汉邮电科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310315568.8/2.html,转载请声明来源钻瓜专利网。