[发明专利]一种数据包处理方法和装置有效
申请号: | 201911416910.7 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111211990B | 公开(公告)日: | 2022-09-27 |
发明(设计)人: | 雷华磊;陈高升;宋钱骞;陈超;刘晓伟 | 申请(专利权)人: | 北京旋极信息技术股份有限公司 |
主分类号: | H04L47/12 | 分类号: | H04L47/12;H04L45/745;H04L45/74;H04L49/90;H04L49/9057 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 吴晓霞;栗若木 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据包 处理 方法 装置 | ||
1.一种数据包处理方法,其特征在于,包括:
当接收到一个消息的首个数据包时,存储该首个数据包并建立该消息的索引信息;所述索引信息至少包括所述消息的预定属性信息,以及该消息的数据包的存储指示信息;
当接收到一个消息首个数据包以外的其他 数据包时,根据所述其他 数据包中携带的所述消息的预定属性信息,与已有的索引信息进行匹配;匹配成功时,申请存储空间存储所述其他数据包,将所述其他数据包申请的存储空间的起始地址写入已接收到的上一个数据包对应存储空间的头部;并根据所述其他数据包申请的存储空间的起始地址,更新匹配成功的索引信息中的存储指示信息;
所述存储指示信息,至少包括:首个数据包对应的存储起始地址、已接收完成的最后一个数据包对应的存储起始地址和已接收数据包的总长度;
所述当接收到一个消息的首个数据包时,存储该首个数据包并建立该消息的索引信息,包括:
根据所述首个数据包的长度和预设的下一包地址指示信息的长度申请存储空间,在所申请的存储空间中写入所述首个数据包;
建立所述首个数据包所属消息的索引信息,将首个数据包申请的存储空间的起始地址保存为所述索引信息中的首个数据包对应的存储起始地址;将首个数据包申请的存储空间的起始地址保存为所述索引信息中的已接收完成的最后一个数据包对应的存储起始地址;将所述首个数据包的长度保存为索引信息中的已接收数据包的总长度。
2.根据权利要求1所述的方法,其特征在于,
所述消息的预定属性信息,至少包括:源地址,目标地址和消息标识。
3.根据权利要求1所述的方法,其特征在于,
所述建立消息的索引信息后还包括:在内容地址存储器(CAM)中保存所建立的索引信息。
4.根据权利要求1所述的方法,其特征在于,
所述根据所述其他数据包申请的存储空间的起始地址,更新匹配成功的索引信息中的存储指示信息,包括:
将已接收完成的最后一个数据包对应的存储起始地址更新为所述其他数据包申请的存储空间的起始地址;
将所述其他 数据包的长度加上原有的已接收数据包的总长度,作为更新后的已接收数据包的总长度。
5.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
当接收到的数据包是一个消息的最后一个数据包时,根据匹配成功的索引信息,获取所述消息的全部已接收数据包,完成所述消息的重组后发送重组后的消息。
6.根据权利要求5所述的方法,其特征在于,
其中,所述根据匹配成功的索引信息,获取所述消息的全部已接收数据包,包括:
判断匹配成功的索引信息中的已接收数据包的总长度是否等于述数据包对应的消息的总长度;
当等于时,根据匹配成功的索引信息中的存储指示信息所指示的首个数据包对应的存储起始地址,读取已接收的全部数据包。
7.根据权利要求1所述的方法,其特征在于,
其中,所述将所述其他数据包申请的存储空间的起始地址写入已接收到的上一个数据包对应存储空间的头部,包括:
根据匹配成功的索引信息中的存储指示信息所指示的已接收完成的最后一个数据包对应的存储起始地址,确定上一个已接收并存储的数据包对应的存储空间中的下一包地址指示信息的写入地址;根据所确定的下一包地址指示信息的写入地址,写入所述其他数据包申请的存储空间的起始地址。
8.一种数据包处理装置,其特征在于,包括:
接收模块,设置为接收数据包;
首包处理模块,设置为当接收到一个消息的首个数据包时,存储该首个数据包并建立该消息的索引信息;所述索引信息至少包括所述消息的预定属性信息,以及该消息的数据包的存储指示信息;
后续包处理模块,设置为当接收到一个消息首个数据包以外的其他 数据包时,根据所述其他 数据包中携带的所述消息的预定属性信息,与已有的索引信息进行匹配;匹配成功时,申请存储空间存储所述其他数据包,将所述其他数据包申请的存储空间的起始地址写入已接收到的上一个数据包对应存储空间的头部;并根据所述其他数据包申请的存储空间的起始地址,更新匹配成功的索引信息中的存储指示信息;
所述存储指示信息,至少包括:首个数据包对应的存储起始地址、已接收完成的最后一个数据包对应的存储起始地址和已接收数据包的总长度;
所述当接收到一个消息的首个数据包时,存储该首个数据包并建立该消息的索引信息,包括:
根据所述首个数据包的长度和预设的下一包地址指示信息的长度申请存储空间,在所申请的存储空间中写入所述首个数据包;
建立所述首个数据包所属消息的索引信息,将首个数据包申请的存储空间的起始地址保存为所述索引信息中的首个数据包对应的存储起始地址;将首个数据包申请的存储空间的起始地址保存为所述索引信息中的已接收完成的最后一个数据包对应的存储起始地址;将所述首个数据包的长度保存为索引信息中的已接收数据包的总长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京旋极信息技术股份有限公司,未经北京旋极信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911416910.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硬盘托架
- 下一篇:一种基于超声波技术的书写装置及系统