一种通过xml文件生成mib文件的系统及方法

文档序号:6494004阅读:1033来源:国知局
一种通过xml文件生成mib文件的系统及方法
【专利摘要】本发明公开了一种通过XML文件生成MIB文件的系统及方法,所述系统包括:Schema规则定义单元、XML语法校验单元、XML语义解析单元、MIB文件规则解析单元和MIB文件生成单元。所述方法原理为:Schema规则定义单元定义了一种XML到MIB校验及映射的Schema;XML语义解析单元定义XML元素到MIB元素的映射规则,并对语法校验通过的XML文件进行解析处理,完成XML元素到MIB元素的映射;MIB文件生成单元按照MIB文件具体元素的生成方法生成MIB文件。采用本发明,可以降低在MIB文件编写过程中的出错概率,加快网络管理系统的开发。本发明方案通过把熟悉和通用的XML形式的接口暴露给用户,用户基于XMLSchema来编写XML文件,通过本发明提供的方法和系统,可以方便的生成MIB文件,避免直接操作难懂的MIB文件。
【专利说明】—种通过XML文件生成MIB文件的系统及方法
【技术领域】
[0001 ] 本发明涉及SNMP网络管理技术,特别涉及一种通过XML文件生成MIB文件的系统及方法。
【背景技术】
[0002]随着网络规模的越来越大,网络中的设备类型越来越多。目前主要使用SNMP(Simple Network Management Protocol,简单网络管理协议)对网络设备进行管理。SNMP网络管理框架定义了三个主要部件:管理信息结构(SMI)、管理信息库(MIB)和管理协议(SNMP)0其中,管理信息库(MIB)定义了可以通过网络管理协议进行访问的管理对象的集合,是SNMP管理的基础。用ASN.1语法书写的MIB只有在经过MIB编译器编译后才能在开发中使用。然而ASN.1语法和SMI描述的信息结构抽象性很强,而且通用的MIB是基于文本方式来编写或生成的,如果手工来编写的,需要对MIB文件和相关的文本宏定义需要深入了解,即使是使用工具,也需要用户对MIB相关的概念需要了解,加大网络管理系统代理的开发难度。
[0003]传统的MIB编写多通过MIB编辑工具进行编辑,通过MIB编辑工具的可视化界面操作来生成MIB文件,不过大多数MIB编辑工具都需要License,而且也需要用户按照SMI的语法和语义进行编辑,只是省略了书写的过程。此种方法需要用户对抽象的SMI很了解,增加了开发难度。
[0004]中国专利申请号为“CN101446896A”的文献中公开了一种MIB文件编辑器,在这种方法中,通过把MIB文件的编写转化为一种对菜单的选择和操作处理来生成MIB文件,类似于传统的MIB编辑工具。
[0005]通过对现有技术和专利的分析,现有的公开技术多是直接按照SMI的语法进行MIB文件编写,如果用户手工编写的时候,加大出错概率,而且不便于阅读和修改。

【发明内容】

