[發明專利]一種機載二進制文件通用并行的解析方法、裝置及電子設備有效
| 申請號: | 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.szxzyx.cn/pat/books/202111301418.2/1.html,轉載請聲明來源鉆瓜專利網。





