首页> 中国专利> 用于抽象语法记述编/译码系统的引用查表方法

用于抽象语法记述编/译码系统的引用查表方法

摘要

本发明公开了一种用于ASN.1编/译码系统的引用查表方法,包括:接收输入数据;对所接收的输入数据加注自订标记;判断所接收数据中是否存有显性参照数据、隐性参照数据或选择性数据;如有,调整存有所述显性参照数据、隐性参照数据或选择性数据范围内的自订标记;比对所述经调整的自订标记是否与参考表格的自订标记相符;如相符,即判定该数据已完全译码。使用本发明的方法,可使传统流程(1)更新定义数据,(2)执行程序产生器,(3)重新编译,(4)应用新功能。改变为新的流程(1)更新定义数据,(2)应用新功能;且不须更动程序即可对文件编/解码。简化处理格式化文件的传统流程。

著录项

  • 公开/公告号CN1673964A

    专利类型发明专利

  • 公开/公告日2005-09-28

    原文格式PDF

  • 申请/专利权人 资通电脑股份有限公司;

    申请/专利号CN200410006288.X

  • 发明设计人 林岱宏;

    申请日2004-03-23

  • 分类号G06F9/45;

  • 代理机构北京英赛嘉华知识产权代理有限责任公司;

  • 代理人余朦

  • 地址 中国台湾

  • 入库时间 2023-12-17 16:29:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-13

    未缴年费专利权终止 IPC(主分类):G06F9/45 授权公告日:20080924 终止日期:20140323 申请日:20040323

    专利权的终止

  • 2008-09-24

    授权

    授权

  • 2005-11-23

    实质审查的生效

    实质审查的生效

  • 2005-09-28

    公开

    公开

说明书

技术领域

本发明涉及一种用于ASN.1(抽象语法记述)编/译码系统的译码方法,这种方法能直接参考文件中的数据,用作ASN.1数据的编码或译码,任何ASN.1数据结构的更新只需针对文件的数据,不需要更动程序。

发明背景

近年来由于计算机的普及与互联网(Internet)的蓬勃发展,再加上WWW(World Wide Web)技术的推波助澜,使互联网成为现代最大的信息传播网与行销媒介,更带动了电子商务的全面兴起,电子商务是利用计算机及网络技术进行商业交易自动化的方法,它可以说是电子数据交换EDI(Electronic Data Interchange)及加值网络利用的延伸。电子数据交换是指不同企业之间因交易产生数据往来,而这些往来的数据,会在对方企业内的信息系统、制造系统或业务系统中,引发连串的处理工作。也可说是一台计算机的应用系统,运用协议的标准与数据格式,经电子化传递方式,将数据传送引到另一台计算机的应用系统,让计算机能够自动“了解”、“处理”和“响应”,实现工作效率提高,生产力提高,工作成本降低,获益率提高,使企业更具竞争力的目的。

长久以来,许多电子数据更换的网络管理信息格式利用ASN.1(Abstract Syntax Notation one)抽象语法记述来描述,其目的是为了在不同机器间提供使用统一的语法表达结构的计算机语言。ASN.1提出一套标准的方法,以叙述各种类型的数据结构,使数据的表示法有一种统一的方式,与ASN.1相配的有一套数据编码称作基本编码规则(BasicEncoding Rule,BER),其目的是将ASN.1所叙述的数据结构,以一定的方式编码以便在网络上传递。ASN.1是描述在网络上传输信息格式的标准方法。它有两部分:一部分描述信息内数据、数据类型及序列格式;另一部分描述如何将各部份组成消息。

