CN109951532A - 一种基于dpdk的流量模型自动变换装置 - Google Patents

一种基于dpdk的流量模型自动变换装置 Download PDF

Info

Publication number
CN109951532A
CN109951532A CN201910145559.6A CN201910145559A CN109951532A CN 109951532 A CN109951532 A CN 109951532A CN 201910145559 A CN201910145559 A CN 201910145559A CN 109951532 A CN109951532 A CN 109951532A
Authority
CN
China
Prior art keywords
dpdk
module
model
discharge
discharge model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910145559.6A
Other languages
English (en)
Other versions
CN109951532B (zh
Inventor
张广兴
景阳
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Future Networks Innovation Institute
Original Assignee
Jiangsu Future Networks Innovation Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Future Networks Innovation Institute filed Critical Jiangsu Future Networks Innovation Institute
Priority to CN201910145559.6A priority Critical patent/CN109951532B/zh
Publication of CN109951532A publication Critical patent/CN109951532A/zh
Application granted granted Critical
Publication of CN109951532B publication Critical patent/CN109951532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及云计算技术及大数据技术的数据采集领域,尤其为一种基于DPDK的流量模型自动变换装置,包括DPDK流量模型变换系统,所述DPDK流量模型变换系统包括配置修改DPDK模型系统和动态修改DPDK模型系统。该基于DPDK的流量模型自动变换装置,将DPDK模型应用从业务流程中分离出来,实现业务处理与流量转发模型解耦;通过不断丰富DPDK流量模型,可以适配越来越多的具体业务;通过修改配置文件,而不是代码的方式就可以调整DPDK流量模型及各种参数,来适配业务性能,能够在系统运行的情况下更改流量模型;可以很方便的与大数据平台相结合,通过流量分析动态调节DPDK模型,来适配不同应用场景。

Description

一种基于DPDK的流量模型自动变换装置
技术领域
本发明涉及云计算技术及大数据技术的数据采集领域,具体为一种基于DPDK的流量模型自动变换装置。
背景技术
随着云计算技术和大数据技术的不断发展,和应用的越来越广泛,对云计算服务器、大数据服务器的吞吐量要求也越来越高。吞吐量主要指的是,与云计算服务器、大数据服务器适配的网络设备的带宽。目前主流应用中,主要使用的是X86架构的服务器,而与X86架构的服务器适配比较好的网络设备,一般都是使用intel的DPDK技术为网络接口卡提升吞吐量的。DPDK技术的应用非常灵活,往往不同的业务模式需要搭配不同的DPDK收发包模型,才能使整体性能达到最优。
在实际应用中,业务需求是千变万化的,所以对应的业务模型也是多种多样的,那么能使整体业务达到最优化的DPDK应用模型也就是因业务类型而异的。而当前,在使用DPDK技术的时候,往往存在以下不方便的地方:1)业务类型有调整的时候,要重新编写底层DPDK收发包框架代码,所以一套应用程序在为了适配多种业务场景的时候,可能会存在很多套DPDK收发包代码。2)业务模型一旦选定,那么设备在生存周期内,底层DPDK模型也是不变的,有的时候就会导致业务模型有变化的时候,DPDK模型不适配的问题,从而引起设备资源分配的不均匀,比如有的CPU闲置,有的CPU占用率很高等问题。鉴于此,我们提出一种基于DPDK的流量模型自动变换装置。
发明内容
本发明的目的在于提供一种基于DPDK的流量模型自动变换装置,以解决上述背景技术中提出的业务类型有调整的时候,要重新编写底层DPDK收发包框架代码和业务模型有变化的时候,DPDK模型不适配,从而引起设备资源分配的不均匀的问题。
为实现上述目的,一方面,本发明提供一种基于DPDK的流量模型自动变换装置,包括DPDK流量模型变换系统,所述DPDK流量模型变换系统包括配置修改DPDK模型系统和动态修改DPDK模型系统,所述配置修改DPDK模型系统包括编写配置文件模块、读取配置文件模块、初始化DPDK流量模型模块和处理网络报文模块;
所述编写配置文件模块用于编写文件配置参数;
所述读取配置文件模块用于按照编写的配置文件进行读取;
所述初始化DPDK流量模型模块用于按照配置文件初始化DPDK流量模型;
所述处理网络报文模块用于按照不同DPDK流量模型处理网络报文。
作为优选,所述编写配置文件模块包括DPDK环境抽象参数模块和DPDK流量模型主类型模块,所述DPDK流量模型主类型模块包括DPDK流量模型单进程子类型模块和DPDK流量模型多进程子类型模块;
所述DPDK环境抽象参数模块用于配置DPDK环境抽象层参数;
所述DPDK流量模型主类型模块用于建立DPDK流量模型;
所述DPDK流量模型单进程子类型模块用于建立基础模型、收发包与业务分离模型以及各个模型相关的mempool配置参数;
所述DPDK流量模型多进程子类型模块用于建立对等模型、server-client模型、独立模型以及各个模型相关的mempool配置参数。
作为优选,所述读取配置文件模块包括关键字读取模块、值读取模块、值保存模块和终止模块;
所述关键字读取模块用于按行读取配置文件中的关键字;
所述值读取模块用于读取关键字之后在“=”号后面读取“值”;
所述值保存模块用于保存值读取模块读取的值;
所述终止模块用于读到配置文件尾部结束读取程序。
作为优选,所述初始化DPDK流量模型模块包括读取DPDK环境参数模块、初始化DPDK环境参数模块、配置DPDK流量模型模块和启动线程模块;
所述读取DPDK环境参数模块用于读取到的DPDK环境抽象层参数,以字符串的方式追个添加到argv参数中,并记录argc值;
所述初始化DPDK环境参数模块用于对读取到的DPDK环境抽象层参数调用DPDK接口初始化DPDK环境抽象层;
所述配置DPDK流量模型模块用于对编写配置文件模块配置的DPDK流量模型及各种配置参数,调用DPDK接口初始化mempool、port、ring等设置;
所述启动线程模块用于按照配置信息启动各种功能线程,循环等待收包、处理、发送操作。
作为优选,所述处理网络报文模块包括单进程子类型处理模块和多进程子类型处理模块,所述单进程子类型处理模块包括基础模型模块、收发包与业务分离模型模块;
所述基础模型模块用于将接受到的报文直接在线程内做处理,处理完在该进程内直接发送给指定端口的指定tx队列;
所述收发包与业务分离模型模块用于将处理过的、需要发送出去的报文放入发包缓存ring中,最后收发包线程从发包缓存ring中获取报文,发送到相应port的相应tx队列中。
作为优选,所述多进程子类型处理模块包括对等模型模块、server-client模型模块和独立模型模块;
所述对等模型模块包括用于照配置文件中单个进程的配置参数,启动承载着特定应用程序的进程;
所述server-client模型模块用于按照配置文件中server进程的配置参数创建server进程,按照client进程个数创建收包缓存ring,按照配置文件中client进程配置参数创建;
所述独立模型模块用于按照配置文件中指定的参数,启动承载着特定应用程序的进程。
作为优选,所述动态修改DPDK模型系统包括监看配置文件模块和DPDK流量模型修改模块;
所述监看配置文件模块用于实时监看控制DPDK流量模型的配置文件;
所述DPDK流量模型修改模块用于按照获取到的配置信息对DPDK流量模型做修改。
另一方面,本发明还提供一种基于DPDK的流量模型自动变换装置的操作方法,通过上述配置修改DPDK模型系统对DPDK的流量模型进行变换,具体操作步骤如下:
S1、通过编写配置文件模块编写文件配置参数;
S2、通过读取配置文件模块按照编写的配置文件进行读取;
S3、通过初始化DPDK流量模型模块按照配置文件初始化DPDK流量模型;
S4、通过处理网络报文模块按照不同DPDK流量模型处理网络报文。
另一方面,本发明还一种基于DPDK的流量模型自动变换装置的操作方法,通过上述动态修改DPDK模型系统对DPDK的流量模型进行变换,具体操作步骤如下:
S1、启动一个监管线程,定时读取配置文件中流量模型类型选项信息,时间间隔可配置;
S2、将第步骤S1中读取的“流量模型类型选项信息”与系统中的信息做比较;
S3、对步骤S2中的对比结果进行处理,如果相同则不做处理;如果不相同则依次进行暂停收发包端口、重新读取配置信息,保存在系统的运行数据区中,并使之生效和重新启动收发包端口的处理。
与现有技术相比,本发明的有益效果:
1、该基于DPDK的流量模型自动变换装置,将DPDK模型应用从业务流程中分离出来,实现业务处理与流量转发模型解耦;通过不断丰富DPDK流量模型,可以适配越来越多的具体业务;通过修改配置文件,而不是代码的方式就可以调整DPDK流量模型及各种参数,来适配业务性能。
2、该基于DPDK的流量模型自动变换装置,能够在系统运行的情况下更改流量模型;可以很方便的与大数据平台相结合,通过流量分析动态调节DPDK模型,来适配不同应用场景。
附图说明
图1为本发明的DPDK流量模型变换系统整体模块图;
图2为本发明的配置修改DPDK模型系统图;
图3为本发明的编写配置文件模块图;
图4为本发明的读取配置文件模块图;
图5为本发明的初始化DPDK流量模型模块图;
图6为本发明的处理网络报文模块图;
图7为本发明的动态修改DPDK模型系统图;
图8为本发明的单进程子类型,基础模型,报文走向示意图;
图9为本发明的单进程子类型,收发包与业务分离模型,报文走向示意图;
图10为本发明的多进程子类型,对等模型,报文走向示意图;
图11为本发明的多进程子类型,server-client模型,报文走向示意图;
图12为本发明的多进程子类型,独立模型,报文走向示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
实施例1
一方面,如图1和图2所示,本发明提供一种基于DPDK的流量模型自动变换装置,包括DPDK流量模型变换系统,DPDK流量模型变换系统包括配置修改DPDK模型系统和动态修改DPDK模型系统,配置修改DPDK模型系统包括编写配置文件模块、读取配置文件模块、初始化DPDK流量模型模块和处理网络报文模块,编写配置文件模块用于编写文件配置参数,读取配置文件模块用于按照编写的配置文件进行读取,初始化DPDK流量模型模块用于按照配置文件初始化DPDK流量模型,处理网络报文模块用于按照不同DPDK流量模型处理网络报文。
本实施例中的配置修改DPDK模型系统使用时,通过编写配置文件模块编写文件配置参数,通过编写配置文件模块编写文件配置参数,通过读取配置文件模块按照编写的配置文件进行读取,通过初始化DPDK流量模型模块按照配置文件初始化DPDK流量模型,通过处理网络报文模块按照不同DPDK流量模型处理网络报文。
实施例2
作为本发明的第二种实施例,为了对配置文件进行编写,本发明人员对编写配置文件模块作出改进,作为一种优选实施例,如图3所示,编写配置文件模块包括DPDK环境抽象参数模块和DPDK流量模型主类型模块,DPDK流量模型主类型模块包括DPDK流量模型单进程子类型模块和DPDK流量模型多进程子类型模块,DPDK环境抽象参数模块用于配置DPDK环境抽象层参数,DPDK流量模型主类型模块用于建立DPDK流量模型,DPDK流量模型单进程子类型模块用于建立基础模型、收发包与业务分离模型以及各个模型相关的mempool配置参数,DPDK流量模型多进程子类型模块用于建立对等模型、server-client模型、独立模型以及各个模型相关的mempool配置参数。
本实施例中,DPDK环境抽象参数模块中的参数包括--lcores,--proc-type,-n,--file-prefix,-m等。
进一步的,DPDK流量模型单进程子类型模块包括基础模型、收发包与业务分离模型以及各个模型相关的mempool配置参数、port选择和配置参数、ring配置参数、线程个数等。
具体的,DPDK流量模型多进程子类型模块包括对等模型、server-client模型、独立模型以及各个模型相关的mempool配置参数、port选择和配置参数、ring配置参数、各个进程中线程个数等。
本实施例中的编写配置文件模块在使用时,通过DPDK环境抽象参数模块配置DPDK环境抽象层参数,通过DPDK流量模型主类型模块建立DPDK流量模型,通过DPDK流量模型单进程子类型模块建立基础模型、收发包与业务分离模型以及各个模型相关的mempool配置参数,通过DPDK流量模型多进程子类型模块建立对等模型、server-client模型、独立模型以及各个模型相关的mempool配置参数。
实施例3
作为本发明的第三种实施例,为了便于读取配置文件,本发明人员对读取配置文件模块作出改进,作为一种优选实施例,如图4所示,读取配置文件模块包括关键字读取模块、值读取模块、值保存模块和终止模块,关键字读取模块用于按行读取配置文件中的关键字,值读取模块用于读取关键字之后在“=”号后面读取“值”,值保存模块用于保存值读取模块读取的值,终止模块用于读到配置文件尾部结束读取程序。
本实施例中读取配置文件模块的实现方法为:配置文件以普通文本文件格式编写,格式为:关键字=值,以行位单位填写。读取配置文件时,先按行读取关键字,读到关键字之后在“=”号后面读取“值”,并将读到的值保存下来,直到读到文件尾部结束。
实施例4
作为本发明的第四种实施例,为了便于对DPDK流量模型进行初始化,本发明人员对初始化DPDK流量模型模块作出改进,作为一种优选实施例,如图5所示,初始化DPDK流量模型模块包括读取DPDK环境参数模块、初始化DPDK环境参数模块、配置DPDK流量模型模块和启动线程模块,读取DPDK环境参数模块用于读取到的DPDK环境抽象层参数,以字符串的方式追个添加到argv参数中,并记录argc值,初始化DPDK环境参数模块用于对读取到的DPDK环境抽象层参数调用DPDK接口初始化DPDK环境抽象层,配置DPDK流量模型模块用于对编写配置文件模块配置的DPDK流量模型及各种配置参数,调用DPDK接口初始化mempool、port、ring等设置,启动线程模块用于按照配置信息启动各种功能线程,循环等待收包、处理、发送操作。
本实施例中始化DPDK流量模型模块实现步骤如下:
1)、读取配置文件模块中读取到的DPDK环境抽象层参数,以字符串的方式追个添加到argv参数中,并记录argc值,然后调用DPDK接口初始化DPDK环境抽象层;
2)、编写配置文件模块的配置的DPDK流量模型及各种配置参数,调用DPDK接口初始化mempool、port、ring等设置;
3)、按照配置信息启动各种功能线程,循环等待收包、处理、发送操作。
实施例5
作为本发明的第五种实施例,为了便于处理网络报文,本发明人员对单进程子类型处理模块作出改进,作为一种优选实施例,如图6所示,处理网络报文模块包括单进程子类型处理模块和多进程子类型处理模块,单进程子类型处理模块包括基础模型模块、收发包与业务分离模型模块,基础模型模块用于将接受到的报文直接在线程内做处理,处理完在该进程内直接发送给指定端口的指定tx队列,收发包与业务分离模型模块用于将处理过的、需要发送出去的报文放入发包缓存ring中,最后收发包线程从发包缓存ring中获取报文,发送到相应port的相应tx队列中。
本实施例中,基础模型模块的特点为:最简单的DPDK流量模型,每个port的每个rx队列对应一个线程,该线程负责收包、处理、发包全套流程,不做业务区分,所有线程完全一样。
进一步的,基础模型模块的实现方法如下:按照配置文件中,port的rx队列数创建线程,线程号与port的rx队列号一一对应,每个线程负责从相应的rx队列上接收报文,将接受到的报文直接在该线程内做处理,处理完在该进程内直接发送给指定端口的指定tx队列。基础模型模块走向示意图如图8所示。
本实施例中,收发包与业务分离模型模块的特点如下:可以通过调节收发包线程与业务处理线程的比例,更好的实现负载均衡的作用。
进一步的,收发包与业务分离模型模块的实现方法如下:首先,按照配置文件中配置的收发包线程个数创建收发包线程,按照配置文件中配置的包处理线程个数创建包处理线程,然后,所有port及port的rx队列与收发包处理线程的对应关系,按照配置的策略指定,收发包线程将收到的报文,存放到对应的收包缓存ring中,然后包处理线程从收包缓存ring中获取报文做处理,将处理过的、需要发送出去的报文放入发包缓存ring中,最后收发包线程从发包缓存ring中获取报文,发送到相应port的相应tx队列中。收发包与业务分离模型模块走向示意图如图9所示。
实施例6
作为本发明的第五种实施例,为了便于处理网络报文,本发明人员对多进程子类型处理模块作出改进,作为一种优选实施例,如图6所示,多进程子类型处理模块包括对等模型模块、server-client模型模块和独立模型模块,对等模型模块包括用于照配置文件中单个进程的配置参数,启动承载着特定应用程序的进程,server-client模型模块用于按照配置文件中server进程的配置参数创建server进程,按照client进程个数创建收包缓存ring,按照配置文件中client进程配置参数创建,独立模型模块用于按照配置文件中指定的参数,启动承载着特定应用程序的进程。
本实施例中,对等模型模块的特点为:配置文件中只有对单个的进程的各项启动参数的配置,所有进程的启动参数都是一样的,且所有进程启动后的作用是对等的,如果有哪个进程挂起了,不影响其他进程正常运行。
进一步的,对等模型模块的实现方法为:首先,DPDK环境抽象层的参数“--proc-type”的值为“auto”。然后,按照配置文件中单个进程的配置参数,启动承载着特定应用程序的进程。最后,按照配置文件中事先指定的,可以启动几个对等进程,这些进程使用的是哪些逻辑核等参数,启动多个对等进程。对等模型模块走向图示意图如图10所示。
本实施例中,server-client模型模块特点如下:当进程不对等,有类似于server,client服务机制的时候使用此模型,本模型中,会建立一个server进程,和多个client进程,其中多个client进程的功能是一样的。
进一步的,erver-client模型模块实现方式为:首先,按照配置文件中server进程的配置参数创建server进程,按照client进程个数创建收包缓存ring,按照配置文件中client进程配置参数创建,然后,server进程负责从所有接口收包,并将收到的报文按照配置规则分发到不同的收包缓存ring中,最后,client进程从按照策略对应的收包缓存ring中获取报文做处理,处理完按照业务需要,或发送到指定端口、或丢弃。erver-client模型模块走向示意图如图11所示。
本实施例中,独立模型模块的特点为:各个进程间独占资源,使用不同的巨业区域、不同的port收发包。
进一步的,独立模型模块的实现方式为:首先,DPDK环境抽象层的参数“--file-prefix”需要指定不同的临时文件路径,然后,按照配置文件中指定的参数,启动承载着特定应用程序的进程。一般来说,不同的应用程序使用的DPDK进程框架是一样的,但是这些不同进程的功能是不一样的,需要按照业务需要来划分。独立模型模块的走向示意图如图12所示。
实施例7
作为本发明的第七种实施例,为了实现动态修改DPDK模型,本发明人员设置动态修改DPDK模型系统,作为一种优选实施例,如图7所示,动态修改DPDK模型系统包括监看配置文件模块和DPDK流量模型修改模块,监看配置文件模块用于实时监看控制DPDK流量模型的配置文件,DPDK流量模型修改模块用于按照获取到的配置信息对DPDK流量模型做修改。
本实施例中,监看配置文件模块实现方法为:启动一个监管线程,定时读取配置文件中流量模型类型选项信息,时间间隔可配置。
进一步的,DPDK流量模型修改模块实现方法为:将监看配置文件模块读取的“流量模型类型选项信息”与系统中的信息做比较,如果相同则不做处理,如果不同则做如下处理:
1)、暂停收发包端口;
2)重新读取配置信息,保存在系统的运行数据区中,并使之生效;
3)重新启动收发包端口。
另一方面,本发明还提供一种基于DPDK的流量模型自动变换装置的操作方法,通过上述配置修改DPDK模型系统对DPDK的流量模型进行变换,具体操作步骤如下:
S1、通过编写配置文件模块编写文件配置参数;
S2、通过读取配置文件模块按照编写的配置文件进行读取;
S3、通过初始化DPDK流量模型模块按照配置文件初始化DPDK流量模型;
S4、通过处理网络报文模块按照不同DPDK流量模型处理网络报文。
另一方面,本发明还一种基于DPDK的流量模型自动变换装置的操作方法,通过上述动态修改DPDK模型系统对DPDK的流量模型进行变换,具体操作步骤如下:
S1、启动一个监管线程,定时读取配置文件中流量模型类型选项信息,时间间隔可配置;
S2、将第步骤S1中读取的“流量模型类型选项信息”与系统中的信息做比较;
S3、对步骤S2中的对比结果进行处理,如果相同则不做处理;如果不相同则依次进行暂停收发包端口、重新读取配置信息,保存在系统的运行数据区中,并使之生效和重新启动收发包端口的处理。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (9)