[0006]本发明目的在于,为降低MIB文件编写的难度和减少MIB编写中的错误,本发明提供一种通过XML文件生成MIB文件的系统及方法。
[0007]为实现上述目的,本发明提供了一种通过XML文件生成MIB文件的系统,所述系统包含:
[0008]Schema规则定义单元,用于定义一种用于完成XML到MIB校验及映射的Schema规则;
[0009]XML语法校验单元,用于按照定义的Schema规则,利用XML的校验器对输入的XML文件进行校验;
[0010]XML语义解析单元,用于定义XML元素到MIB元素的映射规则,并对校验通过的XML文件进行解析处理;
[0011 ] MIB文件规则解析单元,用于维护MIB文件的语义和语法,并进行MIB文件的校验;和
[0012]MIB文件生成单元,用于调用MIB文件规则解析单元对MIB元素的语义和语法表示方法,生成MIB文件。
[0013]上述XML语义解析单元进一步包含:
[0014]映射关系初始化子模块,用于定义Schema和MIB元素的对应对关系;
[0015]处理方法初始化子模块,用于注册和实例化对具体的节点的处理方法;
[0016]XML节点分类子模块,用于把解析到的XML节点及其子元素分为数据类型节点块、宏节点块、标量类型节点块、Table类型节点块和Trap类型节点块;和
[0017]解析子模块,用于把分好类的XML节点映射到其注册的具体的处理方法。
[0018]基于上述系统本发明提供了一种通过XML文件生成MIB文件的方法,所述方法包含:
[0019]步骤101) Schema规则定义单元定义一种用于完成XML到MIB校验及映射的Schema,并按照定义的Schema进行文件的编辑和修改;
[0020]步骤102) XML语法校验单元根据步骤101)定义的Schema进行XML文件校验;
[0021]步骤103) XML语义解析单元定义XML元素到MIB元素的映射规则,对语法校验通过的XML文件进行解析处理,并完成XML元素到MIB元素的映射;
[0022]步骤104) MIB文件生成单元按照MIB文件具体元素的生成方法生成MIB文件。
[0023]上述步骤101)进一步包含:
[0024]步骤101-1)定义的Schema采用XML语言映射MIB文件规则为XML的元素节点、属性及类型;
[0025]步骤101-2)定义的Schema把MIB文件的宏,映射为具体的XML节点,把宏的具体属性映射为XML节点的元素属性;
[0026]步骤101-3)定义的Schema把MIB的树形关系,映射为节点的父子关系;
[0027]步骤101-4)定义的Schema把MIB中的数据类型,映射为基于XML基本数据类型的自定义数据类型;
[0028]步骤101-5)定义的Schema把MIB中的标量对象、Table对象和Trap对象映射为三种通用的节点;
[0029]步骤101-6)定义的Schema引入数据节点datanode,表示MIB中的具体对象,还支持对datanode的引用,用于对XML文件进行压缩。
[0030]上述步骤103)根据中定义的Schema定义一个对此Schema的XML语义解析单元,且在XML语义解析单元解析处理时,定义了 Schema和MIB元素的对应对关系,在处理具体的XML元素时,查找其对应的MIB元素,由MIB文件生成单元,生成MIB文件片段。
[0031 ] 上述步骤103 )进一步包含:
[0032]步骤103-1)加载Schema元素与MIB规则映射表,放入哈希表中,为Schema元素注入处理方法;
[0033]步骤103-2)按照映射表关系对处理函数进行初始化和实例化;
[0034]步骤103-3)加载校验通过的XML文件;
[0035]步骤103-4)按照Schema解析出节点,并判断是否是最后一个节点,如果是则停止,否则进入下一步骤;[0036]步骤103-5)进一步判断是否是数据类型定义,如果是,则解析其数据类型,并映射到MIB的数据类型,然后返回步骤103-4)进行下一个节点解析;否则,进入下一步骤;
[0037]步骤103-6)再判断是否是宏元素定义,如果是,则按照映射关系转变为MIB宏定义,并返回步骤103-4)进行下一个节点解析;否则进入一下步骤;
[0038]步骤103-7)最后判断是否是对象类型节点,如果是,则从哈希表中查找其注册的实例化处理方法,并生成MIB树结构返回步骤103-4)进行下一个节点解析,否则停止。
[0039]步骤103-7)所述的对象类型节点包含:标量对象、Table对象和Trap对象。
[0040]上述步骤104)进一步包含:
[0041]步骤104-1)通过MIB文件规则解析单元,获得MIB文件中MIB元素类型及其属性的具体语法和表示方法;
[0042]步骤104-2)生成MIB文件中的头和导入的数据类型;
[0043]步骤104-3)生成MIB文件中的中间节点;
[0044]步骤104-4)如果有自定义数据类型的,生成MIB文件中的数据类型定义宏;
[0045]步骤104-5)把XML节点中的标量类型节点、Table类型节点和Trap类型节点,按照104-1)的表示方法,把XML节点的属性映射到对应MIB元素的属性中,生成MIB叶子节点;并表示出OID ;
[0046]步骤104-6)生成MIB文件的结束符。
[0047]本发明所述系统主要包括Schema规则定义单元、XML语法校验单元、XML语义解析单元、MIB文件规则解析单元和MIB文件生成单元。
[0048]与现有技术相比,本发明的有益效果在于:
[0049]1.本方法对手工编写MIB文件,可以给出智能提示和及时校验,减少了出错概率,加快开发进度。
[0050]2.本方法同时可以用于MIB编辑工具的开发,便于在各种编辑工具之间做中间数据格式的交互。
[0051]3.本方法生成的XML文档可以方便的在不同的Schema之间进行转换,可以用于基于XML的网络管理系统。在异构系统的网络管理中,能很好的在不同平台之间进行转换。
[0052]总之,本发明提供的方法通过把熟悉和通用的XML形式的接口暴露给用户,用户基于XML Schema来编写XML文件,通过本发明提供的方法和系统,可以方便的生成MIB文件,避免直接操作难懂的MIB文件。
【专利附图】