ASN.1是一种广泛用在密码信息传递、电子凭证、通讯信息交换等等的数据编码格式,由于互联网的盛行,安全性的需求普遍增加,ASN.1编码格式的数据使用也因此日渐广泛。然而,为了使用ASN.1传递数据,必须针对ASN.1数据格式调整程序,这非常不方便。在此情形的下,另一个结构数据传递的工具XML顺势兴起。XML没有数据结构调整的问题,编/译码程序当然容易制作。然而,在追求程序上的方便的同时,却同时产生了同时产生其它的不便。XML与ASN.1相比有着下列的缺点:(1)传递的数据过多。一般估计相同的数据需要传递的信息量是ASN.1的五倍以上。(2)加密保护的方案仍未制定完成。XML遭受明文攻击及字母频谱攻击等等攻击的机会极大,需要细密的规划才能加以保护。(3)需花费大量的时间进行数据转换。XML是以一般人能辨识的编码方法传递的,计算机在使用及送出其所携带数据前需经过转码步骤。因此如果能够让ASN.1编码/译码系统容易使用,增加可供选择的结构化数据传递方式,则将极大地增添商业或网络传输上的便利。

传统的方法必须针对ASN.1数据格式调整程序,以预处理器(Pre-Processor)或程序产生器(Program-Generator)等等方式来使数据结构格式满足要求,较麻烦费时。图1是传统方法的流程图。如图1所示,必须针对ASN.1数据格式调整程序,利用预处理器(Pre-Processor)或程序产生器(Program-Generator)等方式来使数据格式满足要求。其流程如下(1)更新定义数据(2)执行程序产生器(3)重新编译(4)程序使用新功能(Function)。

在传统ASN.1的数据格式调整程序中,输入数据不是文字数据(TextFile),而是一串数字化的(Digtal),串行(Serial)八字节(Octet)数据。

上段所述这一串数字化的数据中还可能包括其它数字化的数据,因此所有数据形成了一树状结构(Tree Structure),这一串数字化的数据中包括其它数字化的数据愈多,树的深度愈深,为了将输入数据恢复为原始表格,必须将树状结构(Tree Structure)整个展开,成为一串数字化的数据再输入。

树状结构(Tree Structure)的每一个节点(Node)都是一串数字化的数据,ASN.1的数据格式调整程序使用前序(Preorder),中序(Inorder)或后序(Postorder)算法的程序分别将节点(Node)中的串行数据展开,最后一连串的数字数据形成了输入数据。树状结构(Tree Structure)的节点(Node)愈多,传统的ASN.1编/译码系统所要产生的程序代码也就愈多,同时愈复杂。

为了将一长串输入数据恢复为原始表格,传统ASN.1的数据格式调整程序必须参照许多不同的参考表格(Reference Table),找出一长串输入数据与参考表格的间的对应部份,然后将一长串输入数据恢复为原始表格及原始表格中的内容。

由于原始表格不尽相同,传统的方法必须针对ASN.1数据格式调整程序做一些修正,包括使用预处理器(Pre-Processor)以及程序产生器(Program-Generator),不仅复杂而且速度较慢。

如上所述,由于ASN.1的程序必须经过调整,因此必须重新编译。这种传统方法最后接着再执行新功能(Function)。

鉴于目前ASN.1(Abstract Syntax Notation One)编码/译码系统的上述缺点,发明人经过悉心试验与研究,并本着锲而不舍的精神,研发出了本发明。

发明内容

本发明的主要目的是改变传统的用程序产生器(Program-Generator)使数据结构格式满足需求的方式,简化对格式化文件的传统处理流程,使ASN.1编/译码系统更易于使用。

为实现上述目的,本发明提供了一种用于ASN.1编/译码系统的引用查表方法,包括:接收输入数据;对所接收的输入数据加注自订标记;判断所接收数据中是否存有显性参照数据、隐性参照数据或选择性数据;如有,调整存有所述显性参照数据、隐性参照数据或选择性数据的自订标记;比对所述经调整的自订标记是否与参考表格的自订标记相符;如相符,即判定该数据已完全译码。

根据上述方法,将该输入数据与参考表格比对,如果参考表格中含有″Explicit”字符串则判定所述输入数据含有显性参照数据(Explicit)。

根据上述方法,将该显性参照数据(Explicit)的自订标记(SpecifiedIndex)与其数据内容合并,成为调整后数据。