1.一种基于DPDK的流量模型自动变换装置,包括DPDK流量模型变换系统,其特征在于:所述DPDK流量模型变换系统包括配置修改DPDK模型系统和动态修改DPDK模型系统,所述配置修改DPDK模型系统包括编写配置文件模块、读取配置文件模块、初始化DPDK流量模型模块和处理网络报文模块;
所述编写配置文件模块用于编写文件配置参数;
所述读取配置文件模块用于按照编写的配置文件进行读取;
所述初始化DPDK流量模型模块用于按照配置文件初始化DPDK流量模型;
所述处理网络报文模块用于按照不同DPDK流量模型处理网络报文。
2.根据权利要求1所述的基于DPDK的流量模型自动变换装置,其特征在于:所述编写配置文件模块包括DPDK环境抽象参数模块和DPDK流量模型主类型模块,所述DPDK流量模型主类型模块包括DPDK流量模型单进程子类型模块和DPDK流量模型多进程子类型模块;
所述DPDK环境抽象参数模块用于配置DPDK环境抽象层参数;
所述DPDK流量模型主类型模块用于建立DPDK流量模型;
所述DPDK流量模型单进程子类型模块用于建立基础模型、收发包与业务分离模型以及各个模型相关的mempool配置参数;
所述DPDK流量模型多进程子类型模块用于建立对等模型、server-client模型、独立模型以及各个模型相关的mempool配置参数。
3.根据权利要求1所述的基于DPDK的流量模型自动变换装置,其特征在于:所述读取配置文件模块包括关键字读取模块、值读取模块、值保存模块和终止模块;
所述关键字读取模块用于按行读取配置文件中的关键字;
所述值读取模块用于读取关键字之后在“=”号后面读取“值”;
所述值保存模块用于保存值读取模块读取的值;
所述终止模块用于读到配置文件尾部结束读取程序。
4.根据权利要求1所述的基于DPDK的流量模型自动变换装置,其特征在于:所述初始化DPDK流量模型模块包括读取DPDK环境参数模块、初始化DPDK环境参数模块、配置DPDK流量模型模块和启动线程模块;
所述读取DPDK环境参数模块用于读取到的DPDK环境抽象层参数,以字符串的方式追个添加到argv参数中,并记录argc值;
所述初始化DPDK环境参数模块用于对读取到的DPDK环境抽象层参数调用DPDK接口初始化DPDK环境抽象层;
所述配置DPDK流量模型模块用于对编写配置文件模块配置的DPDK流量模型及各种配置参数,调用DPDK接口初始化mempool、port、ring等设置;
所述启动线程模块用于按照配置信息启动各种功能线程,循环等待收包、处理、发送操作。
5.根据权利要求1所述的基于DPDK的流量模型自动变换装置,其特征在于:所述处理网络报文模块包括单进程子类型处理模块和多进程子类型处理模块,所述单进程子类型处理模块包括基础模型模块、收发包与业务分离模型模块;
所述基础模型模块用于将接受到的报文直接在线程内做处理,处理完在该进程内直接发送给指定端口的指定tx队列;
所述收发包与业务分离模型模块用于将处理过的、需要发送出去的报文放入发包缓存ring中,最后收发包线程从发包缓存ring中获取报文,发送到相应port的相应tx队列中。
6.根据权利要求5所述的基于DPDK的流量模型自动变换装置,其特征在于:所述多进程子类型处理模块包括对等模型模块、server-client模型模块和独立模型模块;
所述对等模型模块包括用于照配置文件中单个进程的配置参数,启动承载着特定应用程序的进程;
所述server-client模型模块用于按照配置文件中server进程的配置参数创建server进程,按照client进程个数创建收包缓存ring,按照配置文件中client进程配置参数创建;
所述独立模型模块用于按照配置文件中指定的参数,启动承载着特定应用程序的进程。
7.根据权利要求1所述的基于DPDK的流量模型自动变换装置,其特征在于:所述动态修改DPDK模型系统包括监看配置文件模块和DPDK流量模型修改模块;
所述监看配置文件模块用于实时监看控制DPDK流量模型的配置文件;
所述DPDK流量模型修改模块用于按照获取到的配置信息对DPDK流量模型做修改。
8.一种基于DPDK的流量模型自动变换装置的操作方法,包括权利要求1-7中任意一项所述的基于DPDK的流量模型自动变换装置,其特征在于:通过所述配置修改DPDK模型系统对DPDK的流量模型进行变换,具体操作步骤如下:
S1、通过编写配置文件模块编写文件配置参数;
S2、通过读取配置文件模块按照编写的配置文件进行读取;
S3、通过初始化DPDK流量模型模块按照配置文件初始化DPDK流量模型;
S4、通过处理网络报文模块按照不同DPDK流量模型处理网络报文。
9.一种基于DPDK的流量模型自动变换装置的操作方法,包括权利要求7中所述的基于DPDK的流量模型自动变换装置,其特征在于:通过所述动态修改DPDK模型系统对DPDK的流量模型进行变换,具体操作步骤如下:
S1、启动一个监管线程,定时读取配置文件中流量模型类型选项信息,时间间隔可配置;
S2、将第步骤S1中读取的“流量模型类型选项信息”与系统中的信息做比较;
S3、对步骤S2中的对比结果进行处理,如果相同则不做处理;如果不相同则依次进行暂停收发包端口、重新读取配置信息,保存在系统的运行数据区中,并使之生效和重新启动收发包端口的处理。
CN201910145559.6A 2019-02-27 2019-02-27 一种基于dpdk的流量模型自动变换装置 Active CN109951532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910145559.6A CN109951532B (zh) 2019-02-27 2019-02-27 一种基于dpdk的流量模型自动变换装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910145559.6A CN109951532B (zh) 2019-02-27 2019-02-27 一种基于dpdk的流量模型自动变换装置

