发明名称 |
多核多线程的报文转发方法及系统 |
摘要 |
本发明公开了一种多核多线程的报文转发方法及系统,涉及网络通信技术领域,本发明通过多核CPU对应的线程浮动获取hash队列的方式,在实现了资源共享的免锁的同时,还可使用与hash队列的数量相同或更少的线程进行报文转发处理,提高了多核CPU在报文转发时的使用效率,避免了资源的浪费。 |
申请公布号 |
CN102685002A |
申请公布日期 |
2012.09.19 |
申请号 |
CN201210125985.1 |
申请日期 |
2012.04.26 |
申请人 |
汉柏科技有限公司 |
发明人 |
陈海滨 |
分类号 |
H04L12/56(2006.01)I;H04L29/06(2006.01)I |
主分类号 |
H04L12/56(2006.01)I |
代理机构 |
北京路浩知识产权代理有限公司 11002 |
代理人 |
王莹 |
主权项 |
一种多核多线程的报文转发方法,其特征在于,所述方法包括以下步骤:S1:创建一个预设大小的hash表,并将所述hash表划分为预设个数的区域,设每个区域均为一个hash队列,所述预设个数为大于等于2的整数;S2:接收物理接口的报文,并根据所述报文的IP五元组进行hash计算,根据计算结果将所述报文放入对应的hash队列中;S3:当前线程判断当前hash队列是否被其它线程获取权限,若是,则将其它hash队列作为当前hash队列,并重复执行步骤S3,否则执行步骤S4;S4:获取所述当前hash队列的权限,判断所述当前hash队列中是否具有报文,若是,则对所述当前hash队列中的报文进行报文转发处理,将其它线程作为当前线程,并返回步骤S3,否则舍弃所述当前线程的权限,并将其它hash队列作为当前hash队列,返回步骤S3。 |
地址 |
300384 天津市华苑产业区海泰西18号西3楼104室 |