[发明专利]一种机载二进制文件通用并行的解析方法、装置及电子设备有效
申请号: | 202111301418.2 | 申请日: | 2021-11-04 |
公开(公告)号: | CN113742298B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 章异敏 | 申请(专利权)人: | 南京芯传汇电子科技有限公司 |
主分类号: | G06F16/16 | 分类号: | G06F16/16;G06F16/172 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 机载 二进制文件 通用 并行 解析 方法 装置 电子设备 | ||
1.一种机载二进制文件通用并行的解析方法,其特征在于,包括:
分别配置不同文件类型二进制文件的文件结构,包括配置二进制文件的文件头、包含的数据块、数据块的数据结构、数据块的数据类型及其对应的转换函数;
根据二进制文件的配置信息读取待解析二进制文件中的数据块,逐个附加主题信息和时间戳标签后发送至消息队列,以便消息队列的消费端并行获取消息队列中的数据块,并根据数据块的主题信息获取数据块的数据结构、数据类型及其对应的转换函数,进而依据配置的二进制文件的文件结构解析上述二进制文件的数据并保存至文本文件;
其中,所述消费端通过递归方式遍历数据结构中的数据类型,根据数据类型创建该数据结构的数据对象;通过转换函数转换数据块中的数据,并将转换后的数据拷贝至创建的数据对象中;写入拷贝数据的数据对象至文本文件;
所述依据配置的二进制文件的文件结构解析的过程包括:
判断文件结构配置有文件头,则将文件头配置的数据块和文件体中所有配置的数据块分别转化为对应的数据块解析器;其中,数据块配置的字段属性树转化为字段解析器列表,每个字段解析器解析当前字段的数据;并且,每个数据块解析器只订阅对应的数据块消息;
当所述数据块解析器接收其对应的数据块后,首先根据数据块的数据类型生成用于存储数据的数据对象,然后循环字段解析器列表,以使每个字段解析器读取对应长度的字节数据,并依据转换函数进行解析转换后写入创建的数据对象的对应字段;
数据块读取完成后,存储生成的数据对象。
2.根据权利要求1所述的机载二进制文件通用并行的解析方法,其特征在于,所述配置二进制文件的文件结构包括:
配置数据类型,包括指定数据类型的名称、数据读取的字节长度和数据解析返回类型;
配置数据解析脚本,并指定测试样例,以便测试数据解析脚本按期望正确执行;其中,测试成功的数据类型可被数据块引用;
配置数据块,包括添加字段、定义字段名称、支持的数据类型和描述信息;
配置文件结构,包括文件头及文件体;所述文件头置空或配置一特定数据类型的数据块,所述文件体配置一种或者多种数据块;其中,所述文件体配置多种数据块时,任一数据块定义有固定值字段。
3.根据权利要求1所述的机载二进制文件通用并行的解析方法,其特征在于,所述根据二进制文件的配置信息读取待解析二进制文件中的数据块为根据指定的文件类型以及文件大小进行数据读取,并将读取的数据进行消息发布,包括:
根据指定的文件类型,选择文件智能识别策略;
根据文件类型的文件结构中文件体配置的一个或多个数据块,选择文件读取策略;
根据文件大小、读取开始运行时间、当前读取进度和当前时间,评估数据读取进度和剩余时间。
4.一种机载二进制文件通用并行的解析装置,其特征在于,包括:
文件结构配置模块,用于分别配置不同文件类型二进制文件的文件结构,包括配置二进制文件的文件头、包含的数据块、数据块的数据结构、数据块的数据类型及其对应的转换函数;数据块读取模块,用于根据二进制文件的配置信息读取待解析二进制文件中的数据块,逐个附加主题信息和时间戳标签后发送至消息队列;
消息队列模块,用于缓存读取的数据块,实现二进制文件数据块读取和数据块解析的分离;数据解析模块,用于消息队列的消费端并行获取消息队列中的数据块,并根据数据块的主题信息获取数据块的数据结构、数据类型及其对应的转换函数,进而依据配置的二进制文件的文件结构解析上述二进制文件的数据并保存至文本文件;
其中,依据配置的二进制文件的文件结构解析的过程包括:判断文件结构配置有文件头,则将文件头配置的数据块和文件体中所有配置的数据块分别转化为对应的数据块解析器;其中,数据块配置的字段属性树转化为字段解析器列表,每个字段解析器解析当前字段的数据;并且,每个数据块解析器只订阅对应的数据块消息;当所述数据块解析器接收其对应的数据块后,首先根据数据块的数据类型生成用于存储数据的数据对象,然后循环字段解析器列表,以使每个字段解析器读取对应长度的字节数据,并依据转换函数进行解析转换后写入创建的数据对象的对应字段;
数据块读取完成后,存储生成的数据对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京芯传汇电子科技有限公司,未经南京芯传汇电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111301418.2/1.html,转载请声明来源钻瓜专利网。