[发明专利]一种基于DPDK的收包二级缓存方法及系统有效
申请号: | 201810378716.3 | 申请日: | 2018-04-25 |
公开(公告)号: | CN108632166B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 陈荣;闫礼飞 | 申请(专利权)人: | 湖北锐世数字医学影像科技有限公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 436000 湖北省鄂州市梧桐*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 dpdk 二级缓存 方法 系统 | ||
1.一种基于DPDK的收包二级缓存方法,其特征在于:包括以下步骤:
(1)自定义mbulk结构以及二级缓存结构,同时自定义mbulk_pool变量:
所述mbulk用于存储mbuf指针,每个所述mbulk大小相同,存储相同数量的mbuf指针;所述mbulk_pool为自定义DPDK内存池,存储元素为mbulk;所述mbuf指针用于指向原始mbuf数据包在mbuf_pool中的地址;
所述二级缓存结构包括自定义的DPDK收包一级队列以及收包二级队列,所述收包一级队列的队列存储元素为mbuf指针,包括至少一组收包一级队列;所述收包二级队列为公共队列,其队列存储元素为mbulk指针;
(2)初始化DPDK环境、创建内存、分配CPU给DPDK收包处理线程、初始化网卡配置并配置好mbulk、收包一级队列、mbulk_pool以及收包二级队列;
(3)收包缓存,DPDK的每个port分别对应两个收包处理线程:
(3-1)收包处理线程1用于缓存port对应的原始mbuf指针至收包一级队列中;
(3-2)收包处理线程2用于从mbulk_pool内存池取出一个mbulk,然后从对应的收包一级队列取出mbuf指针并放入mbulk,任意所述mbulk放满后,收包处理线程2将所述mbulk指针放入收包二级队列,接着从mbulk_pool取出下一个mbulk,进行下一次操作;
(4)公共工作者线程缓存处理:所述公共工作者线程用于从收包二级队列取出mbulk指针,然后对每个所述mbulk所存储的相同数量的mbuf地址指针进行处理,每处理完一个mbuf后归还mbuf到所述mbuf_pool,处理完整个mbulk后归还mbulk到mbulk_pool。
2.根据权利要求1所述的基于DPDK的收包二级缓存方法,其特征在于:每个port对应一个收包一级队列,多个port共用一个收包二级队列。
3.根据权利要求1所述的基于DPDK的收包二级缓存方法,其特征在于:所述mbulk内部采用ring结构进行mbulk的组织与管理。
4.根据权利要求1或3所述的基于DPDK的收包二级缓存方法,其特征在于:所述收包一级队列与所述收包二级队列均为ring结构,其中,所述ring结构为无锁结构。
5.根据权利要求1所述的基于DPDK的收包二级缓存方法,其特征在于:所述步骤(2),创建的内存为大页内存池,所述mbulk从大页内存池中申内存,所述mbulk的内存引用的是大页内存池的内存buffer。
6.一种基于DPDK的收包二级缓存系统,其特征在于:包括
初始化模块,用于DPDK运行环境初始化;
二级缓存模块,所述二级缓存模块包括收包一级队列、收包二级队列,用于port与收包一级队列之间数据缓存的收包处理线程1,以及用于收包一级队列与收包二级队列之间数据缓存的收包处理线程2;每个port对应一个收包一级队列,多个port共用一个收包二级队列;
所述收包一级队列的队列存储元素为mbuf指针,每个收包一级队列与相应的port之间经由收包处理线程1将原始mbuf指针从port缓存至收包一级队列中;所述收包二级队列为公共队列,其队列存储元素为mbulk指针,所述mbulk用于存储mbuf指针,每个所述mbulk大小相同,各收包一级队列中缓存的mbuf指针经由收包处理线程2缓存至mbulk后,在经由所述收包处理线程2将装满的mbulk指针缓存至所述收包二级队列中;其中,所述mbuf指针用于指向原始mbuf数据包在mbuf_pool中的地址;
公共工作者线程处理模块,所述公共工作者线程处理模块用于从收包二级队列取出mbulk指针并处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北锐世数字医学影像科技有限公司,未经湖北锐世数字医学影像科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810378716.3/1.html,转载请声明来源钻瓜专利网。