[发明专利]多核多线程的报文转发方法及系统无效
申请号: | 201210125985.1 | 申请日: | 2012-04-26 |
公开(公告)号: | CN102685002A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 陈海滨 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 300384 天津市华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 多线程 报文 转发 方法 系统 | ||
1.一种多核多线程的报文转发方法,其特征在于,所述方法包括以下步骤:
S1:创建一个预设大小的hash表,并将所述hash表划分为预设个数的区域,设每个区域均为一个hash队列,所述预设个数为大于等于2的整数;
S2:接收物理接口的报文,并根据所述报文的IP五元组进行hash计算,根据计算结果将所述报文放入对应的hash队列中;
S3:当前线程判断当前hash队列是否被其它线程获取权限,若是,则将其它hash队列作为当前hash队列,并重复执行步骤S3,否则执行步骤S4;
S4:获取所述当前hash队列的权限,判断所述当前hash队列中是否具有报文,若是,则对所述当前hash队列中的报文进行报文转发处理,将其它线程作为当前线程,并返回步骤S3,否则舍弃所述当前线程的权限,并将其它hash队列作为当前hash队列,返回步骤S3。
2.如权利要求1所述的方法,其特征在于,步骤S1之前还包括以下步骤:
S0:多核CPU分别对应生成与所述多核CPU数量相同的线程。
3.如权利要求1或2所述的方法,其特征在于,所述预设大小为65536。
4.一种多核多线程的报文转发系统,其特征在于,所述系统包括:
创建划分模块,用于创建一个预设大小的hash表,并将所述hash表划分为预设个数的区域,设每个区域均为一个hash队列,所述预设个数为大于等于2的整数;
计算模块,用于接收物理接口的报文,并根据所述报文的IP五元组进行hash计算,根据计算结果将所述报文放入对应的hash队列中;
判断模块,用于当前线程判断当前hash队列是否被其它线程获取权限,若是,则将其它hash队列作为当前hash队列,并返回判断模块,否则执行权限获取模块;
权限获取模块,用于获取所述当前hash队列的权限,判断所述当前hash队列中是否具有报文,若是,则对所述当前hash队列中的报文进行报文转发处理,将其它线程作为当前线程,并重复执行判断模块,否则舍弃所述当前线程的权限,并将其它hash队列作为当前hash队列,返回判断模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210125985.1/1.html,转载请声明来源钻瓜专利网。