一种基于DPDK技术开发的高性能数据采集引擎方法技术

技术编号:21246672 阅读:19 留言:0更新日期:2019-06-01 07:10
本发明专利技术公开了一种基于DPDK技术开发的高性能数据采集引擎方法,通过DPDK‑based DCE的线程模型设计、DPDK‑based DCE的CPU核分配及绑定设计、DPDK‑based DCE架构的数据流转发及核分布设计、DPDK‑based DCE架构的进线程模型设计、DPDK‑based DCE架构的进线程事件处理流程表大的技术方案支撑了数据高性能采集的实现,基础系统运行时就实现了较少的上下文切换、更少的数据复制、并提高了性能,实现对Linux应用程序进行很少的更改或者无需修改,通过IXIA IxChariot仪表测试,得到数据表明以DPDK为基础的数据包动态转发技术解决了传统x86 CPU核性能无法充分利用的问题,实现了分核、绑核等复合利用CPU计算资源的目的,达到了在Linux环境下,用多核CPU可线速转发数据包的目的。

A High Performance Data Acquisition Engine Method Based on DPDK Technology

The invention discloses a high-performance data acquisition engine method based on DPDK technology. The thread model design of DPDK based DCE, the CPU core allocation and binding design of DPDK based DCE, the data flow forwarding and core distribution design of DPDK based DCE architecture, the thread model design of DPDK based DCE architecture, and the thread event processing flow of DPDK based DCE architecture are introduced. The technical scheme of large tables supports the realization of high performance data acquisition. When the basic system runs, it achieves fewer context switching, fewer data replication, and improves the performance. It realizes little or no modification to Linux application program. Through the IXIA IxChariot instrument test, the data shows that the dynamic data packet forwarding technology based on DPDK solves the transmission problem. The problem that the performance of X86 CPU core can not be fully utilized realizes the purpose of utilizing CPU computing resources in combination with coring and binding cores, and realizes the purpose of forwarding data packets at line speed with multi-core CPU under Linux environment.

