[发明专利]一种基于DPDK的收包二级缓存方法及系统有效
申请号: | 201810378716.3 | 申请日: | 2018-04-25 |
公开(公告)号: | CN108632166B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 陈荣;闫礼飞 | 申请(专利权)人: | 湖北锐世数字医学影像科技有限公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 436000 湖北省鄂州市梧桐*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 dpdk 二级缓存 方法 系统 | ||
本发明公开了一种基于DPDK的收包二级缓存方法,包括以下步骤:自定义mbulk结构以及二级缓存结构,mbulk存储mbuf指针且大小相同,收包一级队列的队列存储mbuf指针,收包二级队列存储mbulk指针;(2)初始化DPDK;收包缓存收包处理线程1用于缓存portmbuf指针至收包一级队列中;(3‑2)收包处理线程2用于从mbulk_pool内存池取出mbulk,并从对应的收包一级队列取出mbuf指针并放入mbulk,任意mbulk放满后,收包处理线程2将mbulk指针放入收包二级队列,接着从mbulk_pool取出下一个mbulk,进行下一次操作;公共工作者线程从收包二级队列取出mbulk指针并处理。该方法通过为后端提供一个稳定的、数据量适中出队操作,使得后端处理更为稳定,以实现实时稳定收包和处理,降低丢包概率。
技术领域
本发明涉及大数据采集技术领域,具体是一种基于DPDK的收包缓存方法,此方法通过新增二级流水线的方式使得数据处理更加稳定,减少丢包率。
背景技术
在PET等大数据应用中,需要对多个网络出口的流量数据包进行采集分析,随着应用所需要的精度越来越高,对应的数据流量也会越来越大,一般应用的速率都会达到10Gbps,如何实时稳定收包和处理,降低丢包概率,这对数据包的采集来说是个挑战。
目前基于Linux的数据的采集,如果使用传统的Socket抓包,程序需要在用户态和内核态频繁的切换,导致性能削弱,无法满足大数据的要求。另外一种方案是使用DPDK(Data Plane Development Kit)。DPDK是Intel公司开发的基于数据面的数据包处理框架,它的抓包驱动工作在用户态,为用户态应用程序提供快速收发包接口,可以实现数据包的快速抓取。
传统的DPDK应用都是直接获取自身缓存的数据包(mbuf)并进行处理,但是当需要处理持续大流量(如10Gbps)的数据时,采用该方法进行数据缓存,dpdk自带api接口中ring队列的出队操作(rte_ring_mc_dequeue_bulk),每次出队个数大小不一,如果每次出队少量数据的话,效率不高,而且频繁小数据量的出队操作也是耗时的,这样会导致后续数据处理出现波动或者严重丢包,比如最简单的速率显示就会出现跳变等不稳定的现象。
申请号201510801278.3公开了一种基于DPDK的抓包及镜像流量转发方法,其使用DPDK 的收发包接口从入口网卡端口收到数据包后,将DPDK数据包mbuf拷贝到自定义格式的 packets buffer中,然后归还mbuf给DPDK;当packets buffer即将超过其内存空间大小时,将该packets buffer放入一个buffer队列中,此时完成一个packets buffer的提交;用户从buffer队列中取出packets buffer,每个buffer队列的packets buffer由一个用户线程去读取,用户线程读取到一个packets buffer对象后,对数据包进行分析处理,处理完之后,将packets buffer归还。使得数据包在系统中存留很长时间也不会因为mbuf缓存不足而导致丢包影响性能的问题。但是当需要处理持续大流量(如10Gbps)的数据时,采用该方法进行数据缓存,由于数据量过大,仍然存在导致丢包的问题。
发明内容
本发明公开了一种基于DPDK的收包二级缓存方法,在PET等大数据(如持续大流量(10Gbps))应用时,通过为后端提供一个稳定的、数据量适中出队操作,使得后端处理更为稳定,以实现实时稳定收包和处理,降低丢包概率。
为达到上述目的,本发明的解决方案是:
其中一实施例中,本发明公开了一种基于DPDK的收包二级缓存方法,包括以下步骤:
(1)自定义mbulk结构以及二级缓存结构,同时自定义mbulk_pool变量:
所述mbulk用于存储mbuf指针,每个所述mbulk大小相同,存储相同数量的mbuf指针;所述mbulk_pool为自定义DPDK内存池,存储元素为mbulk;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北锐世数字医学影像科技有限公司,未经湖北锐世数字医学影像科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810378716.3/2.html,转载请声明来源钻瓜专利网。