工业物联网网关收包与处理包效率提升方法、系统及介质与流程



1.本发明涉及工业物联网技术领域,具体为一种工业物联网网关收包与处理包效率提升方法、系统及介质。


背景技术:



2.工业物联网网关设备需要将感知节点所采集的数据进行汇总、适当处理或者数据融合,并进行转发。
3.伴随着感知结点的增加,采集的数据量增大,网关设备会需要处理大量的数据,那么提升工业物联网网关设备收发数据包的性能尤为重要,避免重要数据的丢失和处理不及时;当前主流的数据包处理方式包括:采用libpcap或者pfring的方式处理数据包、linux系统默认采用4kb作为页的大小(page size);采用libpcap或者pfring的方式处理数据包的处理方式,存在两次或者一次数据拷贝,不能实现0拷贝,增加系统开销;采用linux系统默认采用4kb作为页的大小(page size)的处理方式,页的大小越小,设备的内存越大,页面的个数就越多,页表的开销就越大,页表的内存占用也越大。


技术实现要素:



4.(一)解决的技术问题
5.针对现有技术的不足,本发明提供了一种工业物联网网关收包与处理包效率提升方法、系统及介质,解决了上述背景技术中提出的传统的数据包捕获瓶颈往往在于linux kernel,数据流需要经过linux kernel,不可避免带来kernel spcae和user space数据拷贝的消耗、系统调用的消耗,导致收发包效率不高的问题。
6.(二)技术方案
7.为实现以上目的,本发明通过以下技术方案予以实现:一种工业物联网网关收包与处理包效率提升方法,所述方法包括:
8.配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;
9.利用dpdk的uio技术将报文从内核空间拷贝到用户空间;
10.利用hash算法、多线程以及绑定cpu方式进行数据包处理。
11.优选地,所述配置文件包括:hugepage、mempool、ring的大小以及ring的个数。
12.优选地,还包括:配置hugepage,减少页的切换,减少页表项,减少产生缺页中断的次数、降低tlb的miss次数。
13.优选地,所述利用dpdk的uio技术将报文从内核空间拷贝到用户空间,还包括:将拷贝的数据存放在mpool内存池中的rte_mbuf中。
14.优选地,所述利用hash算法、多线程以及绑定cpu方式进行数据包处理,包括:以数据包的五元组信息为hash算法的元素,将五元组信息算出的hash值相同的数据报存放到同一ring中,利用绑定cpu技术,将ring与核对应。
15.本发明还提供一种工业物联网网关收包与处理包效率提升系统,包括:
16.配置文件读取模块:用于配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;
17.报文信息拷贝模块:用于利用dpdk的uio技术将报文从内核空间拷贝到用户空间;
18.数据包处理模块:用于利用hash算法、多线程以及绑定cpu方式进行数据包处理。
19.本发明还提供一种计算机可读存储介质,所述计算机可读存介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器所执行时执行如前任一所述的一种工业物联网网关收包与处理包效率提升方法。
20.(三)有益效果
21.本发明提供了一种工业物联网网关收包与处理包效率提升方法、系统及介质。具备以下有益效果:
22.本发明将dpdk技术应用到工业物联网网关,提升了其收包效率,采用hash算法、多线程以及绑定cpu的处理,极大提升工业物联网网关设备的数据包处理能力大提高;通过绑定线程与cpu绑定,进一步提升数据包处理速度。
23.本发明利用0拷贝、巨页、软中断等技术提升设备的收包效率,通过开启多线程模式,提升数据包处理效率。
附图说明
24.图1为本发明提供的一种工业物联网网关收包与处理包效率提升方法流程图;
25.图2为本发明提供的一种工业物联网网关收包与处理包效率提升系统结构图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
27.为更清楚解释本发明实施例技术方案,特针对以下名词解释:
28.dpdk:数据平面开发套件,intel推出了服务于ia(intel architecture)系统的dpdk技术;dpdk是data plane development kit的缩写,dpdk应用程序运行在操作系统的user space,利用自身提供的数据面库进行收发包处理,绕过了linux内核态协议栈,以提升报文处理效率,dpdk是一组lib库和工具包的集合,dpdk将网卡接收队列分配给某个cpu核,该队列收到的报文都交给该核上的dpdk线程处理。
29.uio:用户空间的i/o技术,即userspace i/o内核驱动,uio负责将中断和设备内存暴露给用户空间,然后再由uio用户态驱动实现具体的业务。
30.uio框架分为2部分,内核空间驱动和用户空间驱动,内核部分主要实现硬件寄存器的内存映射及读写操作,而用户空间部分负责将uio设备的uio_mem映射到本地,实现用户空间程序能够访问硬件设备寄存器。
31.本发明实施例提供一种工业物联网网关收包与处理包效率提升方法,如图1所示,所述方法包括:
32.s1配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;
33.s2利用dpdk的uio技术将报文从内核空间拷贝到用户空间;
34.s3利用hash算法、多线程以及绑定cpu方式进行数据包处理。
35.优选地,所述配置文件包括:hugepage、mempool、ring的大小以及ring的个数。
36.优选地,还包括:配置hugepage,减少页的切换,减少页表项,减少产生缺页中断的次数、降低tlb的miss次数。
37.优选地,所述利用dpdk的uio技术将报文从内核空间拷贝到用户空间,可以实现数据包的零拷贝,还包括:将拷贝的数据存放在mpool内存池中的rte_mbuf中。
38.优选地,所述利用hash算法、多线程以及绑定cpu方式进行数据包处理,包括:以数据包的五元组信息为hash算法的元素,将五元组信息算出的hash值相同的数据报存放到同一ring中,利用绑定cpu技术,将ring与核对应,此步骤有益效果为:可以进一步加快数据报的处理效率。
39.如果dpdk收包速度比包处理的速度要快,会导致存储数据包的内存得不到及时的释放,影响收包效率,故创建多个收包线程ring来处理数据包,创建ring的数目由配置文件决定。
40.将数据包均匀的分配到各个ring中,避免出现有的ring满、ring空的情况。
41.如图2所示,本发明实施例还提供一种工业物联网网关收包与处理包效率提升系统,包括:
42.配置文件读取模块:用于配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;
43.报文信息拷贝模块:用于利用dpdk的uio技术将报文从内核空间拷贝到用户空间;
44.数据包处理模块:用于利用hash算法、多线程以及绑定cpu方式进行数据包处理。
45.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器所执行时执行如前任一所述的一种工业物联网网关收包与处理包效率提升方法。
46.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:


