发明名称 无线通信基站空口数据cipher加速方法
摘要 一种无线通信基站空口数据cipher加速方法,初始化QMAN和SEC协处理器,分配内核内存用于保存用户态任务和内核线程需要交互的数据,初始化双无锁队列indata队列与outdata队列,创建内核任务、用户态接收消息任务和用户态发送消息任务;用户态发送消息任务将需要进行cipher处理的数据包放到双无锁队列的indata队列中,内核任务从indata队列中获取数据包,入队到QMAN队列,然后QMAN发到SEC协处理器中,处理完毕后填写到双无锁队列中的outdata队列中,唤醒用户态接收消息任务;用户态接收消息任务被唤醒后,直接将报文从outdata队列中取出交给其它业务模块处理。
申请公布号 CN104102494A 申请公布日期 2014.10.15
申请号 CN201410371834.3 申请日期 2014.07.31
申请人 武汉邮电科学研究院 发明人 杨小帅;蔡鑫;张汇
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人 严彦
主权项 一种无线通信基站空口数据cipher加速方法,其特征在于:包括初始化过程和数据传输过程;初始化过程包括以下子步骤,步骤1.1,初始化QMAN和SEC协处理器,并初始化相应算法描述符;所述QMAN为硬件队列管理器;步骤1.2,在SEC协处理器初始化后,分配一块内存用于保存用户态任务和内核线程需要交互的数据,然后初始化双无锁队列indata队列与outdata队列,indata队列为输入数据队列,outdata队列为输出数据队列;indata队列与outdata队列相同大小,两队列是一一对应,indata中存放接收数据,outdata对应的数据缓存区中存放相应数据经过SEC协处理器处理过后的结果;步骤1.3,创建内核任务,该内核任务用来处理与协议栈的数据交互,包括轮询indata 队列,将indata队列中的数据写入SEC协处理器;步骤1.4,创建用于用户态中空口数据cipher处理的用户态任务,所述用户态任务包括用户态接收消息任务和用户态发送消息任务;将步骤1.2中分配的内存映射到用户空间;步骤1.5,创建用户态接收消息任务,该任务不断轮询outdata队列,获取SEC协处理器处理过后的消息;数据传输过程包括以下子步骤,步骤2.1,用户态发送消息任务将需要进行cipher处理的数据包放到双无锁队列的indata队列中,每写入一帧数据就将indata队列写指针加1;如果indata队列已满,根据消息优先级丢弃帧或等待indata队列非满;步骤2.2,步骤1.3建立的内核任务从indata队列中获取数据包,入队到QMAN队列,然后QMAN根据步骤1.1初始化算法描述符的结果将QMAN队列中的数据包发到SEC协处理器中;如indata队列已空则等待;步骤2.3,数据包被SEC协处理器处理完毕后,触发QMAN的DQRR中断,中断回调函数进行收包,将报文描述符中的信息填写到双无锁队列中的outdata队列中,递增outdata队列的写指针,唤醒用户态接收消息任务;步骤2.4,用户态接收消息任务被唤醒后,直接将报文从outdata队列中取出交给其它业务模块处理,并将读指针加一,直到outdata队列再次为空,继续等待被唤醒。
地址 430074 湖北省武汉市洪山区邮科院路88号