[发明专利]根据ASN.1信息动态创建数据模型的方法有效

专利信息
申请号: 200810123563.4 申请日: 2008-07-08
公开(公告)号: CN101324846A 公开(公告)日: 2008-12-17
发明(设计)人: 窦仁晖;徐石明;张海滨;倪益民;夏士兵;张春晓 申请(专利权)人: 国电南瑞科技股份有限公司
主分类号: G06F9/44 分类号: G06F9/44;G06F17/30
代理公司: 南京纵横知识产权代理有限公司 代理人: 董建林;孙永生
地址: 210061江苏省南*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 根据 asn 信息 动态 创建 数据模型 方法
【说明书】:

技术领域

本发明属计算机软件开发,更准确地说本发明涉及一种根据ASN.1信息动态建立数据模型的方法。

背景技术

抽象语法标记(Abstract Syntax Notation One)是描述抽象类型和值的标记,缩写为ASN.1,是描述在网络上传输信息格式的标准方法。它有两部分:一部分是数据类型及序列格式;另一部分描述如何将各部分组成消息。在应用时,通常使用ASN.1编译器将ASN.1规范翻译成C、C++或Java的源代码,开发人员使用此代码将结构或对象编译成ASN.1信息或将ASN.1信息翻译成结构或对象。

文献一《将抽象句法表示法1数据模型化成对象模型的方法及系统》(中国发明专利ZL01143625.5,公开日2002年7月17日)披露了一种将ASN.1数据映射到对象模型的方法、程序和系统。该方法识别数据流的开始,并接着产生该数据的新对象名;然后分析数据以获得识别符和数据长度;接着分析数据的标签类型,如果标签类型是简单型,则为该数据产生一类图,并产生该数据的源代码,如果标签类型不是简单型,则在产生类图和源代码之前,调用子例程进一步分析该数据。图1是现有技术中处理ASN.1信息的流程框图。该方法存在的问题是使用时需要先将模型转化为程序代码,每一次修改模型后,都必须重新生成源代码,无法做到动态创建模型。

发明内容

为解决现有技术的不足,本发明的目的在于提供一种能够不通过编译,直接将数据模型转化为ASN.1信息或将ASN.1信息转化为数据模型的根据ASN.1信息动态创建数据模型的方法。

本发明的又一目的在于提供一种减少模型占用的内存,使之能够应用于嵌入式系统,并提供方便、高效的检索方法的根据ASN.1信息动态创建数据模型的方法。

本发明的动态创建方法包括:

(1)直接读取ASN.1数据流,将ASN.1信息转换为数据模型,或将数据模型转换为ASN.1信息;

(2)采用多叉树表示数据模型,包括数据的名称、类型和数值,保持数据的层次关系和先后次序,提供目录检索和数据属性检索两种检索方法;

(3)数据采用池式存储方法,保存在一块线性内存区域中,根据数据的实际长度动态分配空间。

为了实现上述目的,本发明是采取以下的技术方案来实现的:

一种根据ASN.1信息动态创建数据模型的方法,包括:

(1)、建立内存池,在内存池的头部放置模型树,并初始化模型树;

(2)、读取ASN.1信息流,获得标签类型和数据长度;

(3)、根据标签类型调用不同的处理函数:

a)如果是SEQUENCE或ARRAY类型,表示后续的数据是一个序列或一个数组,跳过去继续分析后面的信息;

b)如果是STRUCT类型,表示紧接着的数据是一个结构体,每一个元素是结构体的一个成员,此时就在模型树中插入一个子节点,表示它是一个数据结构的根;

c)如果是简单类型,包括BOOL、INT、UINT、BITSTRING、FLOAT、VSTR、OCTSTR、BTIME、UTF8STR或UTCTIME,就在模型树中创建一个叶节点,所述的叶节点包括数据属性的名称、类型、长度和值;

(4)、继续读取、处理后面的ASN.1信息,直至信息流结束,得到一个完整的多叉树数据模型。

前述的根据ASN.1信息动态创建数据模型的方法,其特征在于还包括步骤(5):按顺序连接所有的叶节点,生成单向链表。

前述的根据ASN.1信息动态创建数据模型的方法,其特征在于所述的多叉树,其根表示主结构,每一个子节点表示一个子结构,叶节点表示数据属性;每一个子节点包括4个内容,分别是节点名称、父节点指针、兄弟节点指针和

子节点指针;从根结点开始,采用先根遍历的方式检索得到的数据是整个数据模型的目录,同时,所有数据属性之间以链表相连,采用遍历叶节点链表的方式检索得到的数据是所有的数据属性。

前述的根据ASN.1信息动态创建数据模型的方法,其特征在于所有节点都保存在事先分配好的一块线性内存中,每一个节点都是在使用时才根据实际需要的内存大小动态在线性内存中分配。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国电南瑞科技股份有限公司,未经国电南瑞科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810123563.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top