[发明专利]网络数据包按序存储方法、计算机设备和存储介质有效
申请号: | 201910293325.6 | 申请日: | 2019-04-12 |
公开(公告)号: | CN110098977B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 宋磊;张硕磊;江超;刘磊 | 申请(专利权)人: | 中国科学院声学研究所;北京中科视云科技有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/801;H04L12/833;H04L12/875;H04L29/06;G06F16/22 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 陈琳琳;王宇杨 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 数据包 按序 存储 方法 计算机 设备 介质 | ||
1.一种实时协议识别背景下的网络数据包按序存储方法,所述方法包括:
为接收的网络数据包增加一个顺序标签;
判断数据包是否达到协议识别条件,对未达到协议识别条件的数据包地址信息按照流进行分类,然后存入索引列表;对达到协议识别条件的数据包进行协议识别,并将所属流的数据包标上协议号;对索引列表中该数据包所属数据流中的所有数据包上标记相应的协议标签,并将该流上数据包的地址信息转存在环形队列中;
将环形队列中的一段按照标签顺序排列的数据包按序输出并存储;
所述方法具体包括:
步骤1)接收网络数据包,按照数据包接收的时间顺序在数据包存储格式中增加一个顺序标签;
步骤2)判断该数据包是否达到协议识别条件;如果未达到协议识别条件,转步骤3);如果到达协议识别条件,转步骤5);
步骤3)判断该数据包所属数据流的索引定时器是否超过索引定时器的阈值,如果未超过,进入步骤4),否则进行超时处理:重置时间周期并判断索引列表中该数据流是否有地址信息,如果有地址信息,则转入步骤6),否则,进入步骤4);
步骤4)将该数据包的地址信息按照流进行分类,存入索引列表,转入步骤1);
步骤5)对该数据包进行协议识别,并将所属数据流的所有数据包均标上协议号;
步骤6)对索引列表中该数据流的所有数据包标记相应的协议标签,并将该数据流上数据包的地址信息转存在环形队列中,并清空索引列表中该数据流的信息;
步骤7)判断环形队列存储的数据包是否超过队列阈值,若超过,则进行队列超阈值处理,否则,判断环形队列中从标记的起始位置开始,是否有一段按照标签顺序排列的数据包信息,如果有,将数据包按序输出并存储,否则,转步骤1);
所述协议识别条件为:当一条数据流上新接收到的数据包传输方向由客户端变为服务端,或由服务端变为客户端,判定该条数据流上积累了一个传输方向上所有数据,从而将该方向上的数据包进行协议识别;
所述索引定时器为每条数据流在索引上存储的时间,从该数据流第一个数据包存入索引列表开始计时;所述索引定时器阈值为:每条数据流在索引列表上存储的最大时间;
所述队列超阈值处包括:将索引列表中尚未触发协议自动识别的一数据条流上的所有数据包的地址信息转存至环形队列。
2.根据权利要求1所述的实时协议识别背景下的网络数据包按序存储方法,其特征在于,在所述步骤1)之前还包括:创建用于缓存各条数据流的地址信息的索引列表;创建用于存放经过协议自动识别后的数据包地址信息的环形队列。
3.根据权利要求1所述的实时协议识别背景下的网络数据包按序存储方法,其特征在于,所述索引列表的数据结构是哈希表或链表;所述环形队列的数据结构是循环链表或循环队列。
4.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述的方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行权利要求1至3任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科视云科技有限公司,未经中国科学院声学研究所;北京中科视云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910293325.6/1.html,转载请声明来源钻瓜专利网。