System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据解析方法、装置及存储介质制造方法及图纸_技高网

一种数据解析方法、装置及存储介质制造方法及图纸

技术编号:40878886 阅读:4 留言:0更新日期:2024-04-08 16:49
本发明专利技术提供一种数据解析方法、装置及存储介质,包括:在原始数据里定位第一个帧头,删除第一个帧头前的数据;根据第一预设长度切割剩余的原始数据;判断是否在第一段数据里定位到第二个帧头;如果定位到第二个帧头,将第二个帧头之前的数据进行解析处理,将第二个帧头作为第一个帧头;如果定位不到第二个帧头,判断是否存在下一段非空数据;如果存在下一段非空数据,在第一段数据后拼接下一段非空数据,清空下一段非空数据;如果不存在下一段非空数据,将第一段数据里的所有数据进行解析处理。本发明专利技术提供了一种数据解析方法、装置及存储介质,用以解决现有技术中数据量达到千万级别甚至更高时解析耗时长的问题。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其涉及一种数据解析方法、装置及存储介质


技术介绍

1、飞行器系统在研制阶段基本都配备遥测发射模块,便于将机上系统数据发送至地面进行分析以监测飞行器运行状态。在系统调试以及飞行试验时,需在地面将遥测数据接收并存储下来,然后进行离线解析得到实际飞行器的系统状态数据,比如飞行状态、舵机及惯组等重要单机的状态数据。一般的解析过程大致为:读取遥测原始数据文件存入数据容器(以字节保存),找寻帧头,截取对应长度数据,校验通过,按照协议解析数据,解析完一帧后删除已解析字节,然后继续找寻下一个帧头,重复上述过程,循环执行该过程,直到数据末尾,完成所有遥测数据解析。在遥测数据量不大(字节数为百万级别以内)时,按照上述方法解析所耗时间尚可接受,但当数据量达到千万级别甚至更高时,解析耗时会明显增长。


技术实现思路

1、本专利技术提供了一种数据解析方法、装置及存储介质,用以解决现有技术中数据量达到千万级别甚至更高时解析耗时长的问题。

2、第一方面,本专利技术提供一种数据解析方法,包括:

3、在原始数据里定位第一个帧头,删除所述第一个帧头前的数据;

4、根据预设长度切割剩余的所述原始数据,将剩余的所述原始数据分为第一段数据至第n段数据,所述第n段数据的长度小于或等于所述预设长度;

5、判断是否在所述第一段数据里定位到第二个帧头;

6、如果定位到所述第二个帧头,将所述第二个帧头之前的数据作为待解析数据,对所述待解析数据进行解析处理,将所述第二个帧头作为第一个帧头,继续判断是否在所述第一段数据里定位到第二个帧头;

7、如果定位不到所述第二个帧头,判断是否存在下一段非空数据,所述下一段非空数据为从第二段数据至所述第n段数据中找到的第一段非空数据;

8、如果存在所述下一段非空数据,在所述第一段数据后拼接所述下一段非空数据,清空所述下一段非空数据,继续判断是否在所述第一段数据里定位到第二个帧头;

9、如果不存在所述下一段非空数据,将所述第一段数据里的所有数据作为所述待解析数据,对所述待解析数据进行解析处理。

10、可选的,所述预设长度的取值基准为根据所述预设长度切割后解析的耗时小于不切割直接解析的耗时。

11、可选的,所述预设长度小于或等于一百万字节。

12、可选的,所述根据预设长度切割剩余的所述原始数据包括以所述预设长度为单位切割剩余的所述原始数据。

13、可选的,所述对所述待解析数据进行解析处理包括:

14、判断所述待解析数据是否完整;

15、如果不完整,删除所述待解析数据;

16、如果完整,校验并解析所述待解析数据,删除所述待解析数据。

17、可选的,所述判断所述待解析数据是否完整包括判断所述待解析数据的长度是否等于一帧的长度。

