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技术开发的高性能数据采集引擎方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。