- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通讯网络中蠥S.1编解码(BER)的方法
通讯网络中进行Asn.1编解码(BER)的方法
本发明公开了一种语法分析工具在Asn1编解码中的应用一种方法。其包含了:使用语法和词法分析工具,产生能够读取C语言语法和注释信息,并生成记录结构结构信息文件的工具。通过使用该方法,一次性的定义应用层使用的结构,通过该方法读取C头文件获取结构信息并记录到指定文件,以备编解码使用,本方法的使用能够大幅降低程序的开发及维护的工作量以及难度。应用数据结构的生成。其特征在于:使用语法和词法分析工具分析标准的ASN1语法,生成用于给应用使用的结构。
参数,参数类型,
SET SEQUENCE类型定义为结构体,包含子参数是否填写的标志和子参数
字符串(OCTET STRING ,BIT STRING等)类型定义为包含字符串长度的结构体。
SET OF, SEQUENCE OF类型定义为结构体。包含数组使用个数和结构数数组。
CHOICE类型定义为联合体,包含选择的参数标志和子参数。
应用数据结构信息树的生成,其特征在于:使用语法和词法分析工具分析标准的ASN1语法,生成结构的详细信息,包括:
变量类型,
变量名称,
变量的存储地址(偏移地址),
变量占用字节数,
变量数量,
变量在ASN1中的标签
变量在ASN1中的类型(0:universal 1:Application 2:Context 3:Private)
结构编码或元编码 (0:PRIMITIVE 1:CONSTRUCTED)
原标签
可选或必选
显式或隐式标签
指向结构的指针
赋值范围
等。
编解码的调度,其特征在于:通过遍历结构信息树获取权利要求1,权利要求2的描述的参数详细信息,根据信息进行相应的编解码调度,拼接编码的字节串及将解码的值填入结构相应地址。
原编码数据类型的编解码,其特征在于:根据权利要求3的调度进行编解码。
通讯网络中进行ASN.1编解码(BER)的方法
技术领域:
本发明涉及移动网络通讯系统,特别是涉及一种移动网络通讯系统中实现信息传递的编解码的方法。
背景技术:
Abstract Syntax Notation One (ASN.1抽象语法标记)是一种独立于机器的描述语言,用于描述在网络上传递的消息ASN.1的编码方式比很多竞争者更先进,能够快速并可靠的传输可扩展信息--这是无线带宽的一个优势。由于从1982年以后ASN.1已经成为一个国际标准,所以它的编码规则是成熟的并且它有长期的可靠性和互用性的跟踪记录。语法universal 1:Application 2:Context 3:Private),
结构编码或元编码 (0:PRIMITIVE 1:CONSTRUCTED),
标签,
可选或必选,
显式或隐式标签,
指向结构的指针,
赋值范围
指向结构的指针(对于元编码类型指针为NULL)
图六展示了编码的流程,应用对结构进行赋值,将结构的地址,操作码,传入编解码模块,编解码模块的调度模块根据操作码获取结构的信息,将结构信息指针m指向结构信息的第一个参数,结构指针p指向指针m指示的结构的第一个参数的存储地指,判断该参数是否赋值(使用标志位为0)若未赋值,则m指向结构信息的下一参数,指针p指向指针m指示的结构下一参数的存储地址,进行下一参数的编码。若赋值 (使用标志位为1)则根据m的值判断参数的标签类型是元编码类型还是结构编码类型。若为结构编码,则指针m指向m子结构。递归调用编码函数,进行新的结构的编码。若为元编码则根据m的信息获取p地址的值,进行元编码。直至参数为结构中的最后一个参数。
图七展示了解码的流程,应用层将Asn.1码流和操作码传入编解码模块,编解码模块的调度模块根据操作码获取结构的信息,结构信息指针m指向结构信息的第一个参数,结构指针p指向m指示的结构的首地址,码流指针k指向码流的首地址,解出k的标签和长度,查找标签在结构中m指示的地址(解出的标签等于m结构信息的标签),结构指针p指向结构信息指针m指示的地址,判断m指示的编码类型是元编码还是结构编码,若结构编码,则获取结构的子码流(k地址到解出的长度之间的码流)。结构信息指针m指向m的子结构。递归调用解码程序进行解码。若为元编码,则解出码流的值,填入结构指针p的地址中,同时填写参数使用标记。码流指针k=k+解码的长度,判断k是否是码流的结尾,若不是则,结构信息指针m指向下一参数,重新进行解码操作,直至码流结束。
消息 参数1 参数类型 起始地址 ...... NULL 参数2 参数类型 起始地址 ...... 参数 2的结构 参数3 参数类型 起始地址 ...... NULL 参数4 参数类型 起始地址 ...... 参数 4的结构
文档评论(0)