[发明专利]基于RSS的网络会话分发方法及系统有效

专利信息
申请号: 201410851928.0 申请日: 2014-12-30
公开(公告)号: CN104580017B 公开(公告)日: 2018-04-06
发明(设计)人: 孙浩 申请(专利权)人: 东软集团股份有限公司
主分类号: H04L12/917 分类号: H04L12/917;H04L29/12
代理公司: 北京鸿元知识产权代理有限公司11327 代理人: 陈英俊
地址: 110179 辽*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 rss 网络 会话 分发 方法 系统
【权利要求书】:

1.一种基于RSS的网络会话分发方法,包括:在低会话高流量场景下,通过接收端调节RSS将各条网络会话均匀分配到网卡的cpu接收队列序号id上,以实现cpu资源的均衡利用;

其中,通过RSS将各条网络会话平均分配到各个id上的过程包括:

将所述RSS表示为:hash=f(s,k)和id=g(hash,t);

其中,s表示输入的网络数据,s=(ip1,ip2,port1,port2)=(s1,s2,……,s96),ip1表示32位的源IP,ip2表示32位的目的IP,port1表示16位的源端口,port2表示16位的目的端口;k表示320位的key,k=(k1,k2,……,k320);t表示长度为128的数组重定向表redirection table;

在低会话高流量场景下,求解获得所述RSS中的最优key值,使得各条网络会话平均分配到各个id上;

首先通过转换规则和r组合算法确定key值,然后对所确定的每一个key值进行方差计算,获取最优key值和最优分组结果;

根据获取的最优key值和最优分组结果,确定redirection table,使各条网络会话平均分配到各个id上,完成网络端口资源的分配;

其中,当key满足以16为周期时,

对于任意的s=(ip1,ip2,port1,port2)=(s1,s2,……,s96),取16比特的s0,使其满足s0=(s1,s2,……,s16)^(s17,s18,……,s32)^……^(s81,s82,……,s96),则f(s,k)=f(s0,k)(6);

对于k的任意分解k=k1^k2,均有

f(s,k)=f(s,k1)^f(s,k2) (10)

并且,记K为{ekj}1≤j≤320,表示320维向量空间的一组基底,当k中取1的比特位为(j1,j2,……,jd)时,则,

根据公式(11),任一s0在某一key下的hash值均可表示为其在key的各个基底下的异或运算;key以16为周期,将16维向量空间的16个基底做周期性扩展,形成16个320比特的新基底,记为:

{k1,k2,…,ki,…,k16},其中,ki=eki^eki+16^……^eki+16*19

假设共有n条网络会话,相对应的s0有m个,记为{s01,s02,……,s0m}m≤n,则计算每个s0在这16个基底下所对应的hash值,组成一个m*16维的哈希矩阵,记为:H={hi,j}1≤i≤m,1≤j≤16,其中,hi,j=f(s0i,kj);

对于一个特定的i,如果H的第i列均为同一个值,则将该列从H中删除,当a≠b时,则a^c≠b^c;

根据公式(10),所有网络会话所对应的hash值异或上一个相同的值,结果不变,故将哈希矩阵重新记为:H={hi,j}1≤i≤m,1≤j≤z,其中,重新设置的哈希矩阵的每一列上有不同元素,共有z列;

在通过转换规则和r组合生成算法确定key值,对所确定的每一个key值进行方差计算,获取最优key值的过程中,

通过转换规则和r组合生成算法确定key值的过程包括:

按照比特位1的数目从少到多转换;第一轮寻找16位周期中只有一个1的key,如k1,k2……,第二轮寻找16位周期中有两个1的key,如k1^k2,k1^k3,……,以此类推;

在每一轮中,按照特定的r组合生成算法确定key值;其中,

在第r轮中,1≤r≤z,对于r子集a1a2…ar,key定义为:k=ka1^ka2^…^kar;r子集从a1a2…ar=12…r开始,当a1a2…ar≠(n-r+1)(n-r+2)…n时,

确定最大的整数t,使得at+1≤n且at+1不是a1a2…ar中的一个;

用r子集a1…at-1(at+1)(at+2)…(at+r-t+1)替换a1a2…ar,进而生成新的key;

对所确定的每一个key值进行方差计算,获取最优key值的过程包括:

根据公式(10)和(11),获取当前确定的key所对应的m个hash值;

对获取的m个hash值排序;

遍历排序后的序列,确定每个hash值所对应的网络会话的数量,将所述数量记为{ti}1≤i≤m'≤m,其中,m’表示共有m’个互不相同的hash值;

将{ti}1≤i≤m'按从大到小的顺序排序;

以排好序的{ti}1≤i≤m'为基础对各个hash值进行分组,使各组内的hash值所对应的网络会话的数量之和接近均值;

对分组结果进行方差计算,作最优化判定;

其中,假设q个分组所对应的网络会话数目为{Qi}1≤i≤q,此分组的判定方差std为:

其中,如果std小于事先给定的容忍误差,则此key值作为最优值;

