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

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

【技术实现步骤摘要】
工业物联网网关收包与处理包效率提升方法、系统及介质


[0001]本专利技术涉及工业物联网
,具体为一种工业物联网网关收包与处理包效率提升方法、系统及介质。

技术介绍

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

技术实现思路

[0004](一)解决的技术问题
[0005]针对现有技术的不足,本专利技术提供了一种工业物联网网关收包与处理包效率提升方法、系统及介质,解决了上述
技术介绍
中提出的传统的数据包捕获瓶颈往往在于Linux Kernel,数据流需要经过Linux Kernel,不可避免带来Kernel Spcae和User Space数据拷贝的消耗、系统调用的消耗,导致收发包效率不高的问题。
[0006](二)技术方案
[0007]为实现以上目的,本专利技术通过以下技术方案予以实现:一种工业物联网网关收包与处理包效率提升方法,所述方法包括:
[0008]配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;
[0009]利用DPDK的UIO技术将报文从内核空间拷贝到用户空间;
[0010]利用hash算法、多线程以及绑定CPU方式进行数据包处理。
[0011]优选地,所述配置文件包括:hugepage、mempool、ring的大小以及ring的个数。
[0012]优选地,还包括:配置hugepage,减少页的切换,减少页表项,减少产生缺页中断的次数、降低TLB的miss次数。
[0013]优选地,所述利用DPDK的UIO技术将报文从内核空间拷贝到用户空间,还包括:将拷贝的数据存放在mpool内存池中的rte_mbuf中。
[0014]优选地,所述利用hash算法、多线程以及绑定CPU方式进行数据包处理,包括:以数据包的五元组信息为hash算法的元素,将五元组信息算出的hash值相同的数据报存放到同一ring中,利用绑定CPU技术,将ring与核对应。
[0015]本专利技术还提供一种工业物联网网关收包与处理包效率提升系统,包括:
[0016]配置文件读取模块:用于配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;
[0017]报文信息拷贝模块:用于利用DPDK的UIO技术将报文从内核空间拷贝到用户空间;
[0018]数据包处理模块:用于利用hash算法、多线程以及绑定CPU方式进行数据包处理。
[0019]本专利技术还提供一种计算机可读存储介质,所述计算机可读存介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器所执行时执行如前任一所述的一种工业物联网网关收包与处理包效率提升方法。
[0020](三)有益效果
[0021]本专利技术提供了一种工业物联网网关收包与处理包效率提升方法、系统及介质。具备以下有益效果:
[0022]本专利技术将DPDK技术应用到工业物联网网关,提升了其收包效率,采用hash算法、多线程以及绑定CPU的处理,极大提升工业物联网网关设备的数据包处理能力大提高;通过绑定线程与CPU绑定,进一步提升数据包处理速度。
[0023]本专利技术利用0拷贝、巨页、软中断等技术提升设备的收包效率,通过开启多线程模式,提升数据包处理效率。
附图说明
[0024]图1为本专利技术提供的一种工业物联网网关收包与处理包效率提升方法流程图;
[0025]图2为本专利技术提供的一种工业物联网网关收包与处理包效率提升系统结构图。
具体实施方式
[0026]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。
[0027]为更清楚解释本专利技术实施例技术方案,特针对以下名词解释:
[0028]DPDK:数据平面开发套件,intel推出了服务于IA(Intel Architecture)系统的DPDK技术;DPDK是Data Plane Development Kit的缩写,DPDK应用程序运行在操作系统的User Space,利用自身提供的数据面库进行收发包处理,绕过了Linux内核态协议栈,以提升报文处理效率,DPDK是一组lib库和工具包的集合,DPDK将网卡接收队列分配给某个CPU核,该队列收到的报文都交给该核上的DPDK线程处理。
[0029]UIO:用户空间的I/O技术,即Userspace I/O内核驱动,UIO负责将中断和设备内存暴露给用户空间,然后再由UIO用户态驱动实现具体的业务。
[0030]UIO框架分为2部分,内核空间驱动和用户空间驱动,内核部分主要实现硬件寄存器的内存映射及读写操作,而用户空间部分负责将UIO设备的uio_mem映射到本地,实现用户空间程序能够访问硬件设备寄存器。
[0031]本专利技术实施例提供一种工业物联网网关收包与处理包效率提升方法,如图1所示,所述方法包括:
[0032]S1配置文件读取,采集用户端物联网网关设备信息,配置对应配置文件的参数大小;
[0033]S2利用DPDK的UIO技术将报文从内核空间拷贝到用户空间;
[0034]S3利用hash算法、多线程以及绑定CPU方式进行数据包处理。
[0035]优选地,所述配置文件包括:hugepage、mempool、ring的大小以及ring的个数。
[0036]优选地,还包括:配置hugepage,减少页的切换,减少页表项,减少产生缺页中断的次数、降低TLB的miss次数。
[0037]优选地,所述利用DPDK的UIO技术将报文从内核空间拷贝到用户空间,可以实现数据包的零拷贝,还包括:将拷贝的数据存放在mpool内存池中的rte_mbuf中。
[0038]优选地,所述利用hash算法、多线程以及绑定CPU方式进行数据包处理,包括:以数据包的五元组信息为hash算法的元素,将五元组信息算出的hash值相同的数据报存放到同一ring中,利用绑定CPU技术,将ring与核对应,此步骤有益效果为:可以进一步加快数据报的处理效率。
[0039]如果DPDK收包速度比包处理的速度要快,会导致存储数据包的内存得不到及时的释放,影响收包效率,故创建多个收包线程ring本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所...

【专利技术属性】
技术研发人员:李杰王垚孙立杜玉卓申大伟丁光辉胡罡舒兴杰王泽广矫行洲王延生隋凯孙艺萌王小东杨小帅熊传宇
申请(专利权)人:北京天地和兴科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1