[发明专利]适用于ASN.1递归解析数据结构描述的编解码方法有效
申请号: | 201610239010.X | 申请日: | 2016-04-18 |
公开(公告)号: | CN105843663B | 公开(公告)日: | 2019-06-25 |
发明(设计)人: | 江国庆;潘玉峰;张建立;陈林康;杨鹏 | 申请(专利权)人: | 苏州简约纳电子有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 苏州唯亚智冠知识产权代理有限公司 32289 | 代理人: | 李丽 |
地址: | 215000 江苏省苏州市工业*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种适用于ASN.1递归解析数据结构描述的编解码方法,其特点是:ASN.1编译器为枚举类型和复合类型建立枚举值表和成员定义表;为每一个ASN.1基本数据类型独立建立一个类型定义表,并将枚举定义表和枚举值表链接,将复合类型表和成员定义表链接;且将所有ASN.1文法中定义的扩展数据类型,在类型定义表中形成一个表项,且将其汇总为一个类型索引表;将成员定义表、序列数组定义表、集合数组定义表、CONTAINING定义的字节流类型定义表,与类型索引表链接;同时,将所有PDU单独列出,构成PDU定义表并将其与类型索引表链接。能够设定独立于ASN.1具体文法和编译器的编解码库方案,使其采用递归的方式,通过对上述的网状数据表进行遍历,实现PDU的编解码。 | ||
搜索关键词: | 适用于 asn 递归 解析 数据结构 描述 解码 方法 | ||
【主权项】:
1.适用于ASN.1递归解析数据结构描述的编解码方法,其特征在于:在ASN.1编译器的输出结果中,需要包括以下步骤:步骤一,枚举值表、成员定义表;步骤二,为每一种ASN.1基本类型建立一个类型定义表,类型定义表定义了所对应的ASN.1基本类型的属性描述,每一个ASN.1基本类型都与一个类型定义表相对应,每一种基本类型的属性描述数据结构都独立定义,每一个用ASN.1文法中定义的扩展数据类型,在与其基本类型所对应的类型定义表中都占据了唯一一个表项;步骤三,将所有ASN.1文法中定义的扩展数据类型,汇总为一个类型索引表,所述步骤三中类型索引表的每一项,至少需要包含ASN.1基本数据类型与对应的类型定义表中的索引号,所述ASN.1基本数据类型,将每一种ASN.1基本数据类型,命名一个独一无二的整数值,所述对应类型表的索引号,用于定位其属性描述,取值为在其基本数据类型所对应的类型定义表中的表项索引号;步骤四,将所有PDU单独列出,构成PDU定义表;步骤五,设定编解码库方案,使其采用递归的方式,对上述的数据表进行遍历;所述枚举值表,包含所有枚举类型的枚举定义,每一个枚举类型的所有枚举项均占据一片连续数据表项,该表项在数据表中的起始索引需要保存于对应的枚举类型定义表中,所述每一个枚举值表项至少需要包含枚举名称与枚举数值;所述成员定义表为复合类型的成员定义表,每一个扩展的复合数据类型的成员定义均需要占据一片连续的成员定义表项,所述复合数据类型包括顺序类型,选择类型,集合类型,所述成员定义表中的成员,按照其在ASN.1文法中声明的顺序依次定义,所述成员定义表项为NameType成员定义,或是为Version扩展成员组成员定义,所述每一个NameType成员占据一个成员定义表项,每一个Version扩展成员组占据连续一片成员定义表项,其每一个成员组中的成员都是NameType成员定义,所述Version扩展成员组成员定义之前,设有一个表项作为Version扩展头部,至少记录该Version扩展所包含的NameType成员数量;当一个表项定义了NameType成员时,必须定义其关联类型,方法是记录其关联类型在类型索引表中的位置;所述PDU定义表中,对每一个PDU独立按序编号,从0开始,按照PDU的扩展数据类型在文法中出现的次序对其编号,所述PDU定义表中,表格域定义至少包含如下内容,PDU对应的扩展数据类型在类型索引表中的索引号,其他目标平台编解码相关的数据;所述编解码库方案,将PDU数据编码为一个字节流,成为PDU码流,解码时,将PDU码流解码为PDU数据,编码时,须提供PDU编号、PDU数据的句柄,输出PDU码流的容器句柄,解码时,须提供PDU编号、PDU码流句柄,输出PDU数据的容器句柄,编码和解码均需从PDU定义表开始,根据PDU在类型索引表中的定义,取得其对应数据类型定义表中的属性描述信息,从而执行编解码动作,对包含有成员的复合类型的编码过程中,需要通过对其成员定义表的遍历,根据每一个成员在类型索引表取得类型定义数据,然后递归对成员执行编解码动作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州简约纳电子有限公司,未经苏州简约纳电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610239010.X/,转载请声明来源钻瓜专利网。
- 上一篇:改进型分体水龙头
- 下一篇:一种高密封排烟通风防火阀