根据获取的最优key值确定redirection table,获取到最优key值在第i个分组,1≤i≤q-1,取出其记录的各个hash值,以这些hash值为下标,设定:t[hash]=i;将redirection table中未被设定的位置设置为0,输出redirection table。

2.一种基于RSS的网络会话分发系统,用于在低会话高流量场景下,通过接收端调节RSS将各条网络会话均匀分配到网卡的cpu接收队列序号id上,以实现cpu资源的均衡利用;

其中,所述系统包括:

公式转换单元,用于将所述RSS转化为数学公式;将所述RSS表示为:hash=f(s,k)和id=g(hash,t);

其中,s表示输入的网络数据,s=(ip1,ip2,port1,port2)=(s1,s2,……,s96),ip1表示32位的源IP,ip2表示32位的目的IP,port1表示16位的源端口,port2表示16位的目的端口;k表示320位的key,k=(k1,k2,……,k320);t表示长度为128的数组重定向表redirection table;

最优key值获取单元,用于在低会话高流量场景下,求解获得所述RSS中的最优key值,使得各条网络会话平均分配到各个id上;

其中,首先通过转换规则和r组合算法确定key值,然后对所确定的每一个key值进行方差计算,获取最优key值和最优分组结果;

redirection table确定单元,用于根据获取的最优key值和最优分组结果,确定redirection table,使各条网络会话平均分配到各个id上,完成网络端口资源的分配;

其中,当key满足以16为周期时,

对于任意的s=(ip1,ip2,port1,port2)=(s1,s2,……,s96),取16比特的s0,使其满足s0=(s1,s2,……,s16)^(s17,s18,……,s32)^……^(s81,s82,……,s96),则f(s,k)=f(s0,k)(6);

对于k的任意分解k=k1^k2,均有

f(s,k)=f(s,k1)^f(s,k2) (10)

并且,记K为{ekj}1≤j≤320,表示320维向量空间的一组基底,当k中取1的比特位为(j1,j2,……,jd)时,则,

根据公式(11),任一s0在某一key下的hash值均可表示为其在key的各个基底下的异或运算;key以16为周期,将16维向量空间的16个基底做周期性扩展,形成16个320比特的新基底,记为:

{k1,k2,…,ki,…,k16},其中,ki=eki^eki+16^……^eki+16*19

假设共有n条网络会话,相对应的s0有m个,记为{s01,s02,……,s0m}m≤n,则计算每个s0在这16个基底下所对应的hash值,组成一个m*16维的哈希矩阵,记为:H={hi,j}1≤i≤m,1≤j≤16,其中,hi,j=f(s0i,kj);

对于一个特定的i,如果H的第i列均为同一个值,则将该列从H中删除,当a≠b时,则a^c≠b^c;

根据公式(10),所有网络会话所对应的hash值异或上一个相同的值,结果不变,故将哈希矩阵重新记为:H={hi,j}1≤i≤m,1≤j≤z,其中,重新设置的哈希矩阵的每一列上有不同元素,共有z列;

在通过转换规则和r组合生成算法确定key值,对所确定的每一个key值进行方差计算,获取最优key值的过程中,

通过转换规则和r组合生成算法确定key值的过程包括:

按照比特位1的数目从少到多转换;第一轮寻找16位周期中只有一个1的key,如k1,k2……,第二轮寻找16位周期中有两个1的key,如k1^k2,k1^k3,……,以此类推;

在每一轮中,按照特定的r组合生成算法确定key值;其中,

在第r轮中,1≤r≤z,对于r子集a1a2…ar,key定义为:k=ka1^ka2^…^kar;r子集从a1a2…ar=12…r开始,当a1a2…ar≠(n-r+1)(n-r+2)…n时,

确定最大的整数t,使得at+1≤n且at+1不是a1a2…ar中的一个;

用r子集a1…at-1(at+1)(at+2)…(at+r-t+1)替换a1a2…ar,进而生成新的key;

对所确定的每一个key值进行方差计算,获取最优key值的过程包括:

根据公式(10)和(11),获取当前确定的key所对应的m个hash值;

对获取的m个hash值排序;

遍历排序后的序列,确定每个hash值所对应的网络会话的数量,将所述数量记为{ti}1≤i≤m'≤m,其中,m’表示共有m’个互不相同的hash值;

将{ti}1≤i≤m'按从大到小的顺序排序;

以排好序的{ti}1≤i≤m'为基础对各个hash值进行分组,使各组内的hash值所对应的网络会话的数量之和接近均值;

对分组结果进行方差计算,作最优化判定;

其中,假设q个分组所对应的网络会话数目为{Qi}1≤i≤q,此分组的判定方差std为:

其中,如果std小于事先给定的容忍误差,则此key值作为最优值;

根据获取的最优key值确定redirection table,获取到最优key值在第i个分组,1≤i≤q-1,取出其记录的各个hash值,以这些hash值为下标,设定:t[hash]=i;将redirection table中未被设定的位置设置为0,输出redirection table。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410851928.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top