CN101222365B - 一种类c结构接口报文处理方法 - Google Patents

一种类c结构接口报文处理方法 Download PDF

Info

Publication number
CN101222365B
CN101222365B CN2008100047182A CN200810004718A CN101222365B CN 101222365 B CN101222365 B CN 101222365B CN 2008100047182 A CN2008100047182 A CN 2008100047182A CN 200810004718 A CN200810004718 A CN 200810004718A CN 101222365 B CN101222365 B CN 101222365B
Authority
CN
China
Prior art keywords
message
asn
interface
class
processing method
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
CN2008100047182A
Other languages
English (en)
Other versions
CN101222365A (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 CN2008100047182A priority Critical patent/CN101222365B/zh
Publication of CN101222365A publication Critical patent/CN101222365A/zh
Application granted granted Critical
Publication of CN101222365B publication Critical patent/CN101222365B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种类c结构接口报文模拟处理方法,采用类c结构接口报文与被测对象交互,还包括:利用编译平台和编解码规则实现交互的类c结构接口报文和底层的ASN.1报文相互转换;基于ASN.1功能模块实现类c结构接口报文的底层模拟。这种方法借助于接口描述语言ASN.1模拟类c语言结构报文,不需要从底层报文结构的表示方法开始做类c报文的模拟工作,和ASN.1统一了处理流程,减少了开发工作量,降低类c报文制作的难度和报文制作的工作量。

Description

一种类c结构接口报文处理方法
技术领域
本发明涉及接口报文处理,具体涉及一种类c结构接口报文编解码方法和模拟处理方法。
背景技术
ITU-T M.3010将电信管理层模型划分为网元层(NEL)、网元管理层(EML)、网络管理层(NML)、业务管理层(SML),事务管理层(BML)。在同层之间或上下层之间都需要通信交互,因此也就存在着各种通信接口。比如SDH网络管理系统中存在下面常见的接口,F接口:GUI与Manager的接口,F接口采用Ethernet方式,对于Ethernet采用TCP/IP协议。Qx接口:网元层的Agent与网元管理层的Manager的接口,Qx接口采用Ethernet方式,采用TCP/IP协议进行通讯S接口:网元层内Agent与MCU的一种私有协议,S接口采用基于HDLC通讯机制进行一点对多点的通讯。在网元层单板软件中,一种典型应用是,由于受内存成本限制和效率的考虑,常用c语言来开发。因此在单板软件之间或和其它上层管理软件通信的接口协议,也常采用类c语言结构描述。而Qx接口和S接口采用类c语言结构描述,F接口采用ASN.1描述。这种类c语言描述的接口在其它领域也很常见。所有的接口都要有自然语言文字配合说明结构中各字段的实际意义,由于c语言是程序设计语言而不象ASN.1是报文描述语言,所以在描述报文的时候还需要一些自然语言说明结构中各字段之间的关系。
类c语言描述的接口,是指用c语言的数据类型来描述软件模块间的接口报文。由于存在两台不同的主机之间进行通信的要求,因此类c报文要求不能存在含指针表示数组的数据结构,这样就要求一条接口报文放在一块连续的数据区。一条接口报文可以采用树形结构表示。不同主机间通信采用网络序的要求,同一主机的软件模块间可以采用络序或不需要转化直接采用主机序。c语言有char、bool、short、int、float等基本类型,可以通过struct包括基本类型成员或其它结构成员进行数据类型扩展。
主机序如果在intel的机器,就是小端序(LITTLE_ENDIAN);如果是sun工作站,就是大端序(BIG_ENDIAN),也叫网络序。如一个4字节整数0x0102,其对应大端字节序列:00 00 01 02,而小端字节序是02 01 00 00。二者的次序是相反的,在报文处理中字节序对整数和位域的处理有影响,对字符串等没有影响。
ASN.1(抽象文法标记规范,Abstract Syntax Notation.1)是ITU定义的描述在网络上传输信息格式(也就是接口报文码流)的标准规范,为节点间的数据转换提供标准格式。每个节点只关心从ASN.1翻译过来或翻译成ASN.1而不必知道数据存于网络任何处的格式。它有两部分:第一部份(ISO8824/ITU X.208)描述信息内的数据、数据类型及序列格式,也就是数据的语法;第二部分(ISO 8825/ITU X.209)描述如何将各部分数据组成消息,也就是数据的基本编码规则,原来是作为X.409的一部分而开发的,后来才独立地成为一个标准。第一代PKI(即公开密钥体系Public KeyInfrastructure)标准主要是基于ASN.1的,在SNMP(简单网络管理协议)中它用于定义SNMP协议数据单元和对象的格式,被广泛应用于通信和计算机的其他领域。
使用ASN.1报文格式通信也就成为电信网管系统最常见的通信方式。
ASN.1报文具有如下特殊性质:
1.报文呈树状结构,可以根据需要定义较多层次的报文嵌套。
2.报文中某个节点的类型多种多样,可能为一个简单数据类型,比如INTEGER、GRAPHICSTRING,ENUM等等;也有可能为包含再下级节点的复合数据类型SET,SEQUENCE,SET OF,SEQUENCE OF。
3.在SET,SEQUENCE结构中,某个节点有可能不存在,因为对应报文节点允许设置为OPTIONAL,表示可有可无。
4.在使用ASN.1文件时,首先在ASN.1文件定义ASN.1结构,然后通过编译器编译成为中间程序语言结构,比如Java,C++语言。然后通过使用对应的程序语言结构,达到通信的目的。
5.ASN.1支持BER(基本编码规则,Basic Encoding Rules),DER(区分编码规则,Distinguished Encoding Rules),VAL(值编码规则,ASN.1 valuenotation)等编码,可以将中间语言结构实例编码为码流,但是在从码流解码为中间语言结构实例时会有问题,首先要知道码流对应的结构,然后才能用该结构的解码方法解码,如果该结构中包括ANY类型(指不确定的类型),该类型数据还要通过其它成员字段确定其特定类型才能再进一步解码。
关于报文在C/S类型软件中一般常用的方法是:
1.建立客户端与服务器端的连接;
2.客户端与服务器端进行协议交互:.
a)报文发送方填写报文头和报文体,报文头包括命令码、报文体.报文体真实数据类型因命令码不同而不同;
b)报文发送方编码报文为字节流,发送给报文接受方;
c)报文接受方接受到报文字节流,解码报文头,然后根据其中的命令码,用特定数据类型解码报文体;
d)报文接受方根据报文的内容,作相应的响应;
3.交互结束,关闭连接。
在针对报文的接口测试工具中经常需要模拟各种接口的报文,模拟报文有两种来源,一种是通过解释性脚本语言创建,另一种是通过持久化数据创建报文结构实例,进一步还要求可以修改该实例。而在应用程序中在有时候要求将报文持久化保存为文件或保存到数据库,并且从持久化报文中再现报文。并且希望文件中的数据是可读的,可以修改其中的数据。这样就需要模拟F接口的ASN.1报文、Qx接口的类c描述报文、S接口的类c描述报文.现有的ASN.1编译平台,包括DSET和ESNACC都能根据ASN.1的结构生成其描述信息。类c描述报文和ASN.1表述的报文,都展现的是一种节点间的树形关系,并且ASN.1可以在语义上表示类c报文.如果类c描述报文和ASN.1的报文用不同的方式实现模拟,工作量太大。
发明内容
本发明需要解决的技术问题是如何提供一种类c结构接口报文处理方法,能借助已有的ASN.1技术以及编译平台对类c报文的编码、解码或进行报文模拟工作,既可以用在开发中,也可以用在基于接口报文的测试中,并且和ASN.1统一了处理流程,减少了开发工作量,降低类c报文制作的难度和报文制作的工作量。
本发明的上述技术问题这样解决,提供一种类c结构接口报文模拟处理方法,采用类c结构接口报文与被测对象交互,还包括以下步骤:
A)利用编译平台和编解码规则实现交互的类c结构接口报文和底层的ASN.1报文相互转换;
B)基于ASN.1功能模块实现类c结构接口报文的底层模拟。
按照本发明提供的处理方法,所述编解码规则包括类c语言数据类型和ASN.1数据类型的对应关系。
按照本发明提供的处理方法,所述编解码规则包括c接口头文件中的傀结构。
按照本发明提供的处理方法,所述编解码规则包括对类c报文的语法规范。
按照本发明提供的处理方法,所述编译平台是支持BER,PER编码并能实现VAL格式数据和C++结构实例相互转换的ASN.1编译器。
按照本发明提供的处理方法,所述被测对象和交互使用相同编码规则。
按照本发明提供的处理方法,所述编码规则可以是目前规则:BER或PER等规则;也可以是目前ASN.1不支持的编码规则,所以我们在后面“具体实施方式”中引入了一种新规则。
按照本发明提供的处理方法,所述功能模块包括脚本操作、报文编辑、报文比较和报文存储。
本发明提供的一种类c结构接口报文模拟处理方法,借助于接口描述语言ASN.1模拟类c语言结构报文的方法,利用已有的ASN.1技术以及编译平台,将类c结构接口头文件转化ASN.1文件,并且为ASN.1提供一种扩展的编解码规则。不需要从底层报文结构的表示方法开始做类c报文的模拟工作,并且和ASN.1统一了处理流程,减少了开发工作量,降低类c报文制作的难度和报文制作的工作量,与现有技术比较具有以下特点:1.使类c的结构报文语法借助于接口描述语言ASN.1得到规范,降低了人为定义接口的随意性,使得程序开发者在理解报文接口规范时歧义减少。2。用于开发中,标准化了接口语法,可以编解码方法可以接口层靠编译器生成,和应用层无关。去除了开发人员报文编解码的工作量。3.使得类c语言定义的报文模拟和ASN.1报文的处理统一。4.使得类c语言定义的报文在模拟的时候可以利用现有的关于ASN.1处理的成熟技术。5.采用转化工具自动把c接口头文件转化为ASN.1文件,除了编解码,其它功能可以直接采用ASN.1的功能模块,如报文读写、报文编辑、报文比较、报文传递等。减轻了开发工作量,也降低了测试工具的培训维护工作量,同时也降低了测试人员的维护报文的工作量。6.方法本身是通用的,不依赖于特定的被测软件和特定的ASN.1编译器。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明。
图1是c语言简单类型到ASN.1类型的映射表;
图2是c报文的插件生成过程示意图;
图3是利用报文插件处理报文模块调用关系示意图;
图4是ESNACC C++基本类结构继承体系示意图。
具体实施方式
首先,说明本发明具体实现的整体技术方案:
1、接口规范,目的是实现类c报文的语法规范,减少自然语言定义的随意性。
1.1明确结构中不定长数组编码后相对该结构的位置.一般有两种可能的情况:第一种是不定长数组的码流放在父结构中前一个字段后面,也就是其在结构中的定义位置。第二种是不定长数组放在该数组在父结构的尾部,此时为了定位方便,可以加入一些辅助结构,并且如果存在数组结构中包含子数组,就要求这些数组结构按某种方式排列,如前序遍历方式。
1.2选择结构的定义,结构中存在字段b数据类型是由本结构的字段a的数值决定,称类似a的功能字段为主字段,称类似b的功能字段为从字段,要求从字段放在其父结构的末尾。而且在一个结构中只有一个,如果一个结构中存在多个从字段的结构,那只要把那几个从字段和它们各自的主字段放在子结构中,再定义到它们的父结构中,这依然和原来的结构等价,这仅仅是一种处理技巧而不是一种限制。
1.3确定支持哪些简单类型,这样通过数组(分定长或不定长两种),struct的定义就可以扩展成为更复杂的结构。如支持8位,16位,32位的有或无符号整数,布尔等类型等。8位的整数和字符等价,这样也能表达字符串。
2、建立映射关系,建立类c语言数据类型和ASN.1数据类型的对应关系。实现简单数据类型、数组、整数宏、复合数据类型到对应关系。有了这种映射转换关系,目的是可以通过这些规则自制工具把c接口头文件转化为ASN.1文件。
2.1c语言简单类型到ASN.1的类型进行一定的对应关系。
2.2c语言数组映射ASN.1类型,不定长数组采用SEQUENCE OF对应;定长数组采用多个连续加数字后缀的字段,对于定长的INT8[SIZE]数组映射为OCTET STRING(SIZE)。
2.3整数宏可以映射ASN.1的ENUMERATED类型,并且对整数宏分组而给以组名,组名可以成为ASN.1 ENUMERATED的类型名称。整数宏就是提供了对整数进行选择赋值的手段,宏不是模拟报文所必需的。
2.4 c语言的结构采用ASN.1的SEQUENCE表述。接口中从字段可变类型采用ANY表述。
3、完善c接口头文件,目的是补充一些c语言结构,而这些结构在接口定义中涉及的信息.根据1、2规范和映射关系,可以在接口头文件增加傀儡一些结构,这些结构是为了工具自动从c接口头文件转化ASN.1文件的需要而补充的,开发人员不使用。如c语言的不定数组用指针表示,整数宏组用注释实现宏分组等,这样转化工具就可以将所有的c语言报文接口结构转换为ASN.1结构。
4、转换模块,目的是将c接口头文件转化为ASN.1文件。可以通过步骤1-2规则实现自制工具进行转换。
5、插件制作模块,将ASN文件编译成插件,插件是具有一定接口的可执行模块,目的是实现可以灵活装载或卸载的插件。具体可见专利一种ASN.1的报文构造面向对象方法(专利申请号200610161964.X),这个步骤一般通过makefile完成。
5.1对ASN.1报文编译生成某种面向对象语言的代码。
5.2将步骤5.1中的代码进一步生成具有特定接口的插件,此步骤可选。具体可见一种ASN.1的报文构造面向对象方法。
6、CER编码模块,实现ASN.1扩展编码规则CER。实现小端序和大端序两种编码方法,如果主机序是小端序,则要求整数类型对应码流符合INTEL主机内存存储格式,大端序要求整数类型采用和小端序相反的码流顺序,其它简单类型码流大小端序一致同计算机内存存储格式,数组采用第1条的规范编码,而结构中个其它字段的码流依据其在结构中的先后顺序编码。对于类型确定的结构解码采用相同的规则,而从字段根据主字段确定类型,再进一步解码。
7、采用CER码流和被测对象进行交互。
上述步骤1-3主要是准备完整的c接口头文件,为后续的处理做准备,步骤4-5可以通过makefile方式自动实现。步骤6是编解码规则的实现,只要报文语法满足1、2的要求,和具体报文无关。在程序开发中应用可以直接用ASN.1作为接口定义语言,只要实现CER编解码方法即可。
由于c语言接口1报文在不同的软件项目中使用,在规则和细节上可能要求有区别。这样就可能实现ASN.1的类c扩展规则有多种,但大同小异。
第二步,进一步描述该方案中的具体细节和关键:
(一)图1描述了c语言基本类型到ASN.1类型的映射关系,包括了常用的各种整数,布尔,无类型指针映射为ANY类型,一种步骤2.1的映射关系。在映射为ASN.1的类型加‘S’前缀是为了防止和某些C++语言的类库支持数据类型名称冲突。
(二)图2描述了类c报文报文插件的生成过程,包括c接口头文件的完善,到生成ASN.1文件,以及报文插件的编译生成。
步骤A.为了弥补c结构定义中采用了自然语言,而导致一些接口信息在c接口结构中缺失,可以采用一定的注释格式弥补,关于整数宏分组也采用注释的办法分组,提供组名。
步骤B.弥补在接口规范文档中定义了的信息,但是在c接口头文件中没有体现的信息,增加一些傀儡结构;或把同一个接口报文中分散的信息其中在一起,放在一个结构中。经常报文体做为报文头末尾的一个ANY字段,而ANY类型字段,只能放一个结构,这就要求报文中的一些数据要集中在一个结构中。
步骤C.手工或转化工具把c结构头文件转化为ASN.1文件,主要是利用本发明实现的整体技术方案步骤1的规范和步骤2的规则。称工具为h2asn。
步骤D.利用现有的ASN.1编译器生成C++类结构,其中含有类结构描述信息,这是编解码规则的依据。本实施例中采用ESNACC做ASN.1的C++编译器。通过makefile直接生成含结构描述信息的报文插件。
(三)图3利用报文插件处理报文模块调用关系,公共操作模块封装了对插件和各种编码规则模块的管理,供上层应用功能调用。ASN.1 C++结构和码流格式之间的相互转化,以及对码流进行的各种操作,脚本操作、报文编辑、报文比较、报文存储的实现都要依赖插件中的结构描述信息。
步骤F.1  C++类结构实例采用各种编码规则生成相应的数据格式码流。
步骤F.2特定的数据格式码流采用编码规则可以解码为的C++类结构实例。如果其中含有从字段,需要进一步解码。
步骤G说明可以通过不同的编码规则,和具有不同编码规则的被测对象交互,指报文的模拟测试。
步骤G.2通过BER编码规则,就可以实现和使用BER规则的被测对象1的交互。
步骤G.2通过CER编码规则,就可以实现和类c结构结构报文模拟和被测对象2的交互。
㈣图4 ESNACC基本类结构继承体系。AsnType的顶层基类。ESNACC基本类继承关系层次图,ESNACC基本基类为AsnType,AsnType为抽象基类。在此之上继承了一些简单的类型来支持基本ASN.1数据类型如AsnInt、AsnReal、AsnRelativeOid、AsnAny、AsnOcts、AsnBool、AsnNull、asnString,其中AsnInt也由PERGgeneral派生,AsnEnum由AsnInt派生,AsnOid由AsnRelativeOid派生;AsnList是实现其它Asn.1类的中间类型、AsnSetOf、AsnSeqOf由AsnList派生;使用了标准模板库的std::string、std::list来进一步支持SEQUENCE OF、SET OF等。一些应用的字符串类型如VisibleString、GraphicString、Ia5String、PrintableString、NumericString是由基本字符串类型AsnString派生来的。其中GeneralizedTime、UTCTime由VisibleString派生。
最后,结合具体实施例进行具体说明:
该网管测试平台的实例,详细说明了报文构造方法,本文采用ESNACCASN.1编译平台,实现CER的报文编解码规则。在实施流程7中说明了在网管开发中的应用。本发明可以适用于任何面向对象程序语言实现,本文主要结合C++讨论,也可以使用其它面向对象的程序语言,如JAVA语言实现。
(一)测试报文来源
本发明使用的报文来源于被测多个网管项目的子系统通信报文,网管中使用接口种类较多,每个网管由于版本不同,新版本的报文存在一定的增删,要求测试平台能够模拟报文,提供各种报文操作功能。本文讨论的类c接口报文有两种,一种是基于不同主机间通讯的报文,一种是基于同一进程内不同模块间的交互报文。前者要求是大端序,后者要求是主机序,主机序就有可能是小端序或大端序。
(二)编译平台
ESNACC是开放源码的ASN.1编译器,支持BER,PER编码,在原来的基础上已经增加了VAL格式的数据,可以实现VAL格式数据和C++结构实例之间的相互转换。编译器提供的ASN.1支持模块:ASN.1编译器通常提供编译器和底层支持模块,编译器将ASN.1文件编译生成特定程序语言代码,如C++、Java。将ASN.1的结构编译成程序语言的类。底层支持模块为生成的代码执行提供支持。如C++中一般提供多个库给可以给生成的代码调用,其中包括ASN.1特定语言的基类和一些支持操作的功能。
(三)接口报文处理流程
在需要自动化模拟测试类c接口报文之前,先要规范接口的定义语法,在满足接口的功能要求的同时,语法不能有很强的随意性;然后实现基于语法规范的CER编码规则。在每个版本报文测试前,根据接口规范说明文档完善c接口头文件,采用转换工具自动转化c接口头文件到ASN.1文件,之后做成报文插件,根据报文插件对模拟报文对报文进行各种操作。
1.要测试的数据类型简单数据类型,结构,可变类型数据,数组。前三种数据规则前面已经说清楚了。就是数组的编码可能有两种情况,在本发明步骤1.1中对第一种数组情况。如
typedef struct{
  UINT32    a1;
UINT32 a2Num;
  A3_Struct*  a31st;
UINT16 a4Num;
  A5_Struct*  a51st;
UINT32 a6;
}AStruct;
typedef struct
{
UINT16  b1;
UINT16  b2;
UINT32  b3;
}A3_Struct;
typedef struct
{
UINT32  c1;
UINT32  c2;
UINT32  c3;
}A5_Struct;
在AStruct中有两个不固定数组a31st、a51st,其中a2Num表示a31st中元素个数,a4Num表示a51st中元素数目,并且数目和数组所在的位置是相连的,表示元素数目的整数所占位数可能各不一样。a31st中的数据紧挨着a2Num之后,而a4Num,a51st,a6依次存放。
第二种情况可能存在一些辅助结构,如本实施例中引入了下面的辅助结构表示附加数据块,主要目的是可以在c程序中不用指针表示数组。
typedef struct
{
UINT32uiOffset;
   UINT32uiTotalLength;
   UINT32uiCycleNum;
}T_OFFSET_WITH_LEN;
uiOffset:偏移量,指附加在结构体后的数据块相对其所在的结构体开始处的偏移量;uiTotalLength:总长度,指附加数据块的总长度。如果附加数据块自身还包括子附加数据块,则子附加数据块必须紧随其后,并且uiTotalLength也包含了所有子附加数据块的长度;uiCycleNum表示当附加数据块是数组,其是数据结构的实例个数,否则其值为1表示其后只有一个结构。
具体使用辅助结构的例子如下:
typedef struct{
    UINT32 b1;
  T_OFFSET_WITH_LEN    b2;
    /*==ARRAY:A3_Struct*/
  UINT16  b4Num;
  T_OFFSET_WITH_LEN  b5;
    /*==ARRAY:A5_Struct*/
  UINT32  b6;
}BStruct;
注释/*==ARRAY:A3_Struct*/表示其指定的数据块是的A3_Struct的结构,这种注释需要在c头文件定义或完善阶段实现。这种定义方式是方便h2asn自动分析,同时不影响开发人员的编译代码。
2.关于整数宏的分组,在本实例中采用下面的注释实现,第一句表示宏组名为ASON_CMD_OPER_TYPE1的宏组开始,/*==MacroEnd;*/表示上一个宏组名结束。如果没有某c头文件内宏没有分组,就假设文件名带某后缀作宏组名,其内的宏同在一个宏组内。
/*==Macro:CMD_OPER_TYPE1;*/
#define CMD_ADD_TYPE    0x1
#define CMD_REMOVE_TYPE 0x2
#define CMD_MODIFY_TYPE 0x3
/*==MacroEnd;*/
3.按照本发明所述步骤3根据接口规范文档增加一些为转换工具转化服务的傀儡结构;
4.利用图2步骤C的转化工具h2asn,将c接口头文件转化为ASN.1文件。h2asn主要包括扫描、分析、输出三个过程,扫描所有c接口头文件,分析每个头文件中的结构及宏,本文件引用其它文件中哪些结构,按ASN.1的文件格式输出所有头文件对应的ASN.1文件。
5.将ASN.1的报文编译生成插件。
6.按照本发明所述步骤1、2和实例1中的辅助结构的编码规则实现ASN.1的扩展规则CER.对辅助结构做专门处理,其它接口结构采用按上述描述通用处理。把CER编解码规则应用到测试工具中模拟类c接口报文码流,对被测软件进行接口测试。
7.在网管开发中,由于新网管要和老的网元设备通过Qx接口交互,网元设备采用的是类c报文,因此网管开发中直接采用ASN.1作为Qx接口定义,采用扩展的CER编码规则直接进行报文的编解码。应当理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案的说明和具体实施方式做出各种可能的改变或替换,辅助接口结构的数目和形式可以变化,注释的形式可以不同,甚至对类c报文加上校验头或其它辅助信息。