【技术实现步骤摘要】
一种基于DPDK技术开发的高性能数据采集引擎方法
本专利技术涉及大数据领域,具体是一种基于DPDK技术开发的高性能数据采集引擎方法。
技术介绍
现在大数据已经成为一个热门的行业,无论是大数据存储还是数据信息挖掘,都是非常具有价值的。高性能数据采集引擎DPDK-basedDCETM(DataCollectionEnginebaseonDataPlaneDevelopmentKit)技术是基于Linux+DPDK开发的高性能业务支撑平台并通过DCE技术实现数据包高效采集的一个科学方案。DPDK-basedDCE技术架构中的一个研发关键点是将高速数据捕获和交付能力模块运行环境相关的数据移植到用户空间,形成精简运行时环境,通过截取系统调用的方式使得管理程序能够使用Linux内核之外的环境,而管理程序和Linux内核均不会意识到这一点。这样就实现了较少的上下文切换、更少的数据复制、并提高了性能,而只需对Linux管理程序进行很少的更改或者无需修改。通过IXIAIxChariot仪表测试,得到数据表明基于DPDK-basedDCE技术架构的数据采集性能是传统Linuxlibpcap数据采集性能的12.7倍;平均性能也都在10倍以上。从而以DPDK为基础的数据包高效采集技术解决了传统x86CPU核性能无法充分利用的问题,实现了分核、绑核等复合利用CPU计算资源的目的,达到了在Linux环境下,用多核CPU可线速采集数据包的目的。
技术实现思路
本专利技术的目的在于提供一种基于DPDK技术开发的高性能数据采集引擎方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种基于DPDK技术开发的高性能数据采集引擎方法,其方法实施步骤如下:(1)基于DPDK技术开发的高性能数据采集引擎平台;(2)基于Soft-ASIC的多桥性能倍增技术;(3)数据工具集研发:包括数据采集工具集研发和数据存储工具集研发。作为本专利技术进一步的方案:所述步骤(1)中的基于DPDK技术开发的高性能数据采集引擎平台是基于Linux+DPDK开发的高性能业务支撑平台并通过DCE技术实现数据包高效采集实现,DPDK-basedDCE引擎实现了基于Linux系统的高速IP数据包捕获的基础架构,高性能数据采集、分析和处理系统基于Linux和DPDK-basedDCE架构建立,在该架构基础上通过开发专用的用户态内存管理、缓存管理、定时器、读写锁、线程锁、核间通讯等构成专用的网络加速平台,实现最佳性能。作为本专利技术进一步的方案:所述步骤(1)中的基于DPDK技术开发的高性能数据采集引擎平台包括用户态业务精简运行时环境的实现,主要是精简运行时环境和业务应用加速两大模块,精简运行时环境主要实现了业务应用运行时所需的进程管理、内存管理、进程间通讯等内核需要做的工作,重新构建了业务应用运行时使用的内存、虚拟页、缓冲、调度、中断、信号、定时器、锁机制等。作为本专利技术进一步的方案:所述步骤(1)中的基于DPDK技术开发的高性能数据采集引擎平台基于业务需要的CPU核分配机制的实现,通用的SMP核分配方法是让所有内核都运行同一个操作系统的拷贝。由于操作系统每时每刻都监控着系统的运行状态,因此可以在多核之间分配资源,而无需应用开发人员的干预,高性能数据采集引擎平台充分利用DPDK-basedDCETM调度器的CPU亲和性(affinity)特点。将系统进行层次化、模块化设计,细分模块实现并将特定业务实现均分到各个CPU核心上,从而实现CPU资源的最大化利用。作为本专利技术进一步的方案:所述步骤(1)中的基于DPDK技术开发的高性能数据采集引擎平台对于分平面设计好数据流的转发和CPU核间通信的高性能保证需要一个核性能分配架构设计。作为本专利技术进一步的方案:所述步骤(1)中的于DPDK技术开发的高性能数据采集引擎平台需将高速数据捕获和业务功能模块运行环境相关的应用移植到用户空间,形成精简运行时环境,通过截取系统调用的方式使得应用程序能够使用Linux内核之外的环境,需要一个进线程模型设计方案,并能充分考虑到框架内各事件执行的集中管理能力。作为本专利技术进一步的方案:所述进线程模设计方案对于进程都需处理管理和控制消息,可采用统一的事件处理机制,对于这种异步消息的处理,可使用Reactor模式,Reactor是一种事件驱动机制,Reactor逆置了事件处理流程,应用程序需要提供相应的接口并注册到Reactor上,如果相应的事件发生(消息到达),Reactor将主动调用应用程序注册的接口(回调函数)。作为本专利技术进一步的方案:所述步骤(2)中的基于Soft-ASIC的多桥性能倍增技术在展开多桥结构下,利用分核技术配合“Soft-ASIC”特有方案,完成多桥接入数据流量并发时,单桥对数据流量的分析能力不下降的等技术的研究,实现的多桥性能倍增目标。作为本专利技术进一步的方案:所述步骤(3)中的数据采集工具集研发是基于X86Linux+DPDK高性能数据处理平台技术,配合“Soft-ASIC”方案,开发高速数据采集和数据转储系统,并形成数据采集工具,能够自动适应大数据流,以线速进行数据分类和转储,包括“数据应用类型的分类采集、数据源的分类采集、数据包分类采集”共三个工具,可应用在大数据试验环境的大数据采集与转储试验中,这项工具的应用,将大大提升大数据试验环境对数据的分类迁移能力,节约硬件投入,减少投资。作为本专利技术再进一步的方案:所述步骤(3)中的数据存储工具集研发是基于存储性能预测、优化文件分块存储方案和数据信息迁移等技术的数据高效存储、管理的工具集,能够存储器的性能预测,选择最佳的存储系统,并将数据文件以最佳分布方式存储,并保证在数据迁移时数据文件的完整性,包括“存储性能预测、分片存储、分类存储”共两个工具,在大数据试验环境的应用,将有效帮助试验环境实现大数据的高效率分布式存储方案,工具集的支撑技术VSD迁移及存储地址空间转换等特性将有利于试验环境在完成大数据存储、处理、检索等任务时更快的实现大数据的可视化效果。与现有技术相比,本专利技术的有益效果是:通过DPDK-basedDCE的线程模型设计、DPDK-basedDCE的CPU核分配及绑定设计、DPDK-basedDCE架构的数据流转发及核分布设计、DPDK-basedDCE架构的进线程模型设计、DPDK-basedDCE架构的进线程事件处理流程表的技术方案支撑了大数据高性能采集的实现,基础系统运行时就实现了较少的上下文切换、更少的数据复制、并提高了性能,实现对Linux应用程序进行很少的更改或者无需修改,通过IXIAIxChariot仪表测试,得到数据表明基于DPDK-basedDCE技术架构的数据采集性能是传统Linuxlibpcap数据采集性能的12.7倍;平均性能也都在10倍以上。从而以DPDK为基础的数据包动态转发技术解决了传统x86CPU核性能无法充分利用的问题,实现了分核、绑核等复合利用CPU计算资源的目的,达到了在Linux环境下,用多核CPU可线速转发数据包的目的。附图说明图1为基于DPDK技术开发的高性能数据采集引擎方法的DPDK-basedDCE模型示意框图。图2为基于DPDK技术开发的高性能数据采集引擎方法的DPD本文档来自技高网...

