数据包校验错误的处理方法及系统技术方案

技术编号:19780549 阅读:171 留言:0更新日期:2018-12-15 11:57
本发明专利技术公开了数据包校验错误的处理方法及系统,包括:S1:数据传输时,查找数据包帧头;S2:一旦检测到帧头结束标记,就启动准备工作;S3:记录所接收字节,进行初次CRC校验计算;S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;S7:检测二次CRC校验计算结果通过对错误部位检测、错误数据记录以及错误原因分析实现不仅记录错误事件,而且提交完整的错误数据包的功能;便于通信运维人员分析错误发生的原因,统计错误发生的数量和频次,更加快捷准确了解整个网络的稳定运行情况,保证了网络通信的安全。

【技术实现步骤摘要】
数据包校验错误的处理方法及系统
本专利技术涉及网络通信
,具体来说,涉及数据包校验错误的处理方法及系统。
技术介绍
目前的网络通信过程中,数据在网络中是以数据帧为单位进行传输,为了保证传输正确,帧后面附加了32位的帧校验序列,采用了循环冗余校验,英文缩写为CRC,用来对整帧数据的完整性进行检测。通过对组成帧的所有比特位应用一个多项式,可以得到一个独一无二的CRC值,当接收方收到后,对数据帧进行校验,如果校验正确,则通信成功,可以使用数据。如果校验错误,则由上层协议例如TCP协议或者应用层协议,请求重新发送数据包,直到接收方正确接收为止。这个重发过程是由操作系统的协议栈自动完成的,网络的用户感觉不到的,仍然认为网络正确;因为自动重发机制,网络通信还是很可靠的,至少对于网络用户感觉不到通信错误。但是,在网络通信过程中,难免会受到各种干扰,造成传输错误;通信错误根据发生时间和数量,通常分成两类:(1)突发错误;(2)持续成片错误;对于突发错误,往往只发生一个或几个数据包错误,影响范围有限,重发机制自动回避了该错误,不容易复现。通信运维部门需要监测,减小影响。对于持续成片错误,影响该信道的大多数数据包,造成很大后果。重发只能恢复部分数据包,而且时延加大,用户体验变差;这是通信运维部门需要重点保障的针对校验错误的数据包,现有的处理方式为:(1)直接舍弃,因为自动重发,网络用户没有感觉,不需要处理。(2)记录错误事件,统计误码率。采用此类处理方式无论软件采集或硬件采集,都会舍弃掉校验错误的数据,只是记录网络的误码率,运维人员并不能了解何时出现错误以及如何出错。针对相关技术中的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述技术问题,本专利技术提出数据包校验错误的处理方法。本专利技术的技术方案是这样实现的:一种数据包校验错误的处理方法,包括以下步骤:S1:数据传输时,查找数据包帧头,实现数据包收发两端的同步;S2:一旦检测到帧头结束标记,就启动准备工作;S3:记录所接收字节,进行初次CRC校验计算;S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;S7:检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。进一步的,通过高速FPGA实现帧头同步和帧头结束检测。进一步的,步骤S2中,当检测到帧头结束标记时,所述准备工作为并行启动三个任务:读取实时时钟值作为时间戳、启动CRC校验计算、准备记录采集的数据。进一步的,所述帧头结束标记为帧头中相邻两个高电平的1,1。进一步的,所述帧头结束字节为10101011B。进一步的,步骤S3中记录所接受字节方式为,收到一位记录一位,同时,当接收完成后,则结束初次CRC校验计算。进一步的,步骤S3中,当检测到初次CRC校验计算结果为正确时,则将数据保存到缓冲区,通知上位机读取数据。进一步的,所述错误信息至少包括错误发生时间、错误长度、错误数据。一种数据包校验错误的处理系统,包括以下装置:装置,其用于在数据传输时,查找数据包帧头,实现数据包收发两端的同步;也用于一旦检测到帧头结束标记,就启动准备工作;也用于记录所接收字节,进行初次CRC校验计算;也用于一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;也用于查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;也用于一旦检测到帧头结束字节,就进行二次CRC校验计算;也用于检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。一种高精度数据采集卡上的FPGA芯片,其包括一种数据包校验错误的处理系统,该系统包括以下装置:装置,其用于在数据传输时,查找数据包帧头,实现数据包收发两端的同步;也用于一旦检测到帧头结束标记,就启动准备工作;也用于记录所接收字节,进行初次CRC校验计算;也用于一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;也用于查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;也用于一旦检测到帧头结束字节,就进行二次CRC校验计算;也用于检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。本专利技术的有益效果:通过对错误部位检测、错误数据记录以及错误原因分析实现不仅记录错误事件,而且提交完整的错误数据包的功能;便于通信运维人员分析错误发生的原因,统计错误发生的数量和频次,为评估通信质量提供了数据量,更加快捷准确了解和掌握整个网络的稳定运行情况,保证了网络通信的安全。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术数据包校验错误的处理方法及系统中帧结构示意图;图2是现有数据包校验错误的处理方法流程图;图3是根据本专利技术数据包校验错误的处理方法及系统流程图;图4是根据本专利技术数据包校验错误的处理方法及系统中第一种错误示意图;图5是根据本专利技术数据包校验错误的处理方法及系统中第二种错误示意图;图6是根据本专利技术数据包校验错误的处理方法及系统中第三种错误示意图;图7是根据本专利技术数据包校验错误的处理方法及系统中第四种错误示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。如图1-7所示,根据本专利技术实施例的一种数据包校验错误的处理方法,包括以下步骤:S1:数据传输时,查找数据包帧头,实现数据包收发两端的同步;S2:一旦检测到帧头结束标记,就启动准备工作;S3:记录所接收字节,进行初次CRC校验计算;S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;S7:检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。本实施例中,通过高速FPGA实现帧头同步和帧头结束检测。本实施例中,步骤S2中,当检测到帧头结束标记时,所述准备工作为并行启动三个任务:读取实时时钟值作为时间戳、启动CRC校验计算、准备记录采集的数据。本实施例中,所述帧头结束标记为帧头中相邻两个高电平的1,1。本实施例中,所述帧头结束字节为10101011B。本实施例中,步骤S3中记录所接受字节方式为,收到一位记录一位,同时,当接收完成后,则结束初次本文档来自技高网
...

