版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通讯网络中进行ASN.1编解码(BER的方法本发明公开了一种通讯网络中进行 Asn.1编解码(BER的一种方 法。具包含了:使用语法和词法分析工具,产生能够读取Asn.1语法 并生成用于记录ASN.1数据的结构和记录ASN.1结构信息的文件的工 具。根据结构文件中的数据信息进行编解码调度的模块。针对不同的数据类型(元编码的数据类型)进行编解码的模块。本方法的使用能 够大幅降低程序的开发及维护的工作量以及难度1. 应用数据结构的生成。其特征在于:使用语法和词法分析工具分析标准的ASN皓法,生成用于给应用使用的结构。参数,参数类型,SET SEQUEN金型定义为结构体,包含子参数是否填写的标志和子
2、参数字符串(OCTET STRING ,BIETRING)类型定义为包含字符 串长度的结构体。SET OF, SEQUENCE OF型定义为结构体。包含数组使用个数和结构数数组。CHOICER型定义为联合体,包含选择的参数标志和子参数。2. 应用数据结构信息树的生成,其特征在于:使用语法和词法分析工具分析标准的 ASN1语法,生成结构的详细信息,包括:a)变量类型,b)变量名称,c)变量的存储地址(偏移地址),d)变量占用字节数,e)变量数量,f)变量在ASN1中的标签g)变量在 ASN仲的类型(0: universal 1: Application 2Context 3 : Private
3、)h)结构编码或元编码(0: PRIMITIVE 1 : CONSTRUCT ED i)原标签j)可选或必选k)显式或隐式标签1)指向结构的指针m)赋值范围等。3. 编解码的调度,其特征在于:通过遍历结构信息树获取权利要求1,权利要求2的描述的参数详细信息,根据信息进行相 应的编解码调度,拼接编码的字节串及将解码的值填入结构相 应地址。4. 原编码数据类型的编解码,其特征在于:根据权利要求3的调度进行编解码通讯网络中进行 ASN.1编解码(BER的方法技术领域:本发明涉及移动网络通讯系统,特别是涉及一种移动网络通讯系 统中实现信息传递的编解码的方法。背景技术:Abstract Syntax N
4、otation One (ASN.1抽象语法标记)是一种独立于机器的描述语言,用于描述在网络上传递的消息,特别是的广 泛应用于移动网络通讯系统中的各种协议的传输。例如 RANAP,MAP,H.24分。ASN.1的编码方式比很多竞争者更先进,能够快速并可靠的传输 可扩展信息这是无线带宽的一个优势。 由于从1982年以后ASN.1 已经成为一个国际标准,所以它的编码规则是成熟的并且它有长期的 可靠性和互用性的跟踪记录。然而,Asn1编解码是一个很费时费工的工作,使用不针对某一结 构的统一的编解码方式,成为现今许多公司的趋势。发明内容:本发明的目的就是利用词法语法分析工具,提供一种不针对某一 特定结
5、构数据的统一的编解码的方法。 适用于所有的Asn.1所描述的 数据类型的编解码。据有简单,灵活,快捷,易读,扩展性好等特点。为了达到上述目的,本发明用于统一的编解码方式包括四部分: 应用数据结构的生成,数据信息结构树的生成,编解码的调度,原编码数据类型的编解码应用数据结构的生成:使用词法语法分析工具(例如:Lex &Yacc) 产生的分析工具,分析标准Asn.1语法表述,分析出Asn.1语法表述中 的消息,消息的操作码,消息中的参数,参数数据类型,参数的属性信 息等。生成可以让应用层使用的结构。编码时由应用层填写相应的数 据参数的值,经过编解码模块的编码生成标准 Asn.1的码流,用于
6、传 输。而解码时,根据获得的标准Asn.1的码流,经过编解码模块的解 码,将值信息填入结构中,以备应用层使用。数据信息结构树的生成:使用词法语法分析工具(例如:Lex&Yacc)产生的分析工具,分析标准Asn.1语法表述,分析出Asn.1语 法表述中的消息中每个参数的属性: 可选/必选,显式/隐式,应用上 下文,取值范围,数据类型,结构/原编码,存储地址(偏移地址), 标签类型,子参数指针等。将这些信息写入编解码模块的全局的树形 结构中。用于在编解码的过程中通过遍历树获取参数信息。编解码的调度:根据获得的参数的信息(是否填写,标签类型, 结构,数据类型等)进行相应的编解码调度。原编码数
7、据类型的编解码。根据调度模块的调用进行编解码。附图说明:图一.是词法语法分析工具的原理图图二.是Asn.1编解码的工作原理图图三.是Asn1数据类型定义示意图图四.是消息的结构信息存储方式示意图图五.是消息的结构信息存储内容的示意图图六.是编码的流程图图七.是解码的流程图具体实施方式:图一展示了词法语法分析工具工作原理,将包含了正则表达式的 词法规则作为其输入的程序,并且为每一个表达式被匹配是定义一种 动作。用于通知词法规则。词法规则指定Asn.1格式的语法作为它的输入,并根据该语法规则的 分析过程,记录Asn.1语法中的属性,并产生特定格式的输出文件, 即(图三)格式的数据结构和(图四,图五
8、)格式的结构信息数据。图二展示编解码的工作原理。词法语法分析工具分析 Asn.1语法, 产生相应数据结构和结构信息数据,应用向编解码模块传入编解码的 数据,编解码的调度模块从结构信息数据中获得消息的详细信息。根据这些信息进行编解码。(编码产生的是Asn.1码流,解码产生的是 结构化的消息数据)图三展示了对应于Asn.1数据类型的结构的格式:1. 对于Sequence,Set,Choice类型定义为结构的格式,包 括:a)用于表示可选子参数是否被选用的标志位, 一个参数占 一个 Bitb)子参数。2. 对于SequenceOf ,SetOf类型定义为包含数组的结构,包括a)用于表示选用的数组个数
9、的标志位,填写最大值要求小 于数组的最大维b)子参数的数组。3. OCTET STRING NUMBER STRINGPRINT STRING.等 字符串类型定义为结构,包括:a)使用的字节数。b)字符串的值。4. BIT STRING字符串类型定义为结构,包括a)使用的字节数。b)未使用的比特数c)字符串的值5. .其他的类型定义为编成语言的对应类型图四展示了结构信息存储的方式,以一种树形结构的方式存储结构信息,根节点作为消息的主结构。包含消息的所有参数,其参数可 以为元编码类型,也可为结构编码类型。结构编码类型应指向它的子 结构。图五展示了结构信息存储的内容,内容包括:变量类型,变量名称,
10、变量的存储地址(偏移地址),变量占用字节数,变量数量,有标签值的标签,标签类(0: universal 1: Application 2: Context 3 :Private ),结构编码或元编码(0: PRIMITIVE 1 : CONSTRUCTED标签,可选或必选,显式或隐式标签, 指向结构的指针, 赋值范围指向结构的指针(对于元编码类型指针为NULL图六展示了编码的流程,应用对结构进行赋值,将结构的地址, 操作码,传入编解码模块,编解码模块的调度模块根据操作码获取结 构的信息,将结构信息指针 m指向结构信息的第一个参数,结构指针 p指向指针m指示的结构的第一个参数的存储地指,判断该参
11、数是否 赋值(使用标志位为0)若未赋值,则m指向结构信息的下一参数, 指针p指向指针m指示的结构下一参数的存储地址, 进行下一参数的 编码。若赋值 (使用标志位为1 )则根据 m的值判断参数的标签类 型是元编码类型还是结构编码类型。若为结构编码,则指针向旨向m子结构。递归调用编码函数,进行新的结构的编码。若为元编码则根 据m的信息获取p地址的值,进行元编码。直至参数为结构中的最后 一个参数。图七展示了解码的流程,应用层将 Asn.1码流和操作码传入编解 码模块,编解码模块的调度模块根据操作码获取结构的信息, 结构信 息指针m指向结构信息的第一个参数,结构指针p指向m指示的结构 的首地址,码流指
12、针k指向码流的首地址,解出k的标签和长度,查 找标签在结构中m指示的地址(解出的标签等于m结构信息的标签), 结构指针p指向结构信息指针m指示的地址,判断m指示的编码类型 是元编码还是结构编码,若结构编码,则获取结构的子码流( k地址 到解出的长度之间的码流)。结构信息指针m指向m的子结构。递归 调用解码程序进行解码。若为元编码,则解出码流的值, 填入结构指 针p的地址中,同时填写参数使用标记。码流指针 k=k+解码的长度, 判断k是否是码流的结尾,若不是则,结构信息指针 向旨向下一参数, 重新进行解码操作,直至码流结束。yy.le x.c yyle x() .一词法规则 用户定义数据逻辑数据分析结果y.ta b.cyyp ars e ()w h ile (yyle x()>0 )分析;编译器逻辑分 析程序语法规则YACC图一标准的ASN1语法描述数据结构结构信息数据结构数据的信息ASN1编解码调度模块 /A元编码数据类型的编解码模块兀编码码流元编码数据类型和值/1/使用结构/,编_L专送结构数据(编码)应用层|传送Asn.1码流(解码)消息码流(编码)结构数据(解码)图二图三图四消息参爹1 1参数类型起始地址NULL参爹2 2参数类型起始地址参爹2 2的结构参爹3 3参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年护士执业资格考试《护理理论》备考题库及答案解析
- 2025年环境工程师《环境影响评价与治理技术》备考题库及答案解析
- 商铺租赁水电改造协议2025
- 商铺租赁合同协议2025年版本
- 汽车维修保养合同协议2025年标准
- 2025年同工同酬与薪酬公平性考试试题及答案
- 2025年年终奖金分配方案与计算办法考试试题及答案
- 地上种植物转让协议书
- 喷淋养护采购合同范本
- 外墙喷漆安全合同范本
- 《锂离子电池存储使用安全规范》
- 集装箱运输完整版本
- 《教育系统重大事故隐患判定指南》知识培训
- 金融科技金融大数据风控平台开发与应用方案
- 《气动电动执行器》课件
- 【MOOC】计算机组成原理-电子科技大学 中国大学慕课MOOC答案
- 【MOOC】电路分析AⅡ-西南交通大学 中国大学慕课MOOC答案
- 《生活处处有设计》 课件 2024-2025学年湘美版(2024)初中美术七年级上册
- 鲁迅《伤逝》原文
- 中华人民共和国教育法课件
- 国开药物化学(本)形考4
评论
0/150
提交评论