1.一种工业物联网网关收包与处理包效率提升方法,其特征在于:所述方法包括:配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;利用dpdk的uio技术将报文从内核空间拷贝到用户空间;利用hash算法、多线程以及绑定cpu方式进行数据包处理。2.根据权利要求1所述的一种工业物联网网关收包与处理包效率提升方法,其特征在于:所述配置文件包括:hugepage、mempool、ring的大小以及ring的个数。3.根据权利要求2所述的一种工业物联网网关收包与处理包效率提升方法,其特征在于:还包括:配置hugepage,减少页的切换,减少页表项,减少产生缺页中断的次数、降低tlb的miss次数。4.根据权利要求3所述的一种工业物联网网关收包与处理包效率提升方法,其特征在于:所述利用dpdk的uio技术将报文从内核空间拷贝到用户空间,还包括:将拷贝的数据存放在mpool内存池中的rte_mbuf中。5.根据权利要求4所述的一种工业物联网网关收包与处理包效率提升方法,其特征在于:所述利用hash算法、多线程以及绑定cpu方式进行数据包处理,包括:以数据包的五元组信息为hash算法的元素,将五元组信息算出的hash值相同的数据报存放到同一ring中,利用绑定cpu技术,将ring与核对应。6.一种工业物联网网关收包与处理包效率提升系统,其特征在于:包括:配置文件读取模块:用于配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;报文信息拷贝模块:用于利用dpdk的uio技术将报文从内核空间拷贝到用户空间;数据包处理模块:用于利用hash算法、多线程以及绑定cpu方式进行数据包处理。7.一种计算机可读存储介质,其特征在于:所述计算机可读存介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器所执行时执行如权利要求1-5任一所述的一种工业物联网网关收包与处理包效率提升方法。

技术总结


本发明提供一种工业物联网网关收包与处理包效率提升方法,所述方法包括:配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;利用DPDK的UIO技术将报文从内核空间拷贝到用户空间;利用hash算法、多线程以及绑定CPU方式进行数据包处理;解决了传统的数据包捕获瓶颈往往在于Linux Kernel,数据流需要经过Linux Kernel,不可避免带来Kernel Spcae和User Space数据拷贝的消耗、系统调用的消耗,导致收发包效率不高的问题。问题。问题。


技术研发人员:

李杰 王垚 孙立 杜玉卓 申大伟 丁光辉 胡罡 舒兴杰 王泽广 矫行洲 王延生 隋凯 孙艺萌 王小东 杨小帅 熊传宇

受保护的技术使用者:

北京天地和兴科技有限公司

技术研发日:

2022.08.16

技术公布日:

2022/11/18

本文发布于:2024-09-20 16:25:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/12617.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:网关   所述   数据包   效率
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议