【技术实现步骤摘要】
CPU负载均衡的网卡流量二次分派方法、系统、设备及介质
[0001]本申请涉及计算机应用
,尤其是涉及一种CPU负载均衡的网卡流量二次分派方法、系统、设备及介质。
技术介绍
[0002]目前市面上主流网卡都是多队列网卡,多队列网卡有多个硬件收包队列,这样的网卡在接口收到数据包时,会使用自带的哈希算法把数据包均匀哈希到对应的硬件收包队列上。硬件收包队列与服务器的CPU进行绑定,通常是一个队列绑定一个CPU核,CPU核只处理和自己绑定的硬件收包队列上的数据包。
[0003]而网卡的硬件收包队列数在网卡生产的时候就已经确定了,这就可能存在硬件收包队列数比服务器CPU核数少的问题。按照一个队列绑定一个CPU核的原则,必然有CPU核是空闲的,无法做到CPU负载均衡,进而无法发挥CPU的最大处理能力。如果多个CPU核绑定同一个硬件收包队列,又会造成多核访问同一个队列的互斥问题。由于网卡是可以单独购买、安装的,很难保证网卡的收包队列数一定大于等于服务器的CPU核数,这在实际应用中是很常见的问题。
技术实现思路
>[0004]有鉴于本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种CPU负载均衡的网卡流量二次分派方法,其特征在于,所述方法包括:获取目标CPU核数和目标网卡的硬件收包队列个数;判断所述目标CPU核数是否大于目标网卡的硬件收包队列个数,若是,则创建与所述目标CPU核数对应的若干软件收包队列,并将所述若干软件收包队列和所有目标CPU核进行一对一绑定;通过目标网卡实时接收目标数据包,获取所述目标数据包的目标五元组信息,并通过预设的五元组数据库查询匹配待接收的软件收包队列,若匹配成功,则将目标数据包分派至所述匹配成功的软件收包队列。2.根据权利要求1所述的CPU负载均衡的网卡流量二次分派方法,其特征在于,所述五元组数据库采用哈希表,并存储有若干流量会话的五元组记录,每个所述五元组记录包括历史数据包的五元组信息和对应映射的历史软件收包队列编号,以及最新数据存储时间。3.根据权利要求1所述的CPU负载均衡的网卡流量二次分派方法,其特征在于,所述创建的若干软件收包队列按照从小到大顺序编号;则通过预设的五元组数据库查询匹配待接收的软件收包队列之后,所述方法还包括:若匹配失败,则获取上一个相邻数据包所对应接收的软件收包队列编号k,并判断编号k是否为软件收包队列最大编号,若是,则将目标数据包分派至最小编号的软件收包队列;若否,则将目标数据包分派至编号为k+1的软件收包队列,其中k大于等于0,且为整数。4.根据权利要求3所述的CPU负载均衡的网卡流量二次分派方法,其特征在于,所述五元组数据库采用哈希表;在所述将目标数据包分派至最小编号的软件收包队列或所述将目标数据包分派至编号为k+1的软件收包队列之时,所述方法还包括:利用哈希算法,将目标数据包的目标五元组信息和对应确定的软件收包队列编号作为新增的五元组记录存储于所述哈希表,并记录新增五元组记录的当前数据存储时间。5.根据权利要求2或4所述的CPU负载均衡的网卡流量二次分派方法,其特征在于,所述方法还包括:利用预设的秒级定时器,遍历所述五元组数据库中的每个五元组记录,并判断每个五元...
【专利技术属性】
技术研发人员:郑文军,
申请(专利权)人:武汉思普崚技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。