【技术保护点】
1.一种基于DPDK技术开发的高性能数据采集引擎方法,其特征在于,其实施步骤如下:(1)基于DPDK技术开发的高性能数据采集引擎平台;(2)基于Soft‑ASIC的多桥性能倍增技术;(3)数据工具集研发:包括数据采集工具集研发和数据存储工具集研发。

【技术特征摘要】
1.一种基于DPDK技术开发的高性能数据采集引擎方法,其特征在于,其实施步骤如下:(1)基于DPDK技术开发的高性能数据采集引擎平台;(2)基于Soft-ASIC的多桥性能倍增技术;(3)数据工具集研发:包括数据采集工具集研发和数据存储工具集研发。2.根据权利要求1所述的一种基于DPDK技术开发的高性能数据采集引擎方法,其特征在于,所述步骤(1)中的基于DPDK技术开发的高性能数据采集引擎平台是基于Linux+DPDK开发的高性能业务支撑平台并通过DCE技术实现数据包高效采集实现,DPDK-basedDCE引擎实现了基于Linux系统的高速IP数据包捕获的基础架构,高性能数据采集、分析和处理系统基于Linux和DPDK-basedDCE架构建立,在该架构基础上通过开发专用的用户态内存管理、缓存管理、定时器、读写锁、线程锁、核间通讯等构成专用的网络加速平台,实现最佳性能。3.根据权利要求1所述的一种基于DPDK技术开发的高性能数据采集引擎方法,其特征在于,所述步骤(1)中的基于DPDK技术开发的高性能数据采集引擎平台包括用户态业务精简运行时环境的实现,主要是精简运行时环境和业务应用加速两大模块,精简运行时环境主要实现了业务应用运行时所需的进程管理、内存管理、进程间通讯等内核需要做的工作,重新构建了业务应用运行时使用的内存、虚拟页、缓冲、调度、中断、信号、定时器、锁机制等。4.根据权利要求1所述的一种基于DPDK技术开发的高性能数据采集引擎方法,其特征在于,所述步骤(1)中的基于DPDK技术开发的高性能数据采集引擎平台基于业务需要的CPU核分配机制的实现,通用的SMP核分配方法是让所有内核都运行同一个操作系统的拷贝。由于操作系统每时每刻都监控着系统的运行状态,因此可以在多核之间分配资源,而无需应用开发人员的干预,高性能数据采集引擎平台充分利用DPDK-basedDCETM调度器的CPU亲和性(affinity)特点。将系统进行层次化、模块化设计,细分模块实现并将特定业务实现均分到各个CPU核心上,从而实现CPU资源的最大化利用。5.根据权利要求4所述的一种基于DPDK技术开发的高性能数据采集引擎方法,其特征在于,所述步骤(1)中的基于DPDK技术开发的高性能数据采集引擎平台对于分平面设计好数据流的转发和CPU核间通信的高性能保证需要一个核性能分配架构设计。6.根据权利要求4所述的一种基于DPDK技术开发的高性能数据采集引擎方法,其特征在于,所述步骤(1)中的于DP...

【专利技术属性】
技术研发人员:朱玲玲
申请(专利权)人:上海兴畅网络技术股份有限公司
类型:发明
国别省市:上海,31

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

1