Claims (7)

1.一种类c结构接口报文模拟处理方法,采用类c结构接口报文与被测对象交互,其特征在于,在进行报文转换之前,对于在接口规范文档中定义了的信息未体现在c结构接口报文头文件中的,对该c结构接口报文增加傀儡结构;对于原始开发c结构接口报文头文件,对其进行完善,该方法还包括以下步骤:
A)利用编译平台和编解码规则实现交互的类c结构接口报文和底层的ASN.1报文相互转换;
B)基于ASN.1功能模块实现类c结构接口报文的底层模拟。
2.根据权利要求1所述处理方法,其特征在于,所述编解码规则包括类c语言数据类型和ASN.1数据类型的对应关系。
3.根据权利要求1所述处理方法,其特征在于,所述编解码规则包括对类c报文的语法规范。
4.根据权利要求1所述处理方法,其特征在于,所述编译平台是支持BER,PER编码并能实现VAL格式数据和C++结构实例相互转换的ASN.1编译器。
5.根据权利要求1所述处理方法,其特征在于,所述被测对象和交互使用相同编码规则。
6.根据权利要求5所述处理方法,其特征在于,所述编码规则是BER或PER规则。
7.根据权利要求1所述处理方法,其特征在于,所述功能模块包括脚本操作、报文编辑、报文比较和报文存储。
CN2008100047182A 2008-01-23 2008-01-23 一种类c结构接口报文处理方法 Active CN101222365B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100047182A CN101222365B (zh) 2008-01-23 2008-01-23 一种类c结构接口报文处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100047182A CN101222365B (zh) 2008-01-23 2008-01-23 一种类c结构接口报文处理方法

