用户态协议栈报文处理优化方法、系统、装置及存储介质制造方法及图纸

技术编号:30304887 阅读:10 留言:0更新日期:2021-10-09 22:40
本申请涉及计算机技术领域,公开了用户态协议栈报文处理优化方法、系统、装置及存储介质,其中方法包括:初始化DPDK运行环境,在DPDK中配置所述RSS,所述RSS用于在所述DPDK获取到网络数据报文时将DPDK所接收的网络数据报文分发到对应的多个CPU;对分发到CPU的网络数据报文进行矢量化的报文分组处理,得到多个数组;当CPU上的数组的数量达到预设数量阈值时,将所述CPU上的数组统一发送到所述用户态协议栈。本发明专利技术能够结合RSS和矢量化报文处理技术,改进网络数据报文在用户态协议栈中的传递方式,从而解决现有用户态协议栈报文处理效率较为低下的问题。为低下的问题。为低下的问题。

【技术实现步骤摘要】
用户态协议栈报文处理优化方法、系统、装置及存储介质


[0001]本申请涉及计算机
,尤其涉及用户态协议栈报文处理优化方法、系统、装置及存储介质。

技术介绍

[0002]伴随着云计算、人工智能等技术发展日渐成熟,各领域的处理系统对于服务的性能需求越来越高,而目前高性能处理系统最需要提升的性能是网络数据报文处理性能。
[0003]VPP是一款高性能网络数据报文处理框架,其中VPP采用矢量化的报文分组处理方式,能够大幅度提升报文处理效率。对于收到若干个网络数据包,如果有A、B、C三个处理流程,传统的处理模式是依次对报文逐个进行处理,一个流程将这个报文处理完毕后,再将其交由下一个流程,这种处理形式称为标量化报文处理流程。如果在处理报文时,每一个流程一次处理若干个报文(所谓Packet Vector),然后再交由下一个流程进行处理,这种处理形式称为矢量化报文处理流程。
[0004]在现有的用户态协议栈报文处理流程中,网卡、处理器和内存等都对数据报文处理的性能有所影响。目前用户态协议栈对于数据报文的处理方式如同该标量化报文处理方式,一般是一次处理一个数据包,当网络接口捕获单个数据报文时申请中断,接着经过一组函数路径进行处理。当数据报文需要经过函数处理的路径长度超过微处理器指令的高速缓存(I

cache)大小时,微处理器会因为不断地加载新指令而发生抖动,使得用户态协议栈报文处理效率较为低下。

技术实现思路