18、可选的,所述一帧的长度为256字节。

19、第二方面,本专利技术提供一种数据解析装置,包括:

20、预处理模块,用于在原始数据里定位第一个帧头,删除所述第一个帧头前的无效数据;

21、数据切割模块,用于根据预设长度将剩余的所述原始数据切割为n段,包括第一段数据至第n段数据,所述第n段数据的长度小于或等于所述预设长度;

22、第一判断模块,用于判断是否在第一段数据里定位到第二个帧头;

23、第一解析模块,用于在所述第一判断模块判断定位到所述第二个帧头时,将所述第二个帧头之前的数据作为待解析数据,对所述待解析数据进行解析处理,将所述第二个帧头作为第一个帧头,继续判断是否在所述第一段数据里定位到第二个帧头;

24、第二判断模块,用于在所述第一判断模块判断定位不到所述第二个帧头时,判断是否存在下一段非空数据,所述下一段非空数据为从第二段数据至所述第n段数据中找到的第一段非空数据;

25、数据拼接模块,用于在所述第二判断模块判断存在所述下一段非空数据时,在所述第一段数据后拼接所述下一段非空数据,清空所述下一段非空数据,继续判断是否在所述第一段数据里定位到第二个帧头;

26、第二解析模块,用于在所述第二判断模块判断不存在所述下一段非空数据时,将所述第一段数据里的所有数据作为所述待解析数据,对所述待解析数据进行解析处理。

27、可选的,所述第一解析模块和所述第二解析模块都包括:

28、第三判断模块,用于判断所述待解析数据是否完整;

29、数据删除模块,用于在所述第三判断模块判断不完整时,删除所述待解析数据;

30、数据解析模块,用于在所述第三判断模块判断完整时,校验并解析所述待解析数据,删除所述待解析数据。

31、第三方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得计算机执行上述任一方法。

32、与现有技术相比,本专利技术加快了离线遥测数据的解析速度,缩短了数据分析的时间,提高了导弹研制的效率。

本文档来自技高网...

【技术保护点】

1.一种数据解析方法,其特征在于,包括:

2.根据权利要求1所述方法,其特征在于,所述预设长度的取值基准为根据所述预设长度切割后解析的耗时小于不切割直接解析的耗时。

3.根据权利要求2所述方法,其特征在于,所述预设长度小于或等于一百万字节。

4.根据权利要求1所述方法,其特征在于,所述根据预设长度切割剩余的所述原始数据包括以所述预设长度为单位切割剩余的所述原始数据。

5.根据权利要求1所述方法,其特征在于,所述对所述待解析数据进行解析处理包括:

6.根据权利要求5所述方法,其特征在于,所述判断所述待解析数据是否完整包括判断所述待解析数据的长度是否等于一帧的长度。

7.根据权利要求6所述方法,其特征在于,所述一帧的长度为256字节。

8.一种数据解析装置,其特征在于,包括:

9.根据权利要求8所述装置,其特征在于,所述第一解析模块和所述第二解析模块都包括:

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得计算机执行如权利要求1-7中任一所述方法。

...

【技术特征摘要】

1.一种数据解析方法,其特征在于,包括:

2.根据权利要求1所述方法,其特征在于,所述预设长度的取值基准为根据所述预设长度切割后解析的耗时小于不切割直接解析的耗时。

3.根据权利要求2所述方法,其特征在于,所述预设长度小于或等于一百万字节。

4.根据权利要求1所述方法,其特征在于,所述根据预设长度切割剩余的所述原始数据包括以所述预设长度为单位切割剩余的所述原始数据。

5.根据权利要求1所述方法,其特征在于,所述对所述待解析数据进行解析处理包括:

6.根据...

【专利技术属性】
技术研发人员:谭路杨红岸闫力新
申请(专利权)人:湖北航天飞行器研究所
类型:发明
国别省市:

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

1