Publications (2)

Publication Number Publication Date
CN101222365A CN101222365A (zh) 2008-07-16
CN101222365B true CN101222365B (zh) 2010-12-08

Family

ID=39631956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100047182A Active CN101222365B (zh) 2008-01-23 2008-01-23 一种类c结构接口报文处理方法

Country Status (1)

Country Link
CN (1) CN101222365B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209100B (zh) * 2012-01-12 2015-12-16 百度在线网络技术(北京)有限公司 服务监控方法及系统
CN103944914B (zh) * 2014-04-28 2018-01-16 南京熊猫电子股份有限公司 卫星通信系统中csn.1协议处理器的实现方法
CN107797933B (zh) * 2017-11-22 2020-06-12 中国银行股份有限公司 生成模拟报文的方法及装置
CN110069250B (zh) * 2019-04-30 2023-03-17 联陆智能交通科技(上海)有限公司 Lte-v2x标准应用层数据编解码方法、系统及介质
CN110601794B (zh) * 2019-08-20 2022-05-24 浙江合众新能源汽车有限公司 一种asn.1编解码模块、报文数据编解码方法
RU2722239C1 (ru) * 2019-11-26 2020-05-28 Общество с ограниченной ответственностью «ПИРФ» (ООО «ПИРФ») Способ создания и использования формата исполняемого файла с динамическим расширяемым заголовком
CN112363699B (zh) * 2020-11-16 2022-08-02 佳都科技集团股份有限公司 一种应用于多语言开发平台的交互方法及装置
CN113590136B (zh) * 2021-08-09 2024-02-27 郑朗 一种在JavaScript语言中自动生成位域对象的方法
CN114995796B (zh) * 2022-05-30 2024-07-19 宁波三星医疗电气股份有限公司 一种a-xdr编码报文处理方法、存储介质和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1525714A (zh) * 2003-02-25 2004-09-01 华为技术有限公司 一种asn.1协议处理器
US6915324B1 (en) * 2000-04-21 2005-07-05 Sun Microsystems, Inc. Generic and dynamic mapping of abstract syntax notation (ASN1) to and from interface definition language for network management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915324B1 (en) * 2000-04-21 2005-07-05 Sun Microsystems, Inc. Generic and dynamic mapping of abstract syntax notation (ASN1) to and from interface definition language for network management
CN1525714A (zh) * 2003-02-25 2004-09-01 华为技术有限公司 一种asn.1协议处理器

