CN116431117A - 使用结构化数据与嵌入式主机通信的方法和*** - Google Patents
使用结构化数据与嵌入式主机通信的方法和*** Download PDFInfo
- Publication number
- CN116431117A CN116431117A CN202310412585.7A CN202310412585A CN116431117A CN 116431117 A CN116431117 A CN 116431117A CN 202310412585 A CN202310412585 A CN 202310412585A CN 116431117 A CN116431117 A CN 116431117A
- Authority
- CN
- China
- Prior art keywords
- message
- data
- bits
- data model
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013499 data model Methods 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 238000010276 construction Methods 0.000 claims abstract description 8
- 230000008520 organization Effects 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 9
- 239000012634 fragment Substances 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 15
- 238000011161 development Methods 0.000 abstract description 9
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000000605 extraction Methods 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000007493 shaping process Methods 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000736839 Chara Species 0.000 description 1
- 101150082208 DIABLO gene Proteins 0.000 description 1
- 102100033189 Diablo IAP-binding mitochondrial protein Human genes 0.000 description 1
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/457—Communication
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种使用结构化数据与嵌入式主机通信的方法和***,其方法包括以下步骤:源代码分析及基本数据模型生成:利用一个或多个C/C++源代码、编译后的目标可执行程序生成基本数据模型;消息主体结构构建:将步骤一中生成的基本数据模型,按照规则组织整形为json格式的消息主体结构;传输层数据组织:将步骤二中描述的消息主体结构封装为一种传输协议,经过该传输协议组织后的数据报文通过以太网或无线空口传递给上位主机。本方法可以有效地完成通信设备开发及调试过程中需要进行的结构化数据抽取、整形与传输,最终实现了更高的开发效率、更高的数据利用率;能够满足在更低的传输带宽以及更低的数据计算负载条件下的设备维护及测试要求。
Description
技术领域
本发明涉及一种使用结构化数据与嵌入式主机通信的方法和***,属于通信技术领域。
背景技术
面向无线通信设备的维测用消息数据主要用于测试、调试及诊断。传统的面向无线通信设备维测用消息数据的收集方法主要有以下两种:
A)使用各类编程语言(如C#、Python等)从文本层面分析源代码中的原始数据类型定义,根据C/C++语言中的各类关键字(如struct、union、enum、[]、char、int等)自行设计词法分析逻辑,将其中的数据结构抽取出来并加以分析,得出每种数据结构的内存空间占用数量以及数据结构成员的内存偏移量。
B)修改C/C++编译器或者编写某些特定编译器(如clang)的插件程序,在C/C++程序的编译期完成对目标程序内存中各类数据结构的分析和结构化整理。
上述方法A)的问题在于将C/C++程序源代码作为纯文本进行关键字抽取以及词法分析,从实现角度难度很大,而且难以对所有C/C++程序的特定用法涵盖完整。此方案应用较广泛,是目前的普遍做法。
上述方法B)的问题在于难以应对编译器的定期版本更新,以及不同项目中使用不同编译器的情况。针对每种编译器都要做特别实现,方案的兼容性很差。此方案从软件工程角度问题较多,目前基本无应用先例。
用于承载无线通信设备维测消息的通信协议,传统的方法一般采用TCP/UDP的形式。这种方法通常存在协议层冗余数据量较大,在无线通信设备计算能力较弱、空闲网络带宽有限的情况下,只能通过牺牲传输的数据量来适应无线通信设备较低的数据计算能力以及有限的空闲带宽。因此会导致在无线通信设备的调试与运维环节开发者或运维人员能够获得的有效数据量较低,极大地妨碍了故障的解决效率,推高了开发及运维成本。
发明内容
本发明所要解决的技术问题是克服现有技术的缺陷,本发明提供了一种更加自动化、轻量化、低损耗的、用于嵌入式主机与上位主机通信的应用层数据组织方法和***。该方法和***可以通过高度自动化的方式从代码生成消息主体结构,同时利用特定的通信报文帧结构,降低了各类常见协议(如TCP(传输控制协议)、UDP(用户数据报协议)、IP(网际互联协议)等)自身带来的冗余数据量,能够有效解决通过源代码自动生成消息主体结构环节需要自行实现词法分析所导致的实现困难、解决方案不全面、工作量巨大等软件工程问题,同时也能够有效解决嵌入式主机计算能力不足、网络闲置带宽有限带来的无线通信设备在维护、故障定位等环节中广泛存在的调测数据量低、解决问题时间、人力成本高的问题,有助于大幅度提高维护与开发效率。
为解决上述技术问题,本发明采用的技术方案如下:
一种使用结构化数据与嵌入式主机通信的方法,包括以下步骤:
步骤一、源代码分析及基本数据模型生成:利用一个或多个C/C++源代码、编译后的目标可执行程序生成基本数据模型;
步骤二、消息主体结构构建:将步骤一中生成的基本数据模型,按照规则组织整形为json格式的消息主体结构;
步骤三、传输层数据组织:将步骤二中描述的消息主体结构封装为一种传输协议,经过该传输协议组织后的数据报文通过以太网或无线空口传递给上位主机。
进一步地,步骤一中源代码分析及基本数据模型生成具体步骤为:
1)在C/C++程序源文件中预定义消息索引结构,该消息索引结构中定义的常量的命名方式为前缀+消息数据结构体名称;这里前缀用于下述步骤3)中执行数据抽取,消息数据结构体名用于下述步骤2)具体定义需要输出的消息数据结构体。
2)定义用于输出的消息数据结构体,输出的消息数据结构体名即为步骤1)中所述的消息数据结构体名称;
3)根据步骤1)中定义的消息索引结构中所列的常量清单,查询所有以步骤1)中所述前缀开头的常量,将其名称去掉前缀后得出用于输出的消息数据结构体名称清单;遍历该清单中的每一个消息数据结构体名称,利用GNU调试器GDB分析该结构体的内存构造,并生成基本数据模型。
进一步地,步骤3)生成基本数据模型的具体步骤为:
31)在目标可执行程序的编译链接阶段,使用编译器的“-g”选项,使得生成的目标可执行程序中包含符号表,否则步骤32)将会因为没有符号表而失败;
32)选择目标可执行程序兼容的GDB,利用GDB提供的编程接口逐个分析消息数据结构体的内存构造;
33)将步骤32)中的分析结果生成基本数据模型。
进一步地,所述基本数据模型包含消息数据结构体的名字、消息的ID、消息数据结构体节点的索引、节点的名字、父节点的索引、节点类型、在父节点中的偏移值、本节点的长度、占用的位数、数组第一维的长度和/或数组第二维的长度。
进一步地步骤三中的传输协议包括一个以太帧头、一个消息头及若干个消息记录构成。
进一步地以太帧头定义为标准802.3协议标准。
进一步地,消息头定义包括的具体元素及长度为:2位的协议版本号、5位的发送者所属模块ID,1位的是否为最后一个分片标志位,8位的子***ID,16位的分段编号、32位的子***版本号、32位的保留字段,16位的分段偏移,16位的所有日志记录长度,16位的标识记录开始的固定的魔术字,16位的消息ID,32位的空口TSF计数器,8位的格式字符串类型日志的级别,4位的消息类型,20位的保留字段,16位的模块ID和16位的记录长度。
一种使用结构化数据与嵌入式主机通信的***,包括:
源代码分析及基本数据模型生成模块:利用一个或多个C/C++源代码、编译后的目标可执行程序生成基本数据模型;
消息主体结构构建模块:将生成的基本数据模型,按照规则组织整形为json格式的消息主体结构;
传输层数据组织模块:将消息主体结构封装为一种传输协议,经过该传输协议组织后的数据报文通过以太网或无线空口传递给上位主机。
一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述中任一项所述方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法。
本发明所达到的有益效果:
本发明通过使用结构化数据与嵌入式主机通信的方法,可以有效地完成通信设备开发及调试过程中需要进行的结构化数据抽取、整形与传输,最终实现了更高的开发效率、更高的数据利用率;能够满足在更低的传输带宽以及更低的数据计算负载条件下的设备维护及测试要求;它有效地解决了传统通信设备开发过程中普遍存在的消息数据自动抽取需要自行实现C/C++词法分析逻辑所带来的工程复杂度以及开发周期长、工作量大、难以全面涵盖各种情况的突出问题,同时它也有效地解决了大量消息数据输入输出时对传输带宽、数据计算能力要求高的问题,能够在更低的传输带宽、更低的数据计算能力下正确高效地工作,能够为调测、运维提供相对更大数量的数据样本,进而间接地提升了开发调试、运维、故障定位的工作效率,降低了产品成本。
附图说明
图1是利用GDB提供的编程接口分析结构体内存构造的流程图;
图2是数据模型示意图;
图3是基本数据模型组织为json格式的消息主体结构;
图4是传输协议的构成。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
本实施例中公开了一种使用结构化数据与嵌入式主机通信的方法。本方法主要包括3个步骤,分别是源代码分析及基本数据模型生成、消息主体结构构建、传输层数据组织。各主要步骤详细说明如下:
步骤一、源代码分析及基本数据模型生成。此步骤利用一个或多个C/C++源代码、编译后的目标可执行程序(包含符号表)生成基本数据模型。此步骤主要包含如下几个环节:
1)C/C++程序源文件中预定义消息索引结构,如下所示:
enumstruct_msg_id
{
msgid_bfr_info_sta,
msgid_apm_start_req,
msgid_apm_start_cfm,
……
}
其中该消息索引结构中定义的常量的命名方式为前缀+消息数据结构体名称。这里前缀用于下述步骤3)中执行数据抽取,消息数据结构体名用于下述步骤2)具体定义需要输出的消息数据结构。
2)按照步骤1)中所述,定义同名消息数据结构体(消息数据结构体名即为消息索引结构中定义的常量名去掉前缀后的结果,如常量名称为“msgid_bfr_info_sta”,前缀为“msgid_”,则对应的消息数据结构体名为“bfr_info_sta”)。各类消息数据结构体的定义只需符合C/C++语法即可。例如:
typedefstructbfr_info_sta
{
chara;
unsignedcharb;
shortc;
intskills;
}bfr_info_sta;//*/
3)根据步骤1)中定义的消息索引结构中所列的结构体清单(参照步骤2)中的名称转换关系),利用GDB(GNU调试器)逐个分析每个消息数据结构体的内存构造,并生成基本数据模型。具体细节如下:
31)在目标可执行程序的编译链接阶段,使用编译器的“-g”选项,使得生成的目标可执行程序中包含符号表。
32)选择目标可执行程序兼容的GDB(如目标可执行程序是用于X86平台的,则使用X86版本的GDB,如目标可执行程序是用于ARM平台的,则使用ARM版本的GDB),利用GDB提供的编程接口逐个分析上述消息数据结构体体的内存构造。调用的接口如下表1(本实施例中以python版本的GDB库为例):
表1
如图1所示,上述步骤32)所述的具体分析过程如下:
321)初始化gdb python程序接口,调用gdb.lookup取得当前消息数据结构体类型对象;
322)判断是否是根节点,若是根节点,则父节点index设为-1,当前节点index设为0;若不是根节点,则继续执行下一步;
323)判断类型对象编码;
当类型对象编码为数组类型时,解析数组维度,取得每个维度的元素数量;取得当前类型名称、偏移量和size;
当类型对象编码为整型时,再判断是否有符号,无符号时,根据size细分为ushort/ulong/uint/uchar,有符号时,根据size细分为short/long/int/char;取得当前类型名称、偏移量和size;
当类型对象编码为typdef/结构体/联合体时,父节点index=当前节点index,枚举每一个成员,成员节点index=当前节点index+1;重复执行步骤323);
324)打印当前节点index、父节点index、名称、类型、偏移量、size、一维数组长度、二维数组长度。
33)最终生成的基本数据模型,如下表2中所示,包含消息数据结构体的名字、消息的ID、消息数据结构体节点的索引、节点的名字、父节点的索引、节点类型、在父节点中的偏移值、本节点的长度、占用的位数、数组第一维的长度、数组第二维的长度。
表2
如图2所示,是上述步骤33)中生成的基本数据模型的一个具体示例。
步骤二、消息主体结构构建。该步骤负责根据步骤一中生成的所述基本数据模型,按照如下所述规则组织为json格式,便于后续步骤构造完整的消息体。
结合图3,对图中相应对象、元素说明如下表3,图3中将“消息数据结构体”简称为“结构体”。
表3
步骤三、传输层数据组织。此步骤用于将步骤二中描述的消息主体结构封装为一种特定的传输协议,经过此种传输协议组织后的数据报文将通过以太网或无线空口传递给上位主机。这种特定的传输协议主要包括一个以太帧头、一个消息头及若干个消息记录构成,如图4所示。
以太帧头定义(图中“以太网帧”中的DMAC、SMAC、TYPE、FCS)。为标准802.3协议标准,此处不再赘述。
消息头定义(图中“LSLog通讯协议”中所述内容),具体元素含义、长度说明如下表4所示,
表4
包括:2位的协议版本号、5位的发送者所属模块ID,1位的是否为最后一个分片标志位,8位的子***ID,16位的分段编号,32位的子***版本号、32位的保留字段,16位的分段偏移,16位的所有日志记录长度,16位的标识记录开始的固定的魔术字,16位的消息ID,32位的空口TSF计数器,8位的格式字符串类型日志的级别,4位的消息类型,20位的保留字段,16位的模块ID和16位的记录长度。
实施例2
本实施例公开了一种使用结构化数据与嵌入式主机通信的***,包括:
源代码分析及基本数据模型生成模块:利用一个或多个C/C++源代码、编译后的目标可执行程序生成基本数据模型;
消息主体结构构建模块:将生成的基本数据模型,按照规则组织整形为json格式的消息主体结构;
传输层数据组织模块:将消息主体结构封装为一种传输协议,经过该传输协议组织后的数据报文通过以太网或无线空口传递给上位主机。
实施例3
本实施例公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1中的使用结构化数据与嵌入式主机通信的方法。
实施例4
本实施例公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现实施例1中的使用结构化数据与嵌入式主机通信的方法。
实施例5
本实施例公开了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现实施例1中的使用结构化数据与嵌入式主机通信的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种使用结构化数据与嵌入式主机通信的方法,其特征是,包括以下步骤:
步骤一、源代码分析及基本数据模型生成:利用一个或多个C/C++源代码、编译后的目标可执行程序生成基本数据模型;
步骤二、消息主体结构构建:将步骤一中生成的基本数据模型,按照规则组织整形为json格式的消息主体结构;
步骤三、传输层数据组织:将步骤二中描述的消息主体结构封装为一种传输协议,经过该传输协议组织后的数据报文通过以太网或无线空口传递给上位主机。
2.根据权利要求1所述的一种使用结构化数据与嵌入式主机通信的方法,其特征是,步骤一中源代码分析及基本数据模型生成具体步骤为:
1)在C/C++程序源文件中预定义消息索引结构,该消息索引结构中定义的常量的命名方式为前缀+消息数据结构体名称;这里前缀用于下述步骤3)中执行数据抽取,消息数据结构体名用于下述步骤2)具体定义需要输出的消息数据结构体;
2)定义用于输出的消息数据结构体,输出的消息数据结构体名即为步骤1)中所述的消息数据结构体名称;
3)根据步骤1)中定义的消息索引结构中所列的常量清单,查询所有以步骤1)中所述前缀开头的常量,将其名称去掉前缀后得出用于输出的消息数据结构体名称清单;遍历该清单中的每一个消息数据结构体名称,利用GNU调试器GDB分析该结构体的内存构造,并生成基本数据模型。
3.根据权利要求2所述的一种使用结构化数据与嵌入式主机通信的方法,其特征是,步骤3)生成基本数据模型的具体步骤为:
31)在目标可执行程序的编译链接阶段,使用编译器的“-g”选项,使得生成的目标可执行程序中包含符号表,否则步骤32)将会因为没有符号表而失败;
32)选择目标可执行程序兼容的GDB,利用GDB提供的编程接口逐个分析消息数据结构体的内存构造;
33)将步骤32)中的分析结果生成基本数据模型。
4.根据权利要求2所述的一种使用结构化数据与嵌入式主机通信的方法,其特征是,所述基本数据模型包含消息数据结构体的名字、消息的ID、消息数据结构体节点的索引、节点的名字、父节点的索引、节点类型、在父节点中的偏移值、本节点的长度、占用的位数、数组第一维的长度和/或数组第二维的长度。
5.根据权利要求1所述的一种使用结构化数据与嵌入式主机通信的方法,其特征是,步骤三中的传输协议包括一个以太帧头、一个消息头及若干个消息记录构成。
6.根据权利要求5所述的一种使用结构化数据与嵌入式主机通信的方法,其特征是,以太帧头定义为标准802.3协议标准。
7.根据权利要求5所述的一种使用结构化数据与嵌入式主机通信的方法,其特征是,消息头定义包括的具体元素及长度为:2位的协议版本号、5位的发送者所属模块ID,1位的是否为最后一个分片标志位,8位的子***ID,16位的分段编号、32位的子***版本号、32位的保留字段,16位的分段偏移,16位的所有日志记录长度,16位的标识记录开始的固定的魔术字,16位的消息ID,32位的空口TSF计数器,8位的格式字符串类型日志的级别,4位的消息类型,20位的保留字段,16位的模块ID和16位的记录长度。
8.一种使用结构化数据与嵌入式主机通信的***,其特征是,包括:
源代码分析及基本数据模型生成模块:利用一个或多个C/C++源代码、编译后的目标可执行程序生成基本数据模型;
消息主体结构构建模块:将生成的基本数据模型,按照规则组织整形为json格式的消息主体结构;
传输层数据组织模块:将消息主体结构封装为一种传输协议,经过该传输协议组织后的数据报文通过以太网或无线空口传递给上位主机。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征是,所述处理器执行所述程序时实现如权利要求1至7中任一项所述方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征是,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310412585.7A CN116431117B (zh) | 2023-04-18 | 2023-04-18 | 使用结构化数据与嵌入式主机通信的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310412585.7A CN116431117B (zh) | 2023-04-18 | 2023-04-18 | 使用结构化数据与嵌入式主机通信的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116431117A true CN116431117A (zh) | 2023-07-14 |
CN116431117B CN116431117B (zh) | 2023-12-29 |
Family
ID=87090469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310412585.7A Active CN116431117B (zh) | 2023-04-18 | 2023-04-18 | 使用结构化数据与嵌入式主机通信的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431117B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180157469A1 (en) * | 2016-12-01 | 2018-06-07 | Red Hat, Inc. | Compiler integrated intelligent deserialization framework |
EP3751412A1 (en) * | 2019-06-11 | 2020-12-16 | ENGEL AUSTRIA GmbH | A computer-implemented method to generate an opc ua information model |
US10915304B1 (en) * | 2018-07-03 | 2021-02-09 | Devfactory Innovations Fz-Llc | System optimized for performing source code analysis |
CN114900570A (zh) * | 2022-07-13 | 2022-08-12 | 江西联创精密机电有限公司 | 一种标准化数据采集传输方法及*** |
CN115150483A (zh) * | 2022-05-17 | 2022-10-04 | 浙江木链物联网科技有限公司 | 一种网络数据包解析方法、***及可读存储介质 |
CN115145825A (zh) * | 2022-07-22 | 2022-10-04 | 深圳市朗科智能电气股份有限公司 | 一种单片机软件调参方法及*** |
CN115686493A (zh) * | 2022-10-09 | 2023-02-03 | 中航洛阳光电技术有限公司 | 一种c语言数据结构代码自动生成接口控制文档的方法 |
-
2023
- 2023-04-18 CN CN202310412585.7A patent/CN116431117B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180157469A1 (en) * | 2016-12-01 | 2018-06-07 | Red Hat, Inc. | Compiler integrated intelligent deserialization framework |
US10915304B1 (en) * | 2018-07-03 | 2021-02-09 | Devfactory Innovations Fz-Llc | System optimized for performing source code analysis |
EP3751412A1 (en) * | 2019-06-11 | 2020-12-16 | ENGEL AUSTRIA GmbH | A computer-implemented method to generate an opc ua information model |
CN115150483A (zh) * | 2022-05-17 | 2022-10-04 | 浙江木链物联网科技有限公司 | 一种网络数据包解析方法、***及可读存储介质 |
CN114900570A (zh) * | 2022-07-13 | 2022-08-12 | 江西联创精密机电有限公司 | 一种标准化数据采集传输方法及*** |
CN115145825A (zh) * | 2022-07-22 | 2022-10-04 | 深圳市朗科智能电气股份有限公司 | 一种单片机软件调参方法及*** |
CN115686493A (zh) * | 2022-10-09 | 2023-02-03 | 中航洛阳光电技术有限公司 | 一种c语言数据结构代码自动生成接口控制文档的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116431117B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101841515B (zh) | 可变目标的协议数据单元编解码代码自动生成的实现方法 | |
CN102637136B (zh) | 用于融合来自不同编译器阶段的调试信息的方法和设备 | |
CN111209005B (zh) | 程序文件的编译方法、装置和计算机可读存储介质 | |
CN112104664B (zh) | 物联网数据的协议转换方法、装置及设备 | |
EP1868090A1 (en) | A method and device for pattern matching and parsing on abnf character string | |
CN106598581A (zh) | 基于xml的asterix报文解析代码生成方法 | |
CN101261579A (zh) | 一种实现VBScript语言跨平台应用的方法 | |
CN104932905A (zh) | 一种aadl到c语言的代码自动生成方法 | |
CN114327477A (zh) | 智能合约执行方法、装置、电子装置和存储介质 | |
CN114756213B (zh) | 一种智能控制***代码自动生成方法及装置 | |
CN114610640A (zh) | 一种面向物联网可信执行环境的模糊测试方法和*** | |
CN112667287A (zh) | 规则文件的创建方法、装置、设备及计算机可读存储介质 | |
CN109359055B (zh) | 一种数据测试的方法和设备 | |
CN116431117B (zh) | 使用结构化数据与嵌入式主机通信的方法和*** | |
CN108173948B (zh) | 一种分布式试验数据实时交换方法 | |
CN106550026B (zh) | 一种网络通信装置及方法 | |
CN115202663A (zh) | 一种数据处理方法、装置和存储介质 | |
CN100362817C (zh) | 软件模块的测试方法 | |
KR20180135528A (ko) | 최적화된 높이를 가지는 밸런스드 파스 트리를 생성하는 방법 | |
CN110853327B (zh) | 一种基于单片机的船舶机舱设备数据现场调试采集方法及装置 | |
CN109614320A (zh) | 一种检测代码接口准确性的方法及终端 | |
CN111711605B (zh) | 一种用于物联网平台的数据协议主动解析方法 | |
CN111221519B (zh) | 一基于Python的CLI自动化导出方法 | |
CN113986210A (zh) | 一种支持脚本自定义的脚本引擎执行方法及*** | |
CN111510159B (zh) | 遵循通用信息交换协议规范的智能编码方法及编码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |