CN102270223B - 消息解码库的生成方法、装置及消息解码方法、装置 - Google Patents

消息解码库的生成方法、装置及消息解码方法、装置 Download PDF

Info

Publication number
CN102270223B
CN102270223B CN201110169331.4A CN201110169331A CN102270223B CN 102270223 B CN102270223 B CN 102270223B CN 201110169331 A CN201110169331 A CN 201110169331A CN 102270223 B CN102270223 B CN 102270223B
Authority
CN
China
Prior art keywords
information
message
storehouse
source codec
description information
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.)
Active
Application number
CN201110169331.4A
Other languages
English (en)
Other versions
CN102270223A (zh
Inventor
吴忠坤
魏明锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201110169331.4A priority Critical patent/CN102270223B/zh
Publication of CN102270223A publication Critical patent/CN102270223A/zh
Application granted granted Critical
Publication of CN102270223B publication Critical patent/CN102270223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种消息解码库的生成方法、装置及消息解码方法、装置,属于通信领域。该消息解码库的生成方法,包括:消息解码库的生成装置建立并存储消息特征信息与消息结构体名称之间的映射关系;生成装置从目标文件中的调试信息中获取与消息结构体名称对应的结构体描述信息,其中,目标文件是对源文件进行编译后得到的文件;生成装置将消息特征信息与结构体描述信息之间的映射关系存储到一解码数据库中;生成装置发布消息解码库,消息解码库包括解码数据库和接口单元,接口单元用于接收消息码流并获取消息码流的消息特征信息,进而利用解码数据库中保存的映射关系解析消息码流。本发明生成的消息解码库可以适用于不同的操作系统和平台。

Description

消息解码库的生成方法、装置及消息解码方法、装置
技术领域
本发明涉及通信领域,特别是指一种消息解码库的生成方法、装置及消息解码方法、装置。
背景技术
通讯系统或计算机系统中各子系统间存在消息传递和交互,这些消息都是以计算机可以识别的二进制码流的形式存在。在系统调试和维护过程中,需要将二进制的消息码流转换为人可以识别的信息,这就需要一个消息解码库来完成这项工作。
系统中每个消息的描述在源代码中都有一个与之对应的结构体定义,所谓解码就是将二进制的码流根据结构体的定义将结构体名称、元素名称、元素对应的值等信息输出为人可以识别的信息。
目前,实现消息解码库的方法是采用一个文本扫描工具将定义在源代码头文件中的结构体定义扫描出来,根据结构体定义生成打印函数,最后将包含打印函数的源文件编译生成最后的消息解码库。这种方法有两个核心步骤,一是从源代码中提取消息的结构体定义,二是根据结构体定义生成打印函数。
但是现有技术中根据扫描出来的结构体生成的打印函数存在字节对齐的问题,很难适应不同的操作系统和平台。如果源程序中的结构体定义发生了改变将需要重新扫描源代码生成打印函数然后编译生成解码库,针对不同的操作系统和平台需要编译不同的版本,过程十分复杂不利于解码库的维护。
发明内容
本发明要解决的技术问题是提供一种消息解码库的生成方法、装置及消息解码方法、装置,本发明生成的消息解码库可以适用于不同的操作系统和平台,维护方便,利用该消息解码库可以方便地对消息码流进行解码。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种消息解码库的生成方法,所述消息解码库用于对消息码流进行解码,包括:
消息解码库的生成装置建立并存储消息特征信息与消息结构体名称之间的映射关系;
所述生成装置从目标文件中的调试信息中获取与所述消息结构体名称对应的结构体描述信息,其中,所述目标文件是对源文件进行编译后得到的文件;
所述生成装置将所述消息特征信息与所述结构体描述信息之间的映射关系存储到一解码数据库中;
所述生成装置发布消息解码库,所述消息解码库包括所述解码数据库和接口单元,所述接口单元用于接收消息码流并获取消息码流的消息特征信息,进而利用所述解码数据库中保存的映射关系解析消息码流。
其中,所述消息解码库的生成装置建立并存储消息特征信息与消息结构体名称之间的映射关系,所述生成装置从目标文件中的调试信息中获取与所述消息结构体名称对应的结构体描述信息包括:
所述生成装置将所述消息结构体名称存储在第一列表中;
所述生成装置扫描目标文件中的调试信息,从中获取结构体描述信息;
所述生成装置将结构体名称存在于所述第一列表中的结构体描述信息存储在第二列表中。
其中,所述消息特征信息包括消息号,所述生成装置将所述消息特征信息与所述结构体描述信息之间的映射关系存储到一解码数据库中包括:
所述消息解码库的生成装置以消息号为索引在所述解码数据库中存储所述消息号与所述结构体描述信息之间的映射关系。
本发明实施例还提供了一种消息解码库的生成装置,所述消息解码库用于对消息码流进行解码,包括:
第一存储模块,用于建立并存储消息特征信息与消息结构体名称之间的映射关系;
处理模块,用于从目标文件中的调试信息中获取与所述消息结构体名称对应的结构体描述信息,其中,所述目标文件是对源文件进行编译后得到的文件;
第二存储模块,用于将所述消息特征信息与所述结构体描述信息之间的映射关系存储到一解码数据库中;
生成模块,用于发布消息解码库,所述消息解码库包括所述解码数据库和接口单元,所述接口单元用于接收消息码流并获取消息码流的消息特征信息,进而利用所述解码数据库中保存的映射关系解析消息码流。
其中,所述第一存储模块具体用于将所述消息结构体名称存储在第一列表中;
所述处理模块具体用于扫描目标文件中的调试信息,从中获取结构体描述信息,并将结构体名称存在于所述第一列表中的结构体描述信息存储在第二列表中。
其中,所述消息特征信息包括消息号,
所述第二存储模块具体用于以消息号为索引在所述解码数据库中存储所述消息号与所述结构体描述信息之间的映射关系。
本发明实施例还提供了一种消息解码方法,包括:
消息解码装置接收消息码流,从所述消息码流中获取消息特征信息;
所述消息解码装置通过消息解码库获取与所述消息特征信息对应的结构体描述信息,所述消息解码库包含的解码数据库中存储有消息特征信息与结构体描述信息之间的映射关系,所述结构体描述信息是从目标文件中的调试信息中获取的;
所述消息解码装置根据所述结构体描述信息对所述消息码流进行解码,获取所述消息码流所表示的结构体名称、元素名称和元素值。
其中,所述结构体描述信息包括结构体所在的源文件、在源文件中定义的位置,所述消息解码装置还根据所述结构体描述信息获取消息码流在源代码中的注释信息,将结构体的名称解析为结构体注释中描述的名称。
本发明实施例还提供了一种消息解码装置,包括:
接收模块,用于接收消息码流;
获取模块,用于从所述消息码流中获取消息特征信息,并通过消息解码库获取与所述消息特征信息对应的结构体描述信息,所述消息解码库包含的解码数据库中存储有消息特征信息与结构体描述信息之间的映射关系,所述结构体描述信息是从目标文件中的调试信息中获取的;
解码模块,用于根据所述结构体描述信息对所述消息码流进行解码,获取所述消息码流所表示的结构体名称、元素名称和元素值。
其中,所述结构体描述信息包括结构体所在的源文件、在源文件中定义的位置,所述解码模块还用于根据所述结构体描述信息获取消息码流在源代码中的注释信息,将结构体的名称解析为结构体注释中描述的名称。
本发明的实施例具有以下有益效果:
上述方案中,将消息特征信息与结构体描述信息之间的映射关系存储到与消息解码库的解码数据库中,在解码时先从消息码流中获取消息特征信息,之后通过消息解码库获取与消息特征信息对应的结构体描述信息,利用结构体描述信息对消息码流进行解码。本发明将结构体描述信息和解码用的接口单元分开,使得消息解码库可以适用于不同的操作系统和平台,从而使得消息解码库的维护比较方便。
附图说明
图1为本发明实施例的消息解码库的生成方法的流程示意图;
图2为本发明实施例的消息解码库的生成装置的结构示意图;
图3为本发明实施例的消息解码方法的流程示意图;
图4为本发明实施例的消息解码装置的结构示意图;
图5为本发明实施例的消息解码库的生成方法的另一流程示意图;
图6为本发明实施例的消息解码库的结构示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例针对现有技术中对于不同的操作系统和平台需要编译不同版本的解码库的问题,提供一种消息解码库的生成方法、装置及消息解码方法、装置,本发明生成的消息解码库可以适用于不同的操作系统和平台,维护方便,利用该消息解码库可以方便地对消息码流进行解码。
图1为本发明实施例的消息解码库的生成方法的流程示意图,如图1所示,本实施例包括:
步骤101:消息解码库的生成装置建立并存储消息特征信息与消息结构体名称之间的映射关系;
步骤102:生成装置从目标文件中的调试信息中获取与消息结构体名称对应的结构体描述信息,其中,目标文件是对源文件进行编译后得到的文件;
步骤103:生成装置将消息特征信息与结构体描述信息之间的映射关系存储到一解码数据库中;
步骤104:生成装置发布消息解码库,消息解码库包括解码数据库和接口单元,接口单元用于接收消息码流并获取消息码流的消息特征信息,进而利用解码数据库中保存的映射关系解析消息码流。
本发明实施例的消息解码库的生成方法,将消息特征信息与结构体描述信息之间的映射关系存储到与消息解码库的解码数据库中,将结构体描述信息和解码用的接口单元分开,使得消息解码库可以适用于不同的操作系统和平台,从而使得消息解码库的维护比较方便。
图2为本发明实施例的消息解码库的生成装置的结构示意图,如图2所示,本实施例包括:
第一存储模块20,用于建立并存储消息特征信息与消息结构体名称之间的映射关系;
处理模块22,用于从目标文件中的调试信息中获取与消息结构体名称对应的结构体描述信息,其中,目标文件是对源文件进行编译后得到的文件;
第二存储模块24,用于将消息特征信息与结构体描述信息之间的映射关系存储到一解码数据库中;
生成模块26,用于发布消息解码库,消息解码库包括解码数据库和接口单元,接口单元用于接收消息码流并获取消息码流的消息特征信息,进而利用解码数据库中保存的映射关系解析消息码流。
其中,第一存储模块20具体用于将消息结构体名称存储在第一列表中;
处理模块22具体用于扫描目标文件中的调试信息,从中获取结构体描述信息,并将结构体名称存在于第一列表中的结构体描述信息存储在第二列表中。
其中,消息特征信息包括消息号,第二存储模块24具体用于以消息号为索引在解码数据库中存储消息号与结构体描述信息之间的映射关系。
本发明实施例的消息解码库的生成装置,将消息特征信息与结构体描述信息之间的映射关系存储到与消息解码库的解码数据库中,将结构体描述信息和解码用的接口单元分开,使得消息解码库可以适用于不同的操作系统和平台,从而使得消息解码库的维护比较方便。
图3为本发明实施例的消息解码方法的流程示意图,如图3所示,本实施例包括:
步骤301:消息解码装置接收消息码流,从消息码流中获取消息特征信息;
步骤302:消息解码装置通过消息解码库获取与消息特征信息对应的结构体描述信息,消息解码库包含的解码数据库中存储有消息特征信息与结构体描述信息之间的映射关系,结构体描述信息是从目标文件中的调试信息中获取的;
步骤303:消息解码装置根据结构体描述信息对消息码流进行解码,获取消息码流所表示的结构体名称、元素名称和元素值。
本发明实施例的消息解码方法,在解码时先从消息码流中获取消息特征信息,之后通过消息解码库获取与消息特征信息对应的结构体描述信息,利用结构体描述信息对消息码流进行解码。
图4为本发明实施例的消息解码装置的结构示意图,如图4所示,本实施例包括:
接收模块40,用于接收消息码流;
获取模块42,用于从消息码流中获取消息特征信息,并通过消息解码库获取与消息特征信息对应的结构体描述信息,消息解码库包含的解码数据库中存储有消息特征信息与结构体描述信息之间的映射关系,结构体描述信息是从目标文件中的调试信息中获取的;
解码模块44,用于根据结构体描述信息对消息码流进行解码,获取消息码流所表示的结构体名称、元素名称和元素值。
其中,结构体描述信息包括结构体所在的源文件、在源文件中定义的位置,解码模块44还用于根据结构体描述信息获取消息码流在源代码中的注释信息,将结构体的名称解析为结构体注释中描述的名称。
本发明实施例的消息解码装置,在解码时先从消息码流中获取消息特征信息,之后通过消息解码库获取与消息特征信息对应的结构体描述信息,利用结构体描述信息对消息码流进行解码。
下面结合附图5对本发明实施例的消息解码库的生成方法进行进一步介绍,如图5所示,该方法包括以下步骤:
步骤501,注册消息,建立消息特征信息与消息结构体名称之间的映射关系;
其中消息特征信息可以是消息号,消息名称等,本实施例中以消息号和消息名作为消息的特征信息。首先将注册的消息号、消息名、消息对应的结构体名称以及它们之间的映射关系保存到DDB(Decode Data Base,解码数据库)文件中,便于在解码的时候根据消息号查找消息名和对应的结构体进行解码。
如果消息解码时只需要解出消息的名称不需要解出消息的内容,可以不注册消息对应的结构体名称,即只建立消息号和消息名之间的映射关系;
步骤502,扫描目标文件中的调试信息,从调试信息中获取结构体描述信息,将其中结构体名称与步骤501注册消息涉及的结构体名称相同的提取出来;
首先,扫描注册中涉及的结构体名称,生成一个注册的结构体列表(RSL)。然后,扫描目标文件中的调试信息,从中提取出结构体描述信息,如果提取出来的结构体描述信息中结构体的名称与RSL中的名称一致,则将该结构体的描述信息及其元素类型的描述都存储在一个临时的类型列表(TL)中。
结构体描述信息包括结构体名称、结构体大小、结构体所在的源文件、在源文件中定义的位置(行号)、结构体元素,结构体元素包括元素的名称、类型、大小、定义的位置(行号)、在结构体中的偏移等。
下面是从ELF(Executable and Linkable Format,可执行连接格式)格式的目标文件中的调试信息中扫描出来的结构体描述信息的一个例子:
如果一个Helloword.c文件定义如下:
1:typedef struct
2:{
3: int i;
4: char c;
5:}HelloWord;
6:int main()
7:{
8: HelloWord h;
9:}
扫描利用gcc编译后产生的目标文件Helloword.o中的调试信息,可以得到HelloWord的描述信息如表1所示,可以发现通过调试信息可获得结构体的描述信息。
表1
其中元素的类型可以为基础类型(如:int,char等)、类型重定义(如:typedef intINT32)、结构体、共用体、枚举、指针、数组,在上面的例子中元素i的类型为基础类型int。这些类型的描述信息都可以从ELF格式文件的调试信息中提取出来。
基础类型的描述信息包括基础类型的名称、大小、bit偏移、bit长度、Encoding。其中Encoding是标识该基础类型的类型,包括inear machine address、true or false、complex floating-point number、floating-point number、signed binary integer、signed character、unsigned binary integer、unsigned character。
类型重定义的描述信息包括重定义的名称、重定义的源类型、重定义所在的文件、重定义的位置(行号)。其中重定义的源类型包括基础类型、类型重定义、结构体、共用体、枚举、指针、数组。
共用体的描述信息和结构体的描述信息基本一致,只是共用体元素没有“元素在结构体中的字节偏移”。
枚举类型的描述信息如表2所示。
表2
指针的描述信息包括指针的大小、类型、定义所在的文件、定义的位置(行号)。其中指针的类型包括基础类型、类型重定义、结构体、共用体、枚举、指针、数组。
数组的描述信息包括数组的大小、维数、类型、定义所在的文件、定义的位置(行号)。其中指针的类型包括基础类型、类型重定义、结构体、共用体、枚举、指针、数组。
根据上面提供的各个类型的描述信息,足够将一个消息码流解析出来。另外,还可以通过各个类型的描述信息中定义的源文件和位置回溯到源代码中的定义,通过这种方式可以获取到其在源代码中的注释信息进行特殊的解码,如将结构体的名称解析为结构体注释中描述的名称等特殊解码;
步骤503,将扫描出来的结构体描述信息存储在DDB中;
即将步骤502生成的TL保存到DDB文件中。存储过程中对结构体描述信息进行编号,此外DDB文件中还包含了消息号、消息名、消息对应的结构体名称,在存储时建立以消息号的索引,便于根据消息号查找消息名和消息对应的结构体描述信息;
步骤504,将新生成的DDB文件和通用消息解码库打包发布。
将新生成的DDB文件和通用消息解码库打包发布即可发布最新的消息解码库,如图6所示为消息解码库的结构示意图。在解码时,通用的消息解码库利用DDB中的结构体描述信息解析消息码流。解码时首先从消息码流的头部获取结构体描述信息对应的消息号,根据消息号在DDB中查找出对应的消息名和结构体描述信息,然后根据结构体描述信息将消息码流逐步解析。
下面通过解析步骤502中的HelloWord实例来说明通用消息解码库是如何进行解码的,假设消息码流为0x0101000041000000,且消息码流为小端。
首先,根据消息头中的消息号在DDB文件中查到该消息对应的结构体HelloWord的描述信息。HelloWord的描述信息如表1所述。
然后,根据HelloWord的元素i的描述从消息码流偏移为0的位置截取4个BYTE,这4个BYTE为0x01010000,那么这4个BYTE表示的数值就是元素i的值,即i的值为257。根据HelloWord的元素c的描述从消息码流偏移为4的位置截取1个BYTE,这1个BYTE为0x41,那么这1个BYTE表示的数值就是元素c的值,即c的值为65,可以进一步根据c的类型(char)将c的值转换为’A’。
最后,将结构体名称、元素名称和元素对应的值输出到文本中,其输出格式如下:
HelloWord.i=257
HelloWord.c=‘A’
上述方案中,将消息特征信息与结构体描述信息之间的映射关系存储到与消息解码库对应的数据文件中,在解码时先从消息码流中获取消息特征信息,之后通过消息解码库获取与消息特征信息对应的结构体描述信息,利用结构体描述信息对消息码流进行解码。本发明将解码数据库中的结构体描述信息单独存放,使得消息解码库可以适用于不同的操作系统和平台,从而使得消息解码库的维护比较方便。
此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种消息解码库的生成方法,所述消息解码库用于对消息码流进行解码,其特征在于,所述生成方法包括:
消息解码库的生成装置建立并存储消息特征信息与消息结构体名称之间的映射关系;包括:所述生成装置将所述消息结构体名称存储在第一列表中;
所述生成装置从目标文件中的调试信息中获取与所述消息结构体名称对应的结构体描述信息,其中,所述目标文件是对源文件进行编译后得到的文件;包括:所述生成装置扫描目标文件中的调试信息,从中获取结构体描述信息;所述生成装置将结构体名称存在于所述第一列表中的结构体描述信息存储在第二列表中;
所述生成装置将所述消息特征信息与所述结构体描述信息之间的映射关系存储到一解码数据库中;
所述生成装置发布消息解码库,所述消息解码库包括所述解码数据库和接口单元,所述接口单元用于接收消息码流并获取消息码流的消息特征信息,进而利用所述解码数据库中保存的映射关系解析消息码流。
2.根据权利要求1所述的消息解码库的生成方法,其特征在于,所述消息特征信息包括消息号,所述生成装置将所述消息特征信息与所述结构体描述信息之间的映射关系存储到一解码数据库中包括:
所述消息解码库的生成装置以消息号为索引在所述解码数据库中存储所述消息号与所述结构体描述信息之间的映射关系。
3.一种消息解码库的生成装置,所述消息解码库用于对消息码流进行解码,其特征在于,包括:
第一存储模块,用于建立并存储消息特征信息与消息结构体名称之间的映射关系;具体用于将所述消息结构体名称存储在第一列表中;
处理模块,用于从目标文件中的调试信息中获取与所述消息结构体名称对应的结构体描述信息,其中,所述目标文件是对源文件进行编译后得到的文件;具体用于扫描目标文件中的调试信息,从中获取结构体描述信息,并将结构体名称存在于所述第一列表中的结构体描述信息存储在第二列表中;
第二存储模块,用于将所述消息特征信息与所述结构体描述信息之间的映射关系存储到一解码数据库中;
生成模块,用于发布消息解码库,所述消息解码库包括所述解码数据库和接口单元,所述接口单元用于接收消息码流并获取消息码流的消息特征信息,进而利用所述解码数据库中保存的映射关系解析消息码流。
4.根据权利要求3所述的消息解码库的生成装置,其特征在于,所述消息特征信息包括消息号,
所述第二存储模块具体用于以消息号为索引在所述解码数据库中存储所述消息号与所述结构体描述信息之间的映射关系。
5.一种消息解码方法,其特征在于,包括:
消息解码装置接收消息码流,从所述消息码流中获取消息特征信息;
所述消息解码装置通过消息解码库获取与所述消息特征信息对应的结构体描述信息,所述消息解码库包含的解码数据库中存储有消息特征信息与结构体描述信息之间的映射关系,所述结构体描述信息是从目标文件中的调试信息中获取的,由生成装置扫描目标文件中的调试信息,从中获取;所述消息结构体名称存储在第一列表中;结构体名称存在于所述第一列表中的结构体描述信息存储在第二列表中;
所述消息解码装置根据所述结构体描述信息对所述消息码流进行解码,获取所述消息码流所表示的结构体名称、元素名称和元素值。
6.根据权利要求5所述的消息解码方法,其特征在于,所述结构体描述信息包括结构体所在的源文件、在源文件中定义的位置,所述消息解码装置还根据所述结构体描述信息获取消息码流在源代码中的注释信息,将结构体的名称解析为结构体注释中描述的名称。
7.一种消息解码装置,其特征在于,包括:
接收模块,用于接收消息码流;
获取模块,用于从所述消息码流中获取消息特征信息,并通过消息解码库获取与所述消息特征信息对应的结构体描述信息,所述消息解码库包含的解码数据库中存储有消息特征信息与结构体描述信息之间的映射关系,所述结构体描述信息是从目标文件中的调试信息中获取的,由生成装置扫描目标文件中的调试信息,从中获取;所述消息结构体名称存储在第一列表中;结构体名称存在于所述第一列表中的结构体描述信息存储在第二列表中;
解码模块,用于根据所述结构体描述信息对所述消息码流进行解码,获取所述消息码流所表示的结构体名称、元素名称和元素值。
8.根据权利要求7所述的消息解码装置,其特征在于,所述结构体描述信息包括结构体所在的源文件、在源文件中定义的位置,所述解码模块还用于根据所述结构体描述信息获取消息码流在源代码中的注释信息,将结构体的名称解析为结构体注释中描述的名称。
CN201110169331.4A 2011-06-22 2011-06-22 消息解码库的生成方法、装置及消息解码方法、装置 Active CN102270223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110169331.4A CN102270223B (zh) 2011-06-22 2011-06-22 消息解码库的生成方法、装置及消息解码方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110169331.4A CN102270223B (zh) 2011-06-22 2011-06-22 消息解码库的生成方法、装置及消息解码方法、装置

Publications (2)

Publication Number Publication Date
CN102270223A CN102270223A (zh) 2011-12-07
CN102270223B true CN102270223B (zh) 2017-03-29

Family

ID=45052528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110169331.4A Active CN102270223B (zh) 2011-06-22 2011-06-22 消息解码库的生成方法、装置及消息解码方法、装置

Country Status (1)

Country Link
CN (1) CN102270223B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631983B (zh) * 2013-08-19 2016-10-05 中国人民解放军装甲兵工程学院 一种战术数据报文模拟方法及系统
CN104317575B (zh) * 2014-09-30 2018-04-13 珠海格力电器股份有限公司 空调器组件的代码文件的封装方法和装置
CN105740292B (zh) * 2014-12-12 2019-06-28 深圳市中兴微电子技术有限公司 一种解码方法及装置
CN105139053B (zh) * 2015-10-15 2018-01-30 江苏本能科技有限公司 射频识别读写器接口协议调试装置及方法
CN107404464B (zh) * 2016-05-20 2020-05-08 大唐移动通信设备有限公司 一种信令解码方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052526A (en) * 1997-04-17 2000-04-18 Vertel Corporation Data structure and method for dynamic type resolution using object-oriented programming language representation of information object sets
CN1627757A (zh) * 2003-12-12 2005-06-15 华为技术有限公司 通用消息解释器的实现方法
CN1858717A (zh) * 2005-05-08 2006-11-08 中兴通讯股份有限公司 一种数据编解码方法及其编解码器
CN101695172A (zh) * 2009-10-16 2010-04-14 北京天碁科技有限公司 通信设备消息接口独立描述与编码的方法及装置
CN102195754A (zh) * 2011-05-18 2011-09-21 中兴通讯股份有限公司 At命令与业务消息的转换方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052526A (en) * 1997-04-17 2000-04-18 Vertel Corporation Data structure and method for dynamic type resolution using object-oriented programming language representation of information object sets
CN1627757A (zh) * 2003-12-12 2005-06-15 华为技术有限公司 通用消息解释器的实现方法
CN1858717A (zh) * 2005-05-08 2006-11-08 中兴通讯股份有限公司 一种数据编解码方法及其编解码器
CN101695172A (zh) * 2009-10-16 2010-04-14 北京天碁科技有限公司 通信设备消息接口独立描述与编码的方法及装置
CN102195754A (zh) * 2011-05-18 2011-09-21 中兴通讯股份有限公司 At命令与业务消息的转换方法及装置

Also Published As

Publication number Publication date
CN102270223A (zh) 2011-12-07

Similar Documents

Publication Publication Date Title
US7574347B2 (en) Method and apparatus for robust efficient parsing
CN102270223B (zh) 消息解码库的生成方法、装置及消息解码方法、装置
US7287217B2 (en) Method and apparatus for processing markup language information
CN102510323B (zh) 一种串口数据的帧识别方法
US20070136698A1 (en) Method, system and apparatus for a parser for use in the processing of structured documents
CN106970820A (zh) 代码存储方法及代码存储装置
CN101788992A (zh) 一种数据库查询语句的转换方法和转换系统
Dai et al. A 1 cycle-per-byte XML parsing accelerator
CN105550524A (zh) 一种新型临床病例数据采集系统及采集方法
CN101110812A (zh) 文本命令解析处理方法
CN108563629B (zh) 一种日志解析规则自动生成方法和装置
US20060167902A1 (en) System and method for storing a document in a serial binary format
CN112671734B (zh) 面向多数据源的报文处理方法及其相关设备
KR100817562B1 (ko) 대용량 로그파일의 인덱싱 방법, 이를 내장한 컴퓨터가판독 가능한 기록매체 및 이를 수행하기 위한 인덱싱시스템
US20060235868A1 (en) Methods and apparatus for representing markup language data
WO2013137864A1 (en) Submatch extraction
CN110851136A (zh) 数据获取方法、装置、电子设备及存储介质
CN107025125B (zh) 一种原始码流解码方法和系统
CN113822059A (zh) 中文敏感文本识别方法、装置、存储介质及设备
CN103577604B (zh) 一种用于Hadoop分布式环境的图像索引结构
CN103118028B (zh) 基于网页解析的安全扫描方法及系统
CN102521250A (zh) 一种智能测量仪器通用语法分析的实现方法
CN107463340A (zh) 计算机的数据存储系统
CN106484728A (zh) 日志数据的生成方法、解析方法、生成装置及解析装置
CN113934430A (zh) 数据检索分析方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant