[发明专利]一种码流文件重组的方法及装置有效
申请号: | 201710670170.4 | 申请日: | 2017-08-08 |
公开(公告)号: | CN109547389B | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 陈玮;周祎春;柳向前;张维丛;赵明;魏荣;秦岩;刘文斌 | 申请(专利权)人: | 中国移动通信集团宁夏有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04W76/10;G06F12/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李官 |
地址: | 750002 宁夏*** | 国省代码: | 宁夏;64 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 重组 方法 装置 | ||
1.一种码流文件重组方法,其特征在于,所述方法包括:
获取待处理码流包,从所述待处理码流包中获取连接标识、报文数据DataSegment和序号seq;
若所述报文数据DataSegment不为空,则根据所述连接标识获取与所述连接标识相对应的数据存储空间buffer;
根据所述序号seq获取相对偏移量seq1,然后将所述相对偏移量seq1与所述数据存储空间buffer的长度相比,获取与所述报文数据DataSegment相对应的内存块在所述数据存储空间buffer中的位置,并将所述报文数据DataSegment拷贝到所述内存块中;
其中,所述将所述相对偏移量seq1与所述数据存储空间buffer的长度相比,获取与所述报文数据DataSegment相对应的内存块在所述数据存储空间buffer中的位置,包括:
在所述相对偏移量seq1小于所述数据存储空间buffer的长度的情况下,根据所述相对偏移量seq1与所述数据存储空间buffer的长度的比较结果,获取所述内存块在所述数据存储空间buffer中的位置;
在所述相对偏移量seq1大于或等于所述数据存储空间buffer的长度的情况下,在所述数据存储空间buffer后重新分配一个新的内存空间;所述内存块的位置位于所述新的内存空间。
2.根据权利要求1所述的方法,其特征在于,所述若所述报文数据DataSegment不为空,则根据所述连接标识获取与所述连接标识相对应的数据存储空间buffer,具体为:
若所述报文数据DataSegment不为空,则根据所述连接标识在存储的连接链表中查找是否存在与所述连接标识相对应的连接节点,并获取与所述连接节点相对应的数据存储空间buffer。
3.根据权利要求2所述的方法,其特征在于,所述获取待处理码流包,从所述待处理码流包中获取连接标识、报文数据DataSegment和序号seq后还包括:
获取TcpFlag;
相应地,若所述报文数据DataSegment为空,则提取所述TcpFlag中FIN 或RST的值;
若所述FIN=1或RST=1,则将所述数据存储空间buffer中的数据读取入硬盘,并删除所述数据存储空间buffer和在所述连接链表中与所述数据存储空间相对应的所述连接节点。
4.根据权利要求2所述的方法,其特征在于,所述连接链表为Hash表,其中所述Hash表的Hash值HashValue根据如下Hash函数算法公式得出:
HashValue=(SrcIP+DstIP+(SrcPort*DstPort))/BuckNumber
其中所述SrcIP、DstIP、SrcPort和DstPort为所述连接标识所包含的四元组,其中所述SrcIP为源地址IP端号,所述DstIP为目的地址IP端号,所述SrcPort为源地址端口号,所述DstPort为目的地址端口号,所述BuckNumber为最接近离线码流文件中同时出现不同四元组个数的3/4的质数。
5.根据权利要求3所述的方法,其特征在于,所述相对偏移量seq1根据所述序号seq与存储的初始偏移量seq0相减获得,其中所述初始偏移量seq0根据初始码流包中的序号获得,其中所述初始码流包为所述报文数据DataSegment为空,且所述TcpFlag中包含SYN=1的待处理码流包。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每经过预设时间段后,删除连接链表中建立的时间早于预设时间阈值的连接节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团宁夏有限公司,未经中国移动通信集团宁夏有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710670170.4/1.html,转载请声明来源钻瓜专利网。