[0005]本申请实施例的目的在于,提供一种用户态协议栈报文处理优化方法、系统、装置及存储介质,能够结合RSS和矢量化报文处理技术,改进网络数据报文在用户态协议栈中的传递方式,从而解决现有用户态协议栈报文处理效率较为低下的问题。
[0006]为达到上述目的,本专利技术采用如下技术方案:
[0007]本专利技术第一方面提供了用户态协议栈报文处理优化方法,所述方法包括:
[0008]初始化DPDK运行环境,在DPDK中配置所述RSS,所述RSS用于在所述DPDK获取到网络数据报文时将DPDK所接收的网络数据报文分发到对应的多个CPU;
[0009]对分发到CPU的网络数据报文进行矢量化的报文分组处理,得到多个数组;
[0010]当CPU上的数组的数量达到预设数量阈值时,将所述CPU上的数组统一发送到所述用户态协议栈。
[0011]根据本专利技术第一方面的一种能够实现的方式,所述对分发到CPU的网络数据报文进行矢量化的报文分组处理,包括:
[0012]将分发到CPU的网络数据报文放入新开辟的数组空间;
[0013]待一数组空间存满网络数据报文后,将剩余的网络数据报文放入下一数组空间,直至分发到CPU的网络数据报文全部已放入完毕;其中每一放入网络数据报文的数组空间
对应一个数组。
[0014]根据本专利技术第一方面的一种能够实现的方式,所述对分发到CPU的网络数据报文进行矢量化的报文分组处理,还包括:
[0015]当分发到CPU的网络数据报文全部已放入完毕,且最后放入的数组空间仍未存满网络数据报文时开启计时,计算未有网络数据报文存入该最后放入的数组空间的持续时间,当所述持续时间达到持续时间阈值时,直接将该最后放入的数组空间中的网络数据报文作为一个数组。
[0016]根据本专利技术第一方面的一种能够实现的方式,所述方法还包括:
[0017]在执行用户态协议栈进程前,在所述用户态协议栈中添加启动参数,所述启动参数包括RSS的随机密钥K值;
[0018]启动用户态协议栈进程时,向网卡驱动下发所述随机密钥K值,从而所述RSS根据所述随机密钥K值将DPDK所接收的网络数据报文分发到对应的多个CPU。
[0019]根据本专利技术第一方面的一种能够实现的方式,所述启动参数对应的配置文件包括预置的非对称随机密钥值和对称随机密钥值,所述随机密钥K值初始时为所述非对称随机密钥值,所述方法还包括:
[0020]接收到需要达到同流同向的报文分发请求时,将所述随机密钥K值修改为所述对称随机密钥值。
[0021]本专利技术第二方面提供了用户态协议栈报文处理优化系统,所述系统包括:
[0022]初始化模块,用于初始化DPDK运行环境,在DPDK中配置所述RSS,所述RSS用于在所述DPDK获取到网络数据报文时将DPDK所接收的网络数据报文分发到对应的多个CPU;
[0023]报文分组处理模块,用于对分发到CPU的网络数据报文进行矢量化的报文分组处理,得到多个数组;
[0024]发送模块,用于当CPU上的数组的数量达到预设数量阈值时,将所述CPU上的数组统一发送到所述用户态协议栈。
[0025]根据本专利技术第二方面的一种能够实现的方式,所述报文分组处理模块具体用于:
[0026]将分发到CPU的网络数据报文放入新开辟的数组空间;
[0027]待一数组空间存满网络数据报文后,将剩余的网络数据报文放入下一数组空间,直至分发到CPU的网络数据报文全部已放入完毕;其中每一放入网络数据报文的数组空间对应一个数组。
[0028]根据本专利技术第二方面的一种能够实现的方式,所述报文分组处理模块还具体用于:
[0029]当分发到CPU的网络数据报文全部已放入完毕,且最后放入的数组空间仍未存满网络数据报文时开启计时,计算未有网络数据报文存入该最后放入的数组空间的持续时间,当所述持续时间达到持续时间阈值时,直接将该最后放入的数组空间中的网络数据报文作为一个数组。
[0030]根据本专利技术第二方面的一种能够实现的方式,所述系统还包括:
[0031]添加模块,用于在执行用户态协议栈进程前,在所述用户态协议栈中添加启动参数,所述启动参数包括RSS的随机密钥K值;
[0032]参数下发模块,用于启动用户态协议栈进程时,向网卡驱动下发所述随机密钥K
值,从而所述RSS根据所述随机密钥K值将DPDK所接收的网络数据报文分发到对应的多个CPU。
[0033]根据本专利技术第二方面的一种能够实现的方式,所述启动参数对应的配置文件包括预置的非对称随机密钥值和对称随机密钥值,所述随机密钥K值初始时为所述非对称随机密钥值,所述系统还包括:
[0034]修改模块,用于在接收到需要达到同流同向的报文分发请求时,将所述随机密钥K值修改为所述对称随机密钥值。
[0035]本专利技术第三方面实施例提供了一种用户态协议栈报文处理优化装置,该装置包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项实施例所述的用户态协议栈报文处理优化方法。
[0036]本专利技术第四方面实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现如上述任一项实施例所述的用户态协议栈报文处理优化方法。
[0037]本专利技术能够结合RSS和矢量化报文处理技术,改进网络数据报文在用户态协本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.用户态协议栈报文处理优化方法,其特征在于,所述方法包括:初始化DPDK运行环境,在DPDK中配置所述RSS,所述RSS用于在所述DPDK获取到网络数据报文时将DPDK所接收的网络数据报文分发到对应的多个CPU;对分发到CPU的网络数据报文进行矢量化的报文分组处理,得到多个数组;当CPU上的数组的数量达到预设数量阈值时,将所述CPU上的数组统一发送到所述用户态协议栈。2.根据权利要求1所述的用户态协议栈报文处理优化方法,其特征在于,所述对分发到CPU的网络数据报文进行矢量化的报文分组处理,包括:将分发到CPU的网络数据报文放入新开辟的数组空间;待一数组空间存满网络数据报文后,将剩余的网络数据报文放入下一数组空间,直至分发到CPU的网络数据报文全部已放入完毕;其中每一放入网络数据报文的数组空间对应一个数组。3.根据权利要求2所述的用户态协议栈报文处理优化方法,其特征在于,所述对分发到CPU的网络数据报文进行矢量化的报文分组处理,还包括:当分发到CPU的网络数据报文全部已放入完毕,且最后放入的数组空间仍未存满网络数据报文时开启计时,计算未有网络数据报文存入该最后放入的数组空间的持续时间,当所述持续时间达到持续时间阈值时,直接将该最后放入的数组空间中的网络数据报文作为一个数组。4.根据权利要求1所述的用户态协议栈报文处理优化方法,其特征在于,所述方法还包括:在执行用户态协议栈进程前,在所述用户态协议栈中添加启动参数,所述启动参数包括RSS的随机密钥K值;启动用户态协议栈进程时,向网卡驱动下发所述随机密钥K值,从而所述RSS根据所述随机密钥K值将DPDK所接收的网络数据报文分发到对应的多个CPU。5.根据权利要求4所述的用户态协议栈报文处理优化方法,其特征在于,所述启动参数对应的配置文件包括预置的非对称随机密钥值和对称随机密钥值,所述随机密钥K值初始时为所述非对称随机密钥值,所述方法还包括:接收到需要达到同流同向的报文分发请求时,将所述随机密钥K值修改为所述对称随机密钥值。6.用户态协议栈报文处理优化系统,其特征在于,所述系统包括:初始化模块,用于初始化DPDK运行环境,在DPDK中配置所述RSS,所述RSS用于在所述DPDK获取到网络数据报文时将DPDK所接收的网络数据报文分发到对应的多个CPU;报文分组处理模块,用于...

【专利技术属性】
技术研发人员:刘亚萍李哲张硕
申请(专利权)人:派日科技广州有限公司
类型:发明
国别省市:

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

1