Also Published As

Publication number Publication date
CN101222365A (zh) 2008-07-16

Similar Documents

Publication Publication Date Title
CN101222365B (zh) 一种类c结构接口报文处理方法
Wang et al. The zephyr abstract syntax description language.
Achermann et al. Piccola-a small composition language
CN101841515B (zh) 可变目标的协议数据单元编解码代码自动生成的实现方法
US5659727A (en) Computer program product and program storage device for encoding, storing, and retrieving hierarchical data processing information for a computer system
EP2124419B1 (en) An object oriented management device for asn.1 message
US5778223A (en) Dictionary for encoding and retrieving hierarchical data processing information for a computer system
CN101197818A (zh) 一种asn.1报文面向对象的处理方法
CN101316241B (zh) 用于通信数据的tlv格式处理方法
US5721895A (en) Computer program product and program storage device for a data transmission dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
CN100561476C (zh) 一种基于asn类型对象的代码生成方法
CN101795206B (zh) 一种在分布式构成设备上实现snmp代理的方法和装置
US7440408B1 (en) Method and system for inventorying a network
CN100505743C (zh) 通用消息解释器的实现方法
CN107861723A (zh) 海量数据处理方法及其系统
CN109116828A (zh) 一种控制器中模型代码配置方法和装置
CN101303646B (zh) 基于可执行元语言的电信领域建模方法
US5687365A (en) System and method for creating a data dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
Riedel et al. A model driven internet of things
Ciccozzi et al. On the generation of full-fledged code from UML profiles and ALF for complex systems
CN114115832A (zh) 一种物联网嵌入式设备与云平台通信协议实现方法
CN100433640C (zh) 一种电信管理网上下层网管数据比较方法
Rodrigues et al. Towards an engine for coordination-based architectural reconfigurations
KR100456623B1 (ko) 설계 모델과 소스코드의 일관성을 유지시켜 동시순환공학을 지원하기 위한 장치 및 방법
CN108595166A (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
C14 Grant of patent or utility model
GR01 Patent grant