[发明专利]一种报文解析的方法、系统、设备及计算机可读存储介质在审
申请号: | 201910631893.2 | 申请日: | 2019-07-12 |
公开(公告)号: | CN110381051A | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 郝锐;王彦伟 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王晓坤 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据包 报文解析 报文数据 数据包报头 移位寄存器 移位 拼接 计算机可读存储介质 数据包转发 状态机 解析 申请 接收输入 状态机跳 | ||
本申请公开了一种报文解析的方法,包括:接收输入的报文数据;根据报文数据确定数据包报头;根据数据包报头确定对应的数据包的长度,并利用移位寄存器根据数据包的长度对报文数据进行拼接移位,得到数据包;将数据包转发至对应的状态机进行解析。本申请所提供的技术方案,通过数据包报头确定对应的数据包的长度,并利用移位寄存器根据数据包的长度对报文数据进行拼接移位,最后将数据包转发至对应的状态机进行解析,不需要损耗大量资源去实现复杂的状态机跳变条件,而是通过移位寄存器完成数据包的移位拼接,极大的提高了报文解析的效率。本申请同时还提供了一种报文解析的系统、设备及计算机可读存储介质,具有上述有益效果。
技术领域
本申请涉及报文解析领域,特别涉及一种报文解析的方法、系统、设备及计算机可读存储介质。
背景技术
在常用的网络报文硬件解析时,由于报文格式固定,并且各种网络协议报文的数据包报头长度有限,经典的实现方法是使用状态机控制实现报文的解析,根据输入数据的不同字段控制状态机的不同跳转,报文的有效载荷数据解析模块不做处理,或者交由其他的模块进行缓存、处理或者转发。
在传统方法处理中,网络报文各种数据包报头格式固定,位置固定,传统的方法可以实现报文的硬件解析。但报文的有效载荷数据也是由各种不同的数据包构成,不同报文的有效载荷数据中,数据包的种类和数量不同,导致状态机跳转时依据的输入字段位置随机,硬件实现时跳转逻辑更为复杂,导致数字逻辑不能跑到很高的时钟频率,最终导致硬件解析模块的报文处理速率太低。
因此,如何提高报文解析的效率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种报文解析的方法、系统、设备及计算机可读存储介质,用于提高报文解析的效率。
为解决上述技术问题,本申请提供一种报文解析的方法,基于移位寄存器,该方法包括:
接收输入的报文数据;
根据所述报文数据确定数据包报头;
根据所述数据包报头确定对应的数据包的长度,并利用所述移位寄存器根据所述数据包的长度对所述报文数据进行拼接移位,得到所述数据包;
将所述数据包转发至对应的状态机进行解析。
可选的,根据所述报文数据确定数据包报头,包括:
确定所述报文数据中的第一位数据为所述数据包报头。
可选的,在将所述数据包转发至对应的状态机进行解析之后,还包括:
获取拼接移位后剩余的报文数据;
将所述剩余的报文数据作为所述报文数据,并返回执行根据所述报文数据确定数据包报头的步骤。
可选的,当不存在所述剩余的报文数据时,还包括:
输出报文解析完成的提示信息。
本申请还提供一种报文解析的系统,该系统包括:
接收模块,用于接收输入的报文数据;
确定模块,用于根据所述报文数据确定数据包报头;
拼接移位模块,用于根据所述数据包报头确定对应的数据包的长度,并利用所述移位寄存器根据所述数据包的长度对所述报文数据进行拼接移位,得到所述数据包;
发送模块,用于将所述数据包转发至对应的状态机进行解析。
可选的,所述确定模块包括:
确定子模块,用于确定所述报文数据中的第一位数据为所述数据包报头。
可选的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910631893.2/2.html,转载请声明来源钻瓜专利网。