[发明专利]一种高速的网络数据传输方法有效
申请号: | 201611245469.7 | 申请日: | 2016-12-29 |
公开(公告)号: | CN106850565B | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 候春辉;张松轶;李学成;康志杰 | 申请(专利权)人: | 河北远东通信系统工程有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G06F9/54 |
代理公司: | 河北东尚律师事务所 13124 | 代理人: | 王文庆 |
地址: | 050200 河北省石*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种高速的网络数据传输方法,解决用户态应用收发网络数据冗杂处理的问题,以飞思卡尔DPAA硬件为基础,设计一种DPAA服务进程,负责以太网口和用户态应用之间数据转发。绕过调用以太网驱动,在用户态调用缓存管理接口和列队管理接口操作DPAA硬件收发网络数据;利用网络处理器的硬件资源实现精简网络协议栈,加快了数据包处理;DPAA服务进程和用户态应用共享内存,在收发数据时仅需在消息队列中交换彼此的数据指针,实现内核态和用户态数据包的零拷贝,省去传统Linux系统收发网络数据时的IO调用、内核执行线程上下文切换、用户态应用访问数据缓存时的IO拷贝等冗杂处理,在用户态应用和硬件之间提供了一个很薄很高效的层,提高了网络数据处理速度。 | ||
搜索关键词: | 一种 高速 网络 数据传输 方法 | ||
【主权项】:
1.一种高速的网络数据传输方法,其特征在于,包括初始化、上行数据接收和下行数据发送三个过程,具体包括以下步骤:初始化:步骤一:DPAA服务进程的初始化模块获取配置信息,通过数据帧管理接口配置以太网口的IP地址和数据帧管理器的解析、分类和分发策略;内存管理模块为缓存管理器提供一块内存池,并从内存池动态获取一部分缓存,形成缓存池;所述的配置信息包括CPU绑定信息、以太网口的IP地址和数据帧管理器的解析、分类和分发策略;上行数据接收:步骤二:数据帧管理器的以太网口接收到与该网口相同IP地址的网络数据后,通过缓存管理器向内存池申请一个或多个缓存以存储网络数据;数据帧管理器根据解析、分类和分发策略对内存池内存储的网络数据进行解析和分类,将用户关心的网络数据推送到列队管理器,并向列队管理器发起一个入队请求;所述的入队请求包含帧队列ID;步骤三:列队管理器接收到数据帧管理器的入队请求后,根据帧队列ID将用户关心的网络数据通过列队管理器的软件入口推送到对应的CPU;步骤四:CPU根据CPU绑定信息找到对应的DPAA服务进程后,DPAA服务进程的以太网收发接口调用列队管理接口接收网络数据,并将网络数据发送到DPAA服务进程的精简网络协议栈;步骤五:精简网络协议栈对网络数据的首部进行解析,并利用DPAA平台硬件资源对解析后的网络数据进行校验和的检验,获得用户数据,将用户数据发送至DPAA服务进程的用户态应用接口;步骤六:用户态应用接口将用户数据组装成消息,通过消息队列的方式将消息发送到用户态应用;下行数据发送:步骤七:用户态应用从缓存池申请缓存以存储待发送的用户数据,并向用户态应用接口发送请求消息;步骤八:用户态应用接口接收到用户态应用发送的请求消息后,从缓存池中提取用户数据指针并发送至精简网络协议栈;步骤九:精简网络协议栈根据用户数据指针找到对应的用户数据,利用DPAA平台硬件资源进行校验和的计算,将用户数据添加协议首部和校验和,完成用户数据的封装,将用户数据指针发送至以太网收发接口;步骤十:以太网收发接口根据用户数据指针找到对应的封装后的用户数据,将封装后的用户数据封装成DPAA要求的数据帧,通过列队管理器接口和软件入口将数据帧发送至列队管理器;步骤十一:列队管理器将接收到的数据帧发送到数据帧管理器;步骤十二:数据帧管理器通过以太网口将数据帧发送出去;步骤十三:内存管理模块释放缓存池中占用的缓存。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北远东通信系统工程有限公司,未经河北远东通信系统工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611245469.7/,转载请声明来源钻瓜专利网。