[发明专利]一种报文处理的方法及装置有效
申请号: | 202011043822.X | 申请日: | 2020-09-28 |
公开(公告)号: | CN112187665B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 郑磊 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | H04L47/24 | 分类号: | H04L47/24;H04L49/9005;H04L61/103 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报文 处理 方法 装置 | ||
本说明书提供一种报文处理方法,预先将报文缓存区划分为多个报文缓存分区,每个报文缓存分区用于缓存一种报文处理流程的报文;当接收到报文后,先判断该报文的报文处理流程,根据该报文的报文处理流程,确定缓存该报文的报文缓存分区,缓存后进行后续报文处理。
技术领域
本说明书涉及网络设备技术领域,尤其涉及一种报文处理的方法及装置。
背景技术
套接字缓存(Socket Buffer,SKB)是linux TCP/IP协议栈中的关键数据结构,用于对网络设备接收的报文进行缓存,以便网络设备对报文进行处理。
在实际应用中,通常会预先在网络设备的CPU内存中创建报文缓存区,报文缓存区包含一定数量的缓存单元buffer,每个缓存单元包含一个SKB。当网络设备接收到报文时,CPU会在报文缓存区中取出一个缓存单元用于缓存该报文,在CPU结束对该报文处理时,CPU再将该缓存单元归还至报文缓存区。
然而,有时网卡驱动程序或者CPU的业务处理模块可能运行异常,无法正常完成对报文的处理,导致越来越多的报文长时间处于无法完成处理的状态,这意味着越来越多的缓存单元无法被归还到报文缓存区进行复用,直至报文缓存区中的缓存单元耗尽,此时,网络设备无法再正常接收报文进行处理。
发明内容
为克服上述网络设备无法正常接收报文进行处理的问题,本说明书提供了方法及装置。
本说明书提供了一种报文处理的方法,将报文缓存区划分成包含多个缓存分区的缓存分区集合;其中,所述缓存分区集合包括多个第一类缓存分区,不同的第一类缓存分区对应于不同的报文处理流程,每个第一类缓存分区包含若干缓存单元;所述方法包括:
获取待处理的报文,并确定所述报文对应的报文处理流程;
从确定的报文处理流程所对应的第一类缓存分区中取出一个缓存单元;
基于取出的缓存单元缓存所述报文,并对所述报文进行处理。
本说明书还提供了一种报文处理的装置,将报文缓存区划分成包含多个缓存分区的缓存分区集合;其中,所述缓存分区集合包括多个第一类缓存分区,不同的第一类缓存分区对应于不同的报文处理流程,每个第一类缓存分区包含若干缓存单元;所述装置包括:
报文获取模块,用于获取待处理的报文,并确定所述报文对应的报文处理流程;
缓存单元获取模块,用于从确定的报文处理流程所对应的第一类缓存分区中取出一个缓存单元;
报文处理模块,用于基于取出的缓存单元缓存所述报文,并对所述报文进行处理。
本说明书实施例的技术方案,预先将报文缓存区划分为多个报文缓存分区,每个报文缓存分区用于缓存一种报文处理流程的报文;当接收到报文后,先判断该报文的报文处理流程,根据该报文的报文处理流程,确定缓存该报文的报文缓存分区,缓存后进行后续报文处理。
通过本说明书实施例的技术方案,可将报文缓存区划分为多个报文缓存分区,且各报文缓存分区互不影响,当某一报文处理流程将对应的报文缓存分区的缓存单元耗尽时,其他报文缓存分区并不会被影响,设备可继续正常接收及处理其他报文处理流程对应的报文。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书示出的一种报文处理方法的流程图。
图2是本说明书示出的一具体实施例流程图。
图3是本说明书示出的一种报文处理装置的示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011043822.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于机械的组装式同步折叠架体结构
- 下一篇:单轮对变轨试验装置