预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局*CN102223285A*(12)发明专利申请(10)申请公布号CN102223285A(43)申请公布日2011.10.19(21)申请号201010148050.6(22)申请日2010.04.16(71)申请人大唐移动通信设备有限公司地址100083北京市海淀区学院路29号(72)发明人赵金芳(51)Int.Cl.H04L12/56(2006.01)权利要求书3页说明书9页附图7页(54)发明名称处理数据报文的方法及网络节点(57)摘要本发明公开了一种处理数据报文的方法及网络节点,属于通信领域。方法包括:获取数据报文的报文句柄,报文句柄至少包含一个缓存句柄,每个缓存句柄中至少包括与其对应的缓存单元所缓存的数据报文片段的缓存地址和数据长度值;根据首个缓存句柄中的缓存地址及约定协议确定的数据报文的报文头缓存地址及报文头数据长度,对数据报文进行报文头的解封装或封装,并根据解封装或封装后的数据报文的缓存地址和数据长度更新报文句柄。本发明通过采用报文句柄的方式对数据报文进行解封装或封装处理,使处理报文的性能与报文长度无关;另外,充分利用预留的内存区域封装报文头,降低缓存单元的申请频率,从而有效提高数据报文的处理效率,提高系统吞吐性能。CN102385ACCNN110222328502223298A权利要求书1/3页1.一种处理数据报文的方法,其特征在于,所述方法包括:获取数据报文的报文句柄,所述报文句柄至少包含一个缓存句柄,每个缓存句柄对应一个缓存数据报文片段的缓存单元,且所述每个缓存句柄中至少包括与其对应的缓存单元所缓存的数据报文片段的缓存地址和数据长度值;解析所述报文句柄的首个缓存句柄,根据所述首个缓存句柄中的缓存地址及约定协议确定所述数据报文的报文头缓存地址及报文头数据长度;根据所述报文头缓存地址及报文头数据长度,对所述数据报文的报文头解封装,并根据解封装后的数据报文的缓存地址和数据长度更新所述报文句柄。2.根据权利要求1所述的方法,其特征在于,所述获取数据报文的报文句柄之前,还包括:接收数据报文,并将所述数据报文写入预先提取的一至多个缓存单元中,每个缓存单元缓存一个数据报文片段;根据每个缓存单元的缓存地址构造缓存句柄,得到所述数据报文的报文句柄。3.根据权利要求1所述的方法,其特征在于,所述根据解封装后的数据报文的缓存地址和数据长度更新所述报文句柄,具体包括:根据解封装后的数据报文的缓存地址和数据长度,确定被解封装的报文头所在缓存单元当前所缓存的数据报文片段的缓存地址和数据长度,并根据确定的所述缓存地址和数据长度更新所述被解封装的报文头所在缓存单元对应的缓存句柄;当更新后的报文句柄中存在数据长度值为零的缓存句柄时,将所述数据长度值为零的缓存句柄所对应的缓存单元释放,并将所述报文句柄中的后续缓存句柄逐个前移。4.根据权利要求3所述的方法,其特征在于,所述将所述数据长度值为零的缓存句柄所对应的缓存单元释放,具体包括:根据所述数据长度值为零的缓存句柄中当前的缓存地址换算对应的缓存单元的起始地址,根据所述起始地址释放所述数据长度值为零的缓存句柄所对应的缓存单元。5.根据权利要求1至4任一权利要求所述的方法,其特征在于,所述缓存单元的字节长度N=(2^n+m),其中,n≥11,m为高速缓存行的大小。6.一种处理数据报文的网络节点,其特征在于,所述网络节点包括:获取模块,用于获取数据报文的报文句柄,所述报文句柄至少包含一个缓存句柄,每个缓存句柄对应一个缓存数据报文片段的缓存单元,且所述每个缓存句柄中至少包括与其对应的缓存单元所缓存的数据报文片段的缓存地址和数据长度值;解析模块,用于解析所述报文句柄的首个缓存句柄,根据所述首个缓存句柄中的缓存地址及约定协议确定所述数据报文的报文头缓存地址及报文头数据长度;解封装模块,用于根据所述报文头缓存地址及报文头数据长度,对所述数据报文的报文头解封装;更新模块,用于根据解封装后的数据报文的缓存地址和数据长度更新所述报文句柄。7.根据权利要求6所述的网络节点,其特征在于,所述网络节点,还包括:接收模块,用于接收数据报文;句柄构造模块,用于将所述数据报文写入预先提取的一至多个缓存单元中,每个缓存单元缓存一个数据报文片段;根据每个缓存单元的缓存地址构造缓存句柄,得到所述数据2CCNN110222328502223298A权利要求书2/3页报文的报文句柄。8.根据权利要求6所述的网络节点,其特征在于,所述更新模块,具体包括:更新单元,用于根据解封装后的数据报文的缓存地址和数据长度,确定被解封装的报文头所在缓存单元当前所缓存的数据报文片段的缓存地址和数据长度,并根据确定的所述缓存地址和数据长度更新所述被解封装的报文头所在缓存单元对应的缓存句柄;释放单元,用于当更新后的报文