[发明专利]一种基于流水线转发模型的负载均衡方法及装置在审
申请号: | 202010853485.4 | 申请日: | 2020-08-24 |
公开(公告)号: | CN111984415A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 林飞;晏义威;易永波;毛华阳;刘俊;古元 | 申请(专利权)人: | 北京亚鸿世纪科技发展有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100095 北京市海淀区高里*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 流水线 转发 模型 负载 均衡 方法 装置 | ||
1.一种基于流水线转发模型的负载均衡装置,其特征在于由I/O收包逻辑引擎、对称哈希计算器、环形区缓存队列、第一个业务逻辑引擎至第N-1个业务逻辑引擎组成;环形区缓存队列由与CPU内核数量相同的先进先出的无锁队列组成;
I/O收包逻辑引擎由第一个CPU内核提供算力,使用对称RSS技术取第一网卡到第N网卡各个队列里的数据包,并对数据包进行解码,提取二元组信息,二元组信息包括:源IP地址、目的IP地址;
对称哈希计算器由第一个CPU内核提供算力,使用对称哈希算法对I/O收包逻辑引擎收取的数据包的二元组信息进行二次哈希计算,根据二次哈希计算的结果将与二次哈希计算的结果对应的数据包分配并存储于环形区缓存队列模块中的先进先出的无锁队列中;二次哈希计算的结果相同的数据包将分配到同一个先进先出的无锁队列中,二次哈希计算的结果不同的数据包将均匀分配给不同的先进先出的无锁队列存储;
二次哈希计算采用对称哈希算法,同时支持IPV4和IPV6双栈流量,该算法的伪代码如下所示:
function second_hash(ethe_type, data, hash_seed)
if ether_type == ETHER_TYPE_IPv4 then
struct ipv4_hdr *k data
sip_hash_value jhash_1word(k-src_addr, hash_seed)
dip_hash_value jhash_1word(k-dst_addr, hash_seed)
return sip_hash_value + dip_hash_value
else if ether_type == ETHER_TYPE_IPv6 then
struct ipv6_hdr *k data
sip_hash_value jhash(k-src_addr, IPV6_ADDR_LEN, hash_seed)
dip_hash_value jhash(k-dst_addr, IPV6_ADDR_LEN, hash_seed)
return sip_hash_value + dip_hash_value
end if
end function;
环形区缓存队列是由第一个CPU内核根据计算机全部CPU内核数量生成的与CPU内核数量相同的先进先出的无锁队列组成的存储空间;
第一个业务逻辑引擎由第二个CPU内核提供算力,第一个业务逻辑引擎所需执行的业务逻辑所涉及的数据包中的二元组信息进行二次哈希计算,可以用来定位第一个业务逻辑引擎所需数据包存储的先进先出的无锁队列,第一个业务逻辑引擎从其所需数据包所存储的先进先出的无锁队列中读取二次哈希计算值一致的数据;
第N-1个业务逻辑引擎由第N个CPU内核提供算力,第N-1个业务逻辑引擎所需执行的业务逻辑所涉及的数据包中的二元组信息进行二次哈希计算,可以用来定位第N-1个业务逻辑引擎所需数据包存储的先进先出的无锁队列,第N-1个业务逻辑引擎从其所需数据包所存储的先进先出的无锁队列中读取二次哈希计算值一致的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亚鸿世纪科技发展有限公司,未经北京亚鸿世纪科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010853485.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种饲料调质制粒机
- 下一篇:一种3-砜基喹啉类化合物的制备方法