在所述的用于ASN.1编/译码系统的引用查表方法中,其中加注自订标记的步骤为建立ASN.1专用的数据目录以标明各种数据标记、各种数据结构类别,以及各种ASN.1的特性。

如上所述的用于ASN.1编/译码系统的引用查表方法,其中所接收数据为数字性串行数据。所接收数据还包括OPTIONAL/DEFAULT/ANY。

如上所述的用于ASN.1编/译码系统的引用查表方法,其中所述自订标记用来判别所接收数据所对应的参考表格的格式。

根据所述的用于ASN.1编/译码系统的引用查表方法,其中该所接收数据还包括隐性参照数据(Implicit)。所接收数据还包括选择性数据(Optional)。

根据所述的用于ASN.1编/译码系统的引用查表方法,若其中所述性数据(Optional)的内容未经填注,则将该数据删除。

根据所述的用于ASN.1编/译码系统的引用查表方法,比对该输入数据与一参考表格,若参考表格中含有“Implicit”字符串则判定该输入数据含有隐性参照数据(Implicit)。

根据以上所述的用于ASN.1编/译码系统的引用查表方法,其中通过比对该隐性参照数据(Implicit)与参考表格,获知其数据属性并恢复成为调整后的数据。

如上所述可知,传统的编/译码流程为:(1)更新定义数据,(2)执行程序产生器,(3)重新编译,(4)应用新功能(Functions)。而本发明的流程为:(1)更新定义数据(2)应用新Functions;而使用本发明的方法的编/译码流程只需:(1)更新定义数据(2)应用新Functions。因而使用本发明的方法,不须更动程序即可处理格式化文件。省去执行程序产生器和重新编译两个步骤,使任何ASN.1数据结构的更新只需针对文件的数据,不需要更动程序。

附图说明

图1是现有技术的对ASN.1数据格式进行调整的流程图;

图2是本发明的一个实施例的用于ASN.1编码/译码系统的引用查表方法的结构图;

图3是本发明的一个实施例的将树状结构图调整为线性数据以做为输入数据的示意图;

图4是说明本发明的用于将显性参照数据及隐性数据调整为原始标记之一的调整数据的步骤的一个实施例的流程图;以及

图5是本发明的一个实施例的调整选择性数据的流程图。

发明的详细说明

如图2所示,使用本发明的引用查表方法,编译码流程为:(1)更新定义数据(2)程序使用新功能(Function)。从而简化了传统方法的执行程序产生器及重新编译的步骤。

本发明的方法和传统的方法在输入数据定义方面是相同的,输入数据不是文字化的数据(Text File)而是一串八字节串行数字数据。

所述的串行数字数据中还可能包括其它数字数据,因此所有数据形成了一树状结构(Tree Structure),这一串数字数据中包括的其它数字数据越多,树的深度越深,为了将输入数据恢复为原始表格,必须将树状结构(Tree Structure)整个展开,成为串行数字数据再输入。

树状结构(Tree Structure)的每一个节点(Node)都是一串树字化的数据。现有的ASN.1的数据格式调整程序使用前序(Preorder)、中序(Inorder)或后序(Postorder)算法程序一层一层分别将节点(Node)中的串行数据展开,最后得到的一连串的数字数据形成了输入数据。

本发明的方法和现有方法的主要不同点是现有的ASN.1的数据格式调整方法是将树状结构(Tree)一层一层的节点(Node)分别展开,而本发明的方法是将树状结构(Tree)的节点(Node)一次展开,最后得到的一连串的数字数据形成了输入数据。

根据ASN.1的定义,当输入数据内含有显性参照(Explicit)时,标明显性参照(Explicit)的标记(Tag)形成了一个节点(Node)。本发明将此节点(Node)重新定义为一自订标记(Specified Index),指针(Pointer)指向这个自订标记(Specified Index),由于实际数据形成了上述节点的子节点,因而先将这两个节点合并成一个节点从而获得真正的数据,然后将指针(Pointer)指向这个调整后的节点(Node),即此自订标记(Specified Index)。

