[发明专利]业务报文处理方法和装置有效

专利信息
申请号: 200810111885.7 申请日: 2008-05-19
公开(公告)号: CN101282303A 公开(公告)日: 2008-10-08
发明(设计)人: 卢胜文 申请(专利权)人: 杭州华三通信技术有限公司
主分类号: H04L12/56 分类号: H04L12/56;G06F9/38
代理公司: 北京德琦知识产权代理有限公司 代理人: 宋志强;麻海明
地址: 310053浙江省杭州市高新技术产业*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 业务 报文 处理 方法 装置
【说明书】:

技术领域

发明涉及报文处理技术,具体涉及应用于多处理引擎并发处理业务报文的业务报文处理方法和业务报文处理装置。

背景技术

在报文转发过程中,对业务报文进行业务处理会消耗大量的执行资源,为了提高业务数据的处理能力,目前通常采用多核CPU技术或具有多级流水线的网络处理器(NP,Network Processor)技术实现业务报文的业务处理和转发,无论是多核CPU还是NP都是基于多个处理引擎的并发处理技术。在多核CPU技术中,每个处理引擎完成报文转发过程中业务报文的元素提取、会话表查找、会话表查找结果处理以及报文封装和发送这四个阶段的处理,而NP将业务报文处理的4个阶段分在4个流水线中处理,每个流水线都具有多个处理引擎,执行本流水线负责的处理操作。

以按流水线工作的NP为例,图1示出了NP的多级流水线。如图1所示,NP的业务报文转发处理分为4个流水线级别,各级流水线分别完成元素提取、会话表查找、会话表查找结果处理以及报文封装和发送这四个阶段的处理。每级流水线有多个处理引擎参与工作,由NP硬件自动完成处理引擎的调度,通常经调度,同一业务流的报文会由相同的处理引擎处理。图4中的小方格表示处理引擎。

采用图1示出的流水线对诸如防火墙、网络地址转换(NAT,Net AddressTranslation)、会话统计等基于会话的业务流进行业务报文转发处理时,首先将待转发业务报文缓存在报文队列中(该报文队列在图1中未示出),按缓存顺序将待转发业务报文调度到NP中进行转发处理。处理过程包括:第一级流水线中的处理引擎从待转发业务报文中提取IP五元组;第二级流水线中的处理引擎以第一级流水线提取的IP五元组为索引进行会话表查找;第三级流水线中的处理引擎根据会话表查找结果进行相应业务处理;第四级流水线中的处理引擎将业务处理后的业务报文进行封装和发送。

在第三级流水线的处理过程中,如果处理引擎根据会话表查找结果判定命中会话表时,表示当前待转发业务报文为业务流的后续包,此时对业务报文执行会话表指示的业务处理,然后将业务处理后的业务报文发送给第四级流水线;如果处理引擎根据会话表查找结果判定没有命中会话表,表示当前待转发业务报文为新业务流的首包,此时需要根据设定条件创建新业务流对应的会话表项,然后再根据创建的会话表项进行业务处理,将业务处理后的业务报文发送给第四级流水线。

其中,会话表项创建操作是通过修改会话表表项实现的。通常,表项修改操作由处理引擎中的表项修改引擎(参见图1)完成。如果没有专门的表项修改引擎,则必须对第三级流水线的各处理引擎进行加锁处理,保证同一时刻只有一个处理引擎修改表项。当大量新业务流到来时,前三级流水线大多数处理引擎被首包占据,等待负责表项修改的处理引擎的空闲。

图2示出了现有技术中,具备多级流水线和表项修改引擎的NP在大量新业务流到来时各流水线处理引擎的使用情况。图2中的填充竖线条的小长方形表示被首包占据的处理引擎,填充斜线条的小长方形表示被后续包占据的处理引擎,空白小长方形表示空闲处理引擎。如图2所示,当大量的新业务流到来时,每个新业务流的首包到达第三级流水线时,都要需要由表项修改引擎进行表项修改处理,而表项修改引擎数量较少,而且修改表项速度很慢,只要新业务流的数量大于表项修改引擎数量,将导致各新业务流占据了前三级流水线的大部分处理引擎,等待表项修改引擎的空闲,只有少部分处理引擎用于处理后续包,导致后续包不能被及时被转发。而且业务报文停滞在第三级流水线中,迟迟不能达到第四级流水线,导致第四级流水线中处理引擎的空闲。最终,后续包的转发性能也逼近新业务流中首包的转发性能,而正常情况下首包的转发速度比后续包的转发速度慢十倍以上。

可见,目前的业务报文转发方案,在大量新业务流到来时,后续包的转发性能大大降低,导致整体报文转发性能的不稳定。

发明内容

为了本发明提供了一种业务报文处理方法,提高大量新业务流到来时后续包的转发性能。

该方法应用于多处理引擎并发处理业务报文,包括:

将待转发业务报文缓存在后续流队列中;

按设定的调度次数比例,将后续流队列和预设新建流队列中的待处理业务报文调度到处理引擎,所述调度次数比例大于1;

所述处理引擎在判定来自后续流队列中的待处理业务报文未命中会话表时,将该待处理业务报文缓存到所述新建流队列中;在判定来自后续流队列中的待处理业务报文命中会话表时,按命中的会话表执行后续处理操作;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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