发明名称 根据ASN.1信息动态创建数据模型的方法
摘要 本发明涉及一种根据ASN.1信息动态创建数据模型的方法,包括:建立内存池,并初始化模型树;读取信息流,获得标签类型和数据长度;根据标签类型调用不同的处理函数:1)是STRUCT类型,在模型树中插入一个子节点,表示它是一个数据结构的根,2)是简单类型,在模型树中创建一个叶节点;继续读取、处理后面的信息,直至信息流结束,得到完整的多叉树数据模型。本发明能够直接读取ASN.1数据流,将其转换为数据模型,或将数据模型转换为ASN.1信息,生成的数据模型以多叉树表示,节点的内存分配使用池式管理,保证了最后生成的多叉树最大限度利用了内存资源,并增加了一个数据属性链表,能够高效地实现目录检索和数据属性检索。
申请公布号 CN101324846A 申请公布日期 2008.12.17
申请号 CN200810123563.4 申请日期 2008.07.08
申请人 国电南瑞科技股份有限公司 发明人 窦仁晖;徐石明;张海滨;倪益民;夏士兵;张春晓
分类号 G06F9/44(2006.01);G06F17/30(2006.01) 主分类号 G06F9/44(2006.01)
代理机构 南京纵横知识产权代理有限公司 代理人 董建林;孙永生
主权项 1、根据ASN.1信息动态创建数据模型的方法,包括:(1)、建立内存池,在内存池的头部放置模型树,并初始化模型树;(2)、读取信息流,获得标签类型和数据长度;(3)、根据标签类型调用不同的处理函数:a)如果是SEQUENCE或ARRAY类型,表示后续的数据是一个序列或一个数组,跳过去继续分析后面的信息;b)如果是STRUCT类型,表示紧接着的数据是一个结构体,每一个元素是结构体的一个成员,此时就在模型树中插入一个子节点,表示它是一个数据结构的根;c)如果是简单类型,包括BOOL、INT、UINT、BITSTRING、FLOAT、VSTR、OCTSTR、BTIME、UTF8STR或UTCTIME,就在模型树中创建一个叶节点;(4)、继续读取、处理后面的ASN.1信息,直至信息流结束,得到一个完整的多叉树数据模型。
地址 210061江苏省南京市南京高新技术开发区高新路20号