Publications (2)

Publication Number Publication Date
CN109951532A true CN109951532A (zh) 2019-06-28
CN109951532B CN109951532B (zh) 2021-09-24

Family

ID=67007007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910145559.6A Active CN109951532B (zh) 2019-02-27 2019-02-27 一种基于dpdk的流量模型自动变换装置

Country Status (1)

Country Link
CN (1) CN109951532B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768829A (zh) * 2019-10-23 2020-02-07 江苏省未来网络创新研究院 一种基于dpdk实现流量分析业务性能线性增长的方法
CN111190829A (zh) * 2019-12-31 2020-05-22 武汉中海庭数据技术有限公司 一种路口测试模型数据自动构建方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357151A (zh) * 2015-11-19 2016-02-24 成都科来软件有限公司 一种基于dpdk的抓包及镜像流量转发方法
US20170160954A1 (en) * 2015-12-02 2017-06-08 Macau University Of Science And Technology High-Efficient Packet I/O Engine for Commodity PC
WO2017117259A1 (en) * 2015-12-29 2017-07-06 Amazon Technologies, Inc. Networking technologies
CN108062269A (zh) * 2017-12-05 2018-05-22 上海交通大学 一种基于dpdk的计算资源弹性伸缩方法及系统
CN109271268A (zh) * 2018-09-04 2019-01-25 山东超越数控电子股份有限公司 一种基于dpdk的智能容错方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357151A (zh) * 2015-11-19 2016-02-24 成都科来软件有限公司 一种基于dpdk的抓包及镜像流量转发方法
US20170160954A1 (en) * 2015-12-02 2017-06-08 Macau University Of Science And Technology High-Efficient Packet I/O Engine for Commodity PC
WO2017117259A1 (en) * 2015-12-29 2017-07-06 Amazon Technologies, Inc. Networking technologies
CN108062269A (zh) * 2017-12-05 2018-05-22 上海交通大学 一种基于dpdk的计算资源弹性伸缩方法及系统
CN109271268A (zh) * 2018-09-04 2019-01-25 山东超越数控电子股份有限公司 一种基于dpdk的智能容错方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768829A (zh) * 2019-10-23 2020-02-07 江苏省未来网络创新研究院 一种基于dpdk实现流量分析业务性能线性增长的方法
WO2021077748A1 (zh) * 2019-10-23 2021-04-29 江苏省未来网络创新研究院 一种基于dpdk实现流量分析业务性能线性增长的方法
CN111190829A (zh) * 2019-12-31 2020-05-22 武汉中海庭数据技术有限公司 一种路口测试模型数据自动构建方法和装置
CN111190829B (zh) * 2019-12-31 2022-04-29 武汉中海庭数据技术有限公司 一种路口测试模型数据自动构建方法和装置