【技术保护点】
1.一种数据包校验错误的处理方法,其特征在于,包括以下步骤:S1:数据传输时,查找数据包帧头,实现数据包收发两端的同步;S2:一旦检测到帧头结束标记,就启动准备工作;S3:记录所接收字节,进行初次CRC校验计算;S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;S7:检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。

【技术特征摘要】
1.一种数据包校验错误的处理方法,其特征在于,包括以下步骤:S1:数据传输时,查找数据包帧头,实现数据包收发两端的同步;S2:一旦检测到帧头结束标记,就启动准备工作;S3:记录所接收字节,进行初次CRC校验计算;S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;S7:检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。2.根据权利要求1所述的数据包校验错误的处理方法,其特征在于,通过高速FPGA实现帧头同步和帧头结束检测。3.根据权利要求2所述的数据包校验错误的处理方法,其特征在于,步骤S2中,当检测到帧头结束标记时,所述准备工作为并行启动三个任务:读取实时时钟值作为时间戳、启动CRC校验计算、准备记录采集的数据。4.根据权利要求3所述的数据包校验错误的处理方法,其特征在于,所述帧头结束标记为帧头中相邻两个高电平的1,1。5.根据权利要求4所述的数据包校验错误的处理方法,其特征在于,所述帧头结束字节为10101011B。6.根据权利要求1所述的数据包校验错误的处理方法,其特征在于,步骤S3中记录所接受字节方式为,收到一位记录一位,同时,当接收完成后,则结束初次CRC校验计算。7.根据权利要求6所述的数据包校验错误的处理方法,其特征在于,步骤S3中,当检测到初次CRC校验计算结果为正确时,则...

【专利技术属性】
技术研发人员:宋军张宗鹏石雨晨
申请(专利权)人:北京新宇航星科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1