一种基于Linux系统的基站用户面数据处理优化方法技术方案

技术编号:9337423 阅读:126 留言:0更新日期:2013-11-13 18:05
本发明专利技术提出了一种基于Linux系统的基站用户面数据处理优化方法,包括采用包处理加速模块完成包分类,利用中断轮询智能切换方式减少收包中断,利用内核空间-用户空间内存映射技术避免内存拷贝,利用无锁队列技术减少内核态和用户态的上下文切换,从而显著的提高基站用户面数据处理的性能。

【技术实现步骤摘要】

【技术保护点】
一种基于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报文的数据部分再组成消息递交给其它业务模块处理。...

【技术特征摘要】

【专利技术属性】
技术研发人员:姜炜
申请(专利权)人:武汉邮电科学研究院
类型:发明
国别省市:

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

1