Also Published As

Publication number Publication date
CN109951532B (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN103870314B (zh) 一种单节点同时运行不同类型虚拟机的方法及系统
US9584430B2 (en) Traffic scheduling device
CN112866059B (zh) 一种基于人工智能应用的无损网络性能测试方法和装置
CN107526645B (zh) 一种通信优化方法及系统
CN110462591A (zh) 使用作业服务器在大规模分布式系统上训练机器学习模型
CN103092698B (zh) 云计算应用自动部署系统及方法
CN104954166B (zh) 一种基于硬件的网络仿真系统及仿真方法
CN110247954A (zh) 一种分布式任务的调度方法及系统
CN109857549A (zh) 基于负载均衡的图像数据处理方法、系统、设备及介质
CN107025139A (zh) 一种基于云计算的高性能计算调度框架
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
CN107046508A (zh) 报文接收方法及网络设备
EugeneNg Maestro: balancing fairness, latency and throughput in the OpenFlow control plane
CN109951532A (zh) 一种基于dpdk的流量模型自动变换装置
CN110059829A (zh) 一种异步参数服务器高效并行架构与方法
CN107025142A (zh) 一种线程间消息传递方法、装置及电子设备
CN107005454A (zh) 用于生成用于云基础结构元件的图模型的技术
CN107870763A (zh) 用于创建海量数据实时分拣系统的方法及其装置
CN111984505B (zh) 一种运维数据采集装置及采集方法
CN110233802A (zh) 一种构建一主链多侧链的区块链架构的方法
CN106250202B (zh) 一种云平台自动化开通虚拟机的装置及方法
CN105007311A (zh) 一种基于云平台和云计算的资源管理系统和方法
Li et al. Endpoint-flexible coflow scheduling across geo-distributed datacenters
CN109120454A (zh) 一种QoS流量限速系统及方法
CN109976873B (zh) 容器化分布式计算框架的调度方案获取方法及调度方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant