System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于DPDK和多网卡的网络负载均衡控制方法及装置制造方法及图纸_技高网

基于DPDK和多网卡的网络负载均衡控制方法及装置制造方法及图纸

技术编号:40436056 阅读:4 留言:0更新日期:2024-02-22 23:00
本申请提供了一种基于DPDK和多网卡的网络负载均衡控制方法及装置,其中,该方法包括:基于DPDK,确定每个网卡的待接收数据包和待发送数据包;基于异或算法,确定多网卡的数据包的接收队列和发送队列;根据每个网卡的数据包的接收队列和数据包发送队列,对控制每个网卡对数据包的接收和发送。本申请DPDK和多网卡设置,经异或算法对接收和发送队列的控制,解决现有技术中存在的仅通过提高设备或者技术自身的可靠性很难满足系统整体的可靠性的问题,达到数据包处理性能优化,增加数据处理的安全性和高效性,同时减小开销,节省网卡切换时间的效果。

【技术实现步骤摘要】

本申请涉及数据处理,具体而言,涉及基于dpdk和多网卡的网络负载均衡控制方法及装置。


技术介绍

1、目前,随着网络技术以及计算机技术的高速发展,计算机网络已经深入到政府、金融、工业生产等各个行业。在面对网络中的流量和用户以几何级数增多的情况下,仍然要为用户提供快捷、可靠以及功能需求更为丰富的网络应用,这意味着网络服务需要具有很高的可伸缩性。

2、当前各个网络通信设备与技术都已经发展到了比较成熟的阶段,仅通过提高设备或者技术自身的可靠性很难满足系统整体的可靠性。


技术实现思路

1、有鉴于此,本申请的目的在于提供一种基于dpdk和多网卡的网络负载均衡控制方法及装置,能够通过dpdk和多网卡设置,经异或算法对接收和发送队列的控制,解决现有技术中存在的仅通过提高设备或者技术自身的可靠性很难满足系统整体的可靠性的问题,达到数据包处理性能优化,增加数据处理的安全性和高效性,同时减小开销,节省网卡切换时间的效果。

2、第一方面,本申请实施例提供了一种基于dpdk和多网卡的网络负载均衡控制方法,所述方法包括:基于dpdk,确定每个网卡的待接收数据包和待发送数据包;基于异或算法,确定多网卡的数据包的接收队列和发送队列;根据每个网卡的数据包的接收队列和数据包发送队列,对控制每个网卡对数据包的接收和发送。

3、可选地,所述方法还包括:针对待接收队列中带有可用描述符的每个待接收数据包,确定带有可用描述符的每个待接收数据包的第一目标地址;在存储器中确定第二目标地址,并将所述第一目标地址指向第二目标地址,并将所述可用描述符修改为不可用描述符;将第一目标地址发送至目标用户,以使目标用户访问待接收数据包中的数据。

4、可选地,基于异或算法,确定多网卡的数据包的接收队列的步骤包括:根据多网卡的数量和接收队列中的数据包的数量,确定每个网卡的待接收数据包的数量;根据每个网卡的待接收数据包的数量,将接收队列中的数据包对应的接收任务,分配给目标网卡;所述目标网卡根据接收队列中的数据包对应的接收任务和接收任务对应的数据包在接收队列中的位置,接收数据包。

5、可选地,基于异或算法,确定多个网卡的数据包的发送队列的步骤包括:根据多网卡的数量和发送队列中的数据包的数量,确定每个网卡的待发送数据包的数量;根据每个网卡的待发送数据包的数量,将发送队列中的数据包对应的发送任务,分配给目标网卡;所述目标网卡根据发送队列中的数据包对应的发送任务和发送任务对应的数据包在发送队列中的位置,发送数据包。

6、可选地,通过以下方式控制每个网卡对数据包的接收:控制dpdk按照预定时间间隔对轮询报文到达标志位;判断是否有待接收数据包对应的报文需要进行处理;针对需要进行处理的待接收数据包,建立多个线程并将每个线程与指定的单独核心进行绑定,以在一次访问中接收多个待接收数据包。

7、可选地,通过以下方式控制每个网卡对数据包的发送:控制dpdk按照预定时间间隔对轮询报文发送标志位;判断是否有待发送数据包对应的报文需要进行处理;针对需要进行处理的待接收数据包,建立多个线程并将每个线程与指定的单独核心进行绑定,以在一次访问中发送多个待接收数据包。

8、可选地,通过以下方式确定发送数据包的顺序:dpdk将待发送数据包发送到发包队列中;通过存储器将每个网卡队列中的待发送数据包拷贝至该网卡中;控制dpdk通过处理器对报文进行保序,并通过网卡发送所述待发送数据包。

9、第二方面,本申请实施例还提供了一种基于dpdk和多网卡的网络负载均衡控制装置,所述装置包括:

10、数据包确定模块,用于基于dpdk,确定每个网卡的待接收数据包和待发送数据包;

11、队列确定模块,用于基于异或算法,确定多网卡的数据包的接收队列和发送队列;

12、数据包接收发送模块,用于根据每个网卡的数据包的接收队列和数据包发送队列,对控制每个网卡对数据包的接收和发送。

13、第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的基于dpdk和多网卡的网络负载均衡控制方法的步骤。

14、第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的基于dpdk和多网卡的网络负载均衡控制方法的步骤。

15、本申请实施例提供的基于dpdk和多网卡的网络负载均衡控制方法及装置,能够通过dpdk和多网卡设置,经异或算法对接收和发送队列的控制,解决现有技术中存在的仅通过提高设备或者技术自身的可靠性很难满足系统整体的可靠性的问题,达到数据包处理性能优化,增加数据处理的安全性和高效性,同时减小开销,节省网卡切换时间的效果。

16、为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

本文档来自技高网...

【技术保护点】

1.一种基于DPDK和多网卡的网络负载均衡控制方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,基于异或算法,确定多网卡的数据包的接收队列的步骤包括:

4.根据权利要求1所述的方法,其特征在于,基于异或算法,确定多个网卡的数据包的发送队列的步骤包括:

5.根据权利要求1所述的方法,其特征在于,通过以下方式控制每个网卡对数据包的接收:

6.根据权利要求1所述的方法,其特征在于,通过以下方式控制每个网卡对数据包的发送:

7.根据权利要求6所述的方法,其特征在于,通过以下方式确定发送数据包的顺序:

8.一种基于DPDK和多网卡的网络负载均衡控制装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一所述方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述方法的步骤。

...

【技术特征摘要】

1.一种基于dpdk和多网卡的网络负载均衡控制方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,基于异或算法,确定多网卡的数据包的接收队列的步骤包括:

4.根据权利要求1所述的方法,其特征在于,基于异或算法,确定多个网卡的数据包的发送队列的步骤包括:

5.根据权利要求1所述的方法,其特征在于,通过以下方式控制每个网卡对数据包的接收:

6.根据权利要求1所述的方法,其特征在于,通过以下方式控制每个网卡对数据包的发送:

7....

【专利技术属性】
技术研发人员:杜宝华付迪徐文陈映泽雷宇顾玲熊为宏
申请(专利权)人:中电超云南京科技有限公司
类型:发明
国别省市:

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

1