【附图说明】
[0053]图1是本发明通过XML生成MIB文件的系统模块图;
[0054]图2是本发明通过XML生成MIB文件的方法流程图;
[0055]图3是本发明XML语义解析单元工作流程图。
【具体实施方式】
[0056]下面结合附图来进行详细说明通过XML生成MIB文件的实现方法。
[0057]本发明提供一种通过XML文件生成MIB文件的方法及系统,所述方法包含:
[0058]101) Schema规则定义单兀,基于XML定义了一种通用的Schema,用于完成XML到MIB的校验及映射;
[0059]102) XML语法校验单元,按照Schema规则,利用XML的校验机制对输入的XML文件进行校验;
[0060]103) XML语义解析单元,用于对校验通过的XML文件进行解析处理,根据映射关系,映射到相应的MIB元素;
[0061]104) MIB文件规则解析单元,解析MIB文件规则并进行MIB文件的校验,维护着MIB元素及其生成MIB文件的语义和语法;
[0062]105) MIB文件生成单元,调用MIB文件规则解析单元对MIB元素的语义和语法表示方法,生成MIB文件。
[0063]上述单元101)进一步包含:
[0064]由于用ASN.1语法和SMI描述的MIB’结构复杂,而且抽象。本方法把表示方法进行了简化。首先把Schema的描述分为以下四个部分:
[0065]I)针对MIB中的宏,本发明通过把其映射到Schema中的具体的节点来表示,把宏的具体属性映射为节点元素的属性;
[0066]2)针对MIB中的数据类型,本发明基于XML的基本数据类型来封装自定义类型进行表示;
[0067]3)针对MIB中的具体三种数值类型:标量对象、Table对象和Trap对象,也映射为三种通用的节点。
[0068]4)把具体的MIB节点表示为数据节点datanode,还支持对datanode的引用,用于对XML文件进行压缩。
[0069]依据上述规则,或手工编写或基于XML的编辑工具,进行XML文件编写。在XML编写过程中,即可进行文件的及时校验和属性提醒,方便管理属性的XML文件编写。
[0070]上述单元102)进一步包含:
[0071]XML语法校验单元,可以在编写过程中进行智能的提醒和属性校验,也可以在编辑完后进行校验。针对101)单元中输出的文件的校验基于通用的XML工具进行校验。
[0072]上述单元103)进一步包含:
[0073]XML语义解析单元,用于对校验通过的XML文件进行解析处理,映射到相对应的MIB语义和语法。此单元是本发明的核心部件。
[0074]由于MIB本身需要维护一个全局的树形结构,本单元按照基于DOM的方式对XML进行解析。在解析之前,本单元需要加载Schema与MIB的具体映射关系,并进行具体初始化,并放置在内存中,保证对具体节点的处理只初始化和实例化一次,并把相对应的实例化方法注册给DOM解析器。
[0075]在XML解析到具体的节点时,检查该节点的已注册的实例化处理方法,进行调用处理。
[0076]上述单元104)进一步包含:
[0077]MIB文件规则解析单元,是按照ASN.1语法和SMI描述的信息结构的字典库,维护了 MIB文件本身的语法和语义结构,包括对常见的SMI宏、数据类型的表示方法和生成方法。
[0078]上述单元105)进一步包含:[0079]MIB文件生成单元,按照MIB文件规则解析单元对具体块和元素的表示方法和生成方法,输出MIB文件。
[0080]图1是本发明通过XML生成MIB文件的系统模块图,具体包括:
[0081]Schema规则定义单兀101,基于XML定义了 一种通用的Schema,用于完成XML到MIB的校验及映射;
[0082]XML语法校验单元102,按照Schema规则,利用XML的校验机制对输入的XML文件进行校验;
[0083]MIB文件规则解析单元103,用于按照MIB文件的语义和语法,进行MIB文件的校验和解析;
[0084]XML语义解析单元104,用于对校验通过的XML文件进行解析处理,根据Schema和MIB的映射关系,调用相应的处理函数进行处理。
[0085]MIB文件生成单元105,根据MIB文件规则解析单元对具体MIB对象的表示方法和生成方法,输出MIB文件。
[0086]图2是本发明通过XML生成MIB文件的工作流程图,具体包括:
[0087]201)按照 Schema 编辑 XML 文件
[0088]按照定义的Schema进行XML文件的编辑和修改;
[0089]202 ) XML 语法校验
[0090]对编辑完成后的XML进行语法和格式校验,生成符合Schema规则的XML文件;[0091 ] 203 ) XML语义解析处理
[0092]XML语义解析处理,对校验通过的XML文件进行解析处理;
[0093]204) MIB文件规则映射
[0094]MIB文件规则映射,解析MIB文件的规则,维护着对应XML的MIB规则;
[0095]2O5) MIB 文件生成
[0096]按照MIB文件规则的表示方法,生成MIB文件。
[0097]图3是本发明XML语义解析单元工作流程图,下面结合具体例子,解释通过XML生成MIB文件的方法:
[0098]按照Schema规则,生成的XML文件如下:
[0099]
【权利要求】
1.一种通过XML文件生成MIB文件的系统,所述系统包含: Schema规则定义单元,用于定义一种用于完成XML到MIB校验及映射的Schema规则;XML语法校验单元,用于按照定义的Schema规则,利用XML的校验器对输入的XML文件进行校验; XML语义解析单元,用于定义XML元素到MIB元素的映射规则,并对校验通过的XML文件进行解析处理; MIB文件规则解析单元,用于维护MIB文件的语义和语法,并进行MIB文件的校验;和MIB文件生成单元,用于调用MIB文件规则解析单元对MIB元素的语义和语法表示方法,生成MIB文件。
2.根据权利要求1所述的通过XML文件生成MIB文件的系统,其特征在于,所述XML语义解析单元进一步包含: 映射关系初始化子|吴块,用于定义Schema和MIB兀素的对应对关系; 处理方法初始化子模块,用于注册和实例化对具体的节点的处理方法; XML节点分类子模块,用于把解析到的XML节点及其子元素分为数据类型节点块、宏节点块、标量类型节点块、Table类型节点块和Trap类型节点块;和 解析子模块,用于把分好类的XML节点映射到其注册的具体的处理方法。
3.—种通过XML文件生成MIB文件的方法,该方法基于权利要求1所述的系统,所述方法包含: 步骤101) Schema规则定义单元定义一种用于完成XML到MIB校验及映射的Schema,并按照定义的Schema进行文件的编辑和修改; 步骤102) XML语法校验单元根据步骤101)定义的Schema进行XML文件校验; 步骤103) XML语义解析单元定义XML元素到MIB元素的映射规则,对语法校验通过的XML文件进行解析处理,并完成XML元素到MIB元素的映射; 步骤104) MIB文件生成单元按照MIB文件具体元素的生成方法生成MIB文件。
4.根据权利要求3所述的通过XML文件生成MIB文件的方法,其特征在于,所述步骤101)进一步包含: 步骤101-1)定义的Schema采用XML语言映射MIB文件规则为XML的元素节点、属性及类型; 步骤101-2)定义的Schema把MIB文件的宏,映射为具体的XML节点,把宏的具体属性映射为XML节点的元素属性; 步骤101-3)定义的Schema把MIB的树形关系,映射为节点的父子关系; 步骤101-4)定义的Schema把MIB中的数据类型,映射为基于XML基本数据类型的自定义数据类型; 步骤101-5)定义的Schema把MIB中的标量对象、Table对象和Trap对象映射为三种通用的节点; 步骤101-6)定义的Schema引入数据节点datanode,表示MIB中的具体对象,还支持对datanode的引用,用于对XML文件进行压缩。
5.根据权利要求3所述的通过XML文件生成MIB文件的方法,其特征在于,所述步骤103)根据中定义的Schema定义一个对此Schema的XML语义解析单元,且在XML语义解析单元解析处理时,定义了 Schema和MIB元素的对应对关系,在处理具体的XML元素时,查找其对应的MIB元素,由MIB文件生成单元,生成MIB文件片段。
6.根据权利要求5所述的通过XML文件生成MIB文件的方法,其特征在于,所述步骤103)进一步包含: 步骤103-1)加载Schema元素与MIB规则映射表,放入哈希表中,为Schema元素注入处理方法; 步骤103-2)按照映射表关系对处理函数进行初始化和实例化; 步骤103-3)加载校验通过的XML文件; 步骤103-4)按照Schema解析出节点,并判断是否是最后一个节点,如果是则停止,否则进入下一步骤; 步骤103-5)进一步判断是否是数据类型定义,如果是,则解析其数据类型,并映射到MIB的数据类型,然后返回步骤103-4)进行下一个节点解析;否则,进入下一步骤; 步骤103-6)再判断是否是宏元素定义,如果是,则按照映射关系转变为MIB宏定义,并返回步骤103-4)进行下一个节点解析;否则进入一下步骤; 步骤103-7)最后判断是否是对象类型节点,如果是,则从哈希表中查找其注册的实例化处理方法,并生成MIB树结构返回步骤103-4)进行下一个节点解析,否则停止。
7.根据权利要求5所述的通过XML文件生成MIB文件的方法,其特征在于,步骤103-7)所述的对象类型节点包含:标量对象、Table对象和Trap对象。
8.根据权利要求2所述的通过XML文件生成MIB文件的方法,其特征在于,所述步骤104)进一步包含: 步骤104-1)通过MIB文件规则解析单元,获得MIB文件中MIB元素类型及其属性的具体语法和表不方法; 步骤104-2)生成MIB文件中的头和导入的数据类型; 步骤104-3)生成MIB文件中的中间节点; 步骤104-4)如果有自定义数据类型的,生成MIB文件中的数据类型定义宏; 步骤104-5)把XML节点 中的标量类型节点、Table类型节点和Trap类型节点,按照104-1)的表示方法,把XML节点的属性映射到对应MIB元素的属性中,生成MIB叶子节点;步骤104-6)生成MIB文件的结束符。
【文档编号】G06F9/44GK103902269SQ201210581216
【公开日】2014年7月2日 申请日期:2012年12月27日 优先权日:2012年12月27日
【发明者】党寿江, 李艳霞, 刘学 申请人:中国科学院声学研究所, 北京海力汇通数字系统技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1