根据ASN.1的定义,当输入数据内含隐性参照(Implicit)时,标明隐性参照(Implicit)的标记(Tag)形成了一个节点(Node)。本发明将此节点(Node)重新定义为一自订标记(Specified Index),指针(Pointer)指向这个自订标记(Specified Index),但由于实际数据的属性已经丧失,因而先对照ASN.1的参考表格(Reference Table)找出数据属性以获得真正的数据,然后将指针(Pointer)指向这个内含真正数据的节点,即标记(SpecifiedIndex)。

根据ASN.1的定义,当输入数据内含选择性数据(Optional)时,标明选择性数据(Optional)的标记(Tag)及内容(Content)形成了一个节点(Node)。本发明将此节点(Node)重新定义为一自订标记(Specified Index),对照ASN.1的参考表格(Reference Table)检查数据内容是否为空(Null),若资料内容为空,则将该数据(即节点(Node))删除。

本发明的方法包括了一种ASN.1定义数据的加载器(loader),用于(1)建立ASN.1专用的数据目录以标明各种数据标记(tag),这些数据标记包括隐性标记(IMPLICIT)和/或显性标记(EXPLICIT)等、标明数据结构类别包括SET/SET OF/SEQUENCE/SEQUENCE OF/INSTANCE OF/CHOICE等等、以及标明ASN.1的特性,如OPTIONAL/DEFAULT/ANY等等,并能(2)让ASN.1编/译码程序随时读取,以至于在(3)修改的时候不用更动ASN.1编/译码程序。

如图3(a)所示,头端(即根节点Root)含有三个子节点A,B以及C。A节点(Node)又含有子节点A1,C节点(Node)含有四个子节点C1,C2,C3,C4,该树状结构(Tree Structure)是唯一的,一一访问树状结构的节点,将其转换为一线性数据,如图3(b)所示,其输出顺序为A,A1,B,C,C1,C2,C3,C4,其中1,11,2,3,31,32,33,34表示数据在树状结构(Tree Structure)中的层级以及位置。

如图4(a)所示,头端(即根节点Root)含有三个子节点A,B以及C。其中A节点(Node)代表一显性参照标记(Explicit),C节点(Node)代表一隐性参照标记(Implicit),A节点(Node)又含有一个子节点A1。本发明将A节点(Node)重新定义为一自订标记(Specified Index),指针(Pointer)指向这个自订标记(Specified Index),由于实际数据形成了上述节点的子节点A1,因而先将这两个节点合并成一个节点A3以获得真正的数据,然后将指针(Pointer)指向这个调整后的节点A3(Node)。本发明将C节点(Node)重新定义为另一自订标记(Specified Index),指针(Pointer)指向这个自订标记(Specified Index),由于实际数据的属性已经丧失,因此先对照ASN.1的参考表格(Reference Table)找出数据属性以获得真正的数据,然后将指针(Pointer)指向这个内含真正数据的节点(Node)C。该树状结构(TreeStructure)是唯一的,调整该树状结构的节点,将其转换为原始码标记。图4(b)是调整后的树状结构。

如图5(a)所示,头端(即根节点Root)含有四个子节点A,B,C以及D,其中D节点(Node)代表一选择性数据(optional)。当输入数据内含选择性数据(optional)D时,标明选择性数据(optional)的标记(Tag)及内容(content)形成了一个节点(Node)D,本发明将此节点(Node)重新定义为一自订标记(Specified Index),对照ASN.1的参考表格(Reference Table)检查数据D内容是否为空(Null),若资料D内容为空则将该数据(即节点(Node))删除。如图5b示出了调整(即删除D)后的树状结构(Tree Structure)。

根据以上的附图和对发明的详细说明,本领域的技术人员可以对本发明进行改进、添加和替换,但这都在本发明的专利范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号