CN101883082A - 获取网络配置协议服务端建模文件信息的方法、设备和系统 - Google Patents
获取网络配置协议服务端建模文件信息的方法、设备和系统 Download PDFInfo
- Publication number
- CN101883082A CN101883082A CN2009101359167A CN200910135916A CN101883082A CN 101883082 A CN101883082 A CN 101883082A CN 2009101359167 A CN2009101359167 A CN 2009101359167A CN 200910135916 A CN200910135916 A CN 200910135916A CN 101883082 A CN101883082 A CN 101883082A
- Authority
- CN
- China
- Prior art keywords
- modeling file
- model tree
- modeling
- file
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例公开了一种获取网络配置协议服务端建模文件信息的方法、设备和系统,能够直接获取到建模文件的模型树,使得网络管理员直观了解到服务端建模文件的数据结构,避免了学习建模语言和分析建模文件的麻烦,提高了工作效率。本发明实施例提供的方法包括:接收网络配置协议客户端发送的获取建模文件信息的查询请求;根据所述查询请求获取相关的建模文件的模型树;向所述客户端返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
Description
技术领域
本发明涉及网络管理技术领域,具体而言是涉及一种获取网络配置(NETCONF)协议服务端建模文件信息的方法、设备和系统。
背景技术
NETCONF协议包含客户端和服务端两个对象,网络管理员通过客户端向服务端发出网络管理请求,服务端接收这个请求,并按请求执行操作、向客户端应答操作结果。NETCONF报文(即操作请求和应答结果)使用可扩展标记语言(Extensible Markup Language,XML)编码。
XML是一套语义标记的规则,它将文档分成许多部件并用标记对这些部件加以标识。每一对标记由起始标记和结束标记组成,每一对标记及其内容称为一个元素(element)。元素可以拥有值,也可以拥有子元素,也可以没有值(这种情况称为空元素);元素还可以拥有属性(attribute),属性是一个“名字-值”对。
元素间的层次嵌套关系可使用一个树型数据结构来表示,如图1所示,在该树型数据结构中每个元素也被称作节点。在一对嵌套关系中,外层节点被称作内层节点的父节点;相应的,内层节点被称作外层节点的子节点。如图1中,<a>是<b1>、<b2>、<b3>的父节点,<b1>、<b2>、<b3>是<a>的子节点。拥有同一父节点的几个节点相互称为兄弟节点,如<b1>、<b2>、<b3>彼此是兄弟节点。
用于描述XML数据约束规则的文件称为XML建模(schema)文件。一个XML文件应当遵从一个或多个建模文件的约束。建模文件使用建模语言写作而成,不同的建模语言有不同的语法和格式,当前比较常用的建模语言有XSD、Relax NG,对于NETCONF协议还有一种专用的建模语言叫做YANG。
下面是一个XML文件和约束它的建模文件的例子,该建模文件是用XSD语言写的。其中例1是XML文档的内容,例2则是约束例1的建模文件。
例1:XML文件示例
<books>
<book language=”中文”>
<title>三国演义</title>
<author>罗贯中</author>
<publication-date>2002-08-08</publication-date>
<publisher>甲出版社</publisher>
</book>
<book language=”中文”>
<title>红楼梦</title>
<author>曹雪芹</author>
<author>高鹗</author>
<publication-date>1999-01-09</publication-date>
</book>
</books>
例2:建模文件示例
<xs:schema xmlns:xs=″http://www.w3.org/2001/XMLSchema″>
<xs:element name=″books″>
<xs:complexType>
<xs:sequence>
<xs:element name=″book″ type=″bookType″ minOccurs=″0″
maxOccurs=″unbounded″>
</xs:sequence>
</xs:complexType>
<xs:element>
<xs:complexType name=″bookType″>
<xs:sequence>
<xs:element name=″title″type=″xs:string″minOccurs=″1″maxOccurs=″1″/>
<xs:element name=″author″type=″xs:string″minOccurs=″1″maxOccurs=″3″/>
<xs:element name=″publication-date″type=″xs:date″minOccurs=″1″
maxOccurs=″1″/>
<xs:element name=″publisher″type=″xs:string″minOccurs=″0″maxOccurs=″1″/>
</xs:sequence>
<xs:attribute name=″language″type=″xs:string″use=″required″/>
</xs:complexType>
</xs:schema>
从例2可看出建模文件自身也是XML格式的,但XSD语言定义了一套元素是用于描述对XML文件的约束规则。具体来说<element>元素用于定义新元素,在例2中分别定义了<books>、<book>、<title>、<author>、<publication-date>、<publisher>元素,因此例1的XML文件中允许有这些元素出现。XSD在定义<books>、<book>的时候使用了<complexType>元素,它表明这两个元素是复杂类型的,即可以拥有子元素,因此XML文件中<books>、<book>拥有了子元素。<sequence>元素约束了XML文件中子元素出现的顺序必须和定义时相同,因此<title>必须出现在<author>前、<author>必须出现在<publication-date>前,依此类推。元素<title>、<author>、<publication-date>、<publisher>直接拥有值,<element>元素的type属性约束了元素值的类型,本例对于取值范围等更细致的要求没有做约束。<element>元素的minOccurs和maxOccurs属性则约束了该元素出现的次数,比如minOccurs=″1″maxOccurs=″3″表明该元素至少出现1次,最多可以出现3次,因此第2个<book>元素(红楼梦)包含两个<author>元素也是合乎要求的。在定义<book>元素内容的过程中,除了定义了四个子元素,还使用了<attribute>元素定义了language属性,<attribute>元素的type属性约束了属性值的类型,属性use=″required″表明language在其宿主元素中必须出现,因此XML文件中两个<book>元素都带language属性。综上所述,例1的XML文件完全遵从例2的XSD文件的约束。
在NETCONF网络管理中,无论查询还是修改服务端的数据,网络管理员都需要知道服务端XML数据的树结构,然后才能构造出一个操作请求。比如查询例1中《三国演义》一书的作者和出版社,这个操作请求如例3所示。
例3:查询示例
<rpc message-id=″101″xmlns=″urn:ietf:params:xml:ns:netconf:base:1.0″>
<get>
<filter type=“subtree”>
<t:books xmlns:t=″http://example.com/book/1.0/″>
<t:book>
<t:title>三国演义</t:title>
<t:author/>
<t:publisher/>
</t:book>
</t:books>
</filter>
</get>
</rpc>
例3中,<rpc>元素表明这是一个网管站发出的请求,<get>元素表明网管站请求执行查询操作,<filter>元素指明了查询方式和查询条件,其属性type=“subtree”指出该查询采用子树过滤方式,<filter>包含的子节点表明:该查询希望查询<books>元素中某<book>元素中的<author>和<publisher>元素,该<book>元素必须具有<title>元素,元素值是″三国演义″。
在实现本发明过程中,发明人研究发现:网络管理员在构造查询请求之前,必须知道欲查询元素在整个XML树中的位置。但管理员不能直接获知服务端内XML数据的树结构,对于陌生的服务端(例如新购买的设备)更是如此。一种解决的办法是收集服务端XML数据的建模文件,阅读这些建模文件并推导出树结构,但是建模文件的可读性一般不好,读起来费时费力,很难直观的推导出树结构。
发明内容
本发明实施例提供一种获取网络配置协议服务端建模文件信息的方法、设备和系统,能够直接获取到建模文件的模型树信息,使得网络管理员直观了解到服务端建模文件的数据结构。
本发明实施例提供的一种获取网络配置协议服务端建模文件信息的方法,包括:
接收网络配置协议客户端发送的获取建模文件信息的查询请求;
根据所述查询请求获取相关的建模文件的模型树;
向所述客户端返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
基于该方法,本发明实施例提供的一种网络配置协议的服务端设备,包括:
查询请求接收单元,用于接收网络配置协议客户端发送的获取建模文件信息的查询请求;
模型树信息获取单元,用于根据所述查询请求获取相关的建模文件的模型树;
查询结果返回单元,用于向所述客户端返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
基于该方法,本发明实施例提供的一种获取网络配置协议服务端建模文件信息的系统,包括:客户端设备和服务端设备,
所述服务端设备,用于接收网络配置协议客户端设备发送的获取建模文件信息的查询请求;根据所述查询请求获取相关的建模文件的模型树;并向所述客户端设备返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
优选地,上述的方法、装置和系统中,所述建模文件的模型树包括:在所述建模文件中定义的所有元素和所有属性,省略每个元素的元素值和每个属性的属性值,且每个子元素在其父元素中必须且只能出现一次,每个属性在其宿主元素中必须且只能出现一次。
由上述本发明实施例提供的技术方案可知,在服务端设备接收到网络配置协议客户端设备发送的获取建模文件信息的查询请求后,根据该查询请求获取相关的建模文件的模型树,向所述客户端设备直接返回携带所述相关的建模文件的模型树的查询结果,从而客户端设备能够通过一次查询请求操作直接获取到建模文件的模型树,使得网络管理员可直观了解到服务端建模文件的数据结构,避免了学习建模语言和分析建模文件的麻烦,提高了工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的一种元素间层次关系和树型结构的相互映射图;
图2为本发明实施例提供的一种获取网络配置协议服务端建模文件信息方法的流程图;
图3为本发明实施例提供一种服务端处理获取建模文件信息的<get>操作流程图;
图4为本发明实施例提供的一种图形化方式显示的模型树示意图;
图5为本发明实施例提供了一种网络配置协议的服务端设备的结构示意图;
图6为本发明实施例提供的一种获取网络配置协议服务端建模文件信息系统的组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参见图2,本发明实施例提供的一种获取网络配置协议服务端建模文件信息的方法,包括:
步骤21,服务端接收网络配置协议客户端发送的获取建模文件信息的查询请求;
步骤22,服务端根据所述查询请求获取相关的建模文件的模型树;
步骤23,服务端向所述客户端返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
其中,所述建模文件的模型树包括:在所述建模文件中定义的所有元素和所有属性,省略每个元素的元素值和每个属性的属性值,且每个子元素在其父元素中必须且只能出现一次,每个属性在其宿主元素中必须且只能出现一次。
由本发明实施例提供的上述方法可知,在服务端接收到网络配置协议客户端发送的获取建模文件信息的查询请求后,根据该查询请求获取相关的建模文件的模型树,向所述客户端直接返回携带所述相关的建模文件的模型树的查询结果,从而客户端能够通过一次查询请求操作直接获取到建模文件的模型树信息,使得网络管理员可直观了解到服务端建模文件的数据结构,避免了学习建模语言和分析建模文件的麻烦。
本发明实施例定义的一种模型树结构,它的特征为:1)假定所有节点在其父节点中必须且只能出现一次,并且忽略元素值;2)假定所有属性在其宿主节点中必须且只能出现一次,并且忽略属性值。
根据该定义,例2的建模文件实际提供了如例4所示的模型树:
例4:模型树示例
<books>
<book language=>
<title/>
<author/>
<publication-date/>
<publisher/>
</book>
<books>
模型树可以是预先静态存储在服务端设备中,也可以是根据建模文件动态生成的。因此步骤22中服务端根据查询请求获取相关的建模文件的模型树有两种方式:
方式一,根据所述查询请求复制预先存储的相关的建模文件的模型树;
方式二,根据所述查询请求获取到相关的建模文件的位置信息,根据建模文件的位置信息获取到建模文件的内容,根据建模文件的建模语言信息调用相应的建模语言解析器,解析所述建模文件的内容得到模型树。
在本发明的一种实施例方式中,扩展现有建模文件的数据结构,在建模文件中增加模型树元素<module-tree>,用于封装建模文件的上述模型树。扩展后的建模文件的结构如例5所示。
例5:建模文件的结构
<schemas>
<schema>
<identifier>book</identfier>
<version>1.0</version>
<format>XSD</format>
<namespace>http://example.com/book/1.0/</namespace>
<location>http://59.64.139.64/download/book.xsd</location>
<location>ftp://59.64.139.1/download/xsd/boo k.xsd</location>
<module-tree>
<books>
<book>
<title/>
<author/>
<publication-date/>
<publisher/>
</book>
<books>
</module-tree>
</schema>
<schema>
......
</schema>
......
</schemas>
其中:
<schema>表示其中一个建模文件的信息;
<identifier>表示模块名或者建模文件名;
<version>表示建模文件的版本;
<format>表示建模文件是用什么建模语言写作而成,比如XSD、Relax NG和YANG;
<namespace>表示建模文件定义的XML命名空间;
<location>表示建模文件存放的地址和路径。
需要说明的是,由<identifier>、<version>和<format>三者可以唯一标示一个建模文件。
网络管理员通过客户端向服务端发送获取建模文件信息的<get>操作,服务端接收到该操作请求后,处理该操作请求,接着向客户端发送操作结果,在操作结果中携带该建模文件的模型树。
参见图3,本发明实施例提供一种服务端处理获取建模文件信息的<get>操作流程,包括:
步骤31,服务端解析获取建模文件信息的<get>操作,转入步骤32。
步骤32,服务端根据<get>操作获取符合过滤条件的建模文件信息,转入步骤33。
步骤33,判断服务端中是否静态存储有该建模文件的模型树,如果服务端中静态存储有该建模文件的模型树,则转入步骤34,如果服务端中没有静态存储该建模文件的模型树,则转入步骤35。
步骤34,复制预先存储的相关的建模文件的模型树,转入步骤37。
步骤35,根据建模文件中的<location>信息,获取建模文件的内容,转入步骤36。
如果建模文件中存在多个<location>信息,可以选取其中任意一个<location>信息获取建模文件的内容。另外,也可以按获取的难易程度进行:优先获取本地的<location>信息,再获取远程的<location>信息。或者按顺序选取第一个location的地址。
步骤36,根据<format>信息调用不同建模语言的解析器,解析建模文件的内容得到模型树,转入步骤37。
步骤37,将步骤36或步骤34得到的模型树添加到建模文件的<module-tree>节点中,继续步骤38。
步骤38,判断是否存在符合过滤条件的下一个建模文件,如果存在符合过滤条件的下一个建模文件,返回步骤32,如果不存在符合过滤条件的下一个建模文件,继续步骤39。
步骤39,处理完符合过滤条件的所有建模文件后,退出流程。
对上述处理获取建模文件信息的<get>操作流程,有两点说明:
(1)在所述<get>操作中如果指定过滤条件,则服务端将返回一个或多个特定的建模文件的模型树;在所述<get>操作中如果未指定过滤条件,则服务端将返回所有的建模文件的模型树。
(2)对建模文件的解析不限于XSD语言,可以是任意一种建模语言,例如Relax NG、YANG等,服务端根据<format>信息调用相应的建模语言解析器,解析建模文件所使用的建模语言的语法,按照模型树的定义,获取到模型树。
由于模型树直观的描述了XML数据的元素名和元素间的嵌套关系,故这种结构很容易用图形化的方式显示,如图4所示。图4中的每个节点可以扩展或者隐藏下一级节点,就像管理文件夹一样,显然这种方式更直观易懂。
仍以上述的例子进行说明,假设服务端包含了例1所示的<books>的XML文档的内容信息,并遵从例2所示的books.xsd建模文件的约束。网络管理员当前未知服务端包含哪些信息,因此他需要先查询服务端遵从的建模文件的信息。这个查询报文如例6所示。
例6:查询所有建模文件的信息
<rpc message-id=″101″xmlns=″urn:ietf:params:xml:ns:netconf:base:1.0″>
<get>
<filter type=“subtree”>
<netconf xmlns=″urn:ietf:params:xml:ns:netconf:state″>
<schemas/>
</netconf>
</filter>
</get>
</rpc>
在例6查询中指定了要获取<schemas>元素的内容,没有其它过滤条件,因此服务端返回了它遵从的所有的建模文件的信息,信息内容如例5所示(省略了<rpc-relpy>、<data>等外层元素)。这样网络管理员就知道了服务端包含<books>等元素的信息,并且知道<books>内的子元素都是什么,父子关系及属性信息是怎样的。
网络管理员也可以获取某一个或某几个建模文件的信息,只要在查询报文中指定过滤条件即可,如例7所示。该查询指定了获取book模块的xsd文件信息。
例7:查询指定建模文件的信息
<rpc message-id=″101″xmlns=″urn:ietf:params:xml:ns:netconf:base:1.0″>
<get>
<filter type=“subtree”>
<netconfxmlns=″urn:ietf:params:xml:ns:netconf:state″>
<schemas>
<schema>
<identifier>book</identifier>
<version>1.0</version>
<format>XSD</format>
</schema>
</schemas>
</netconf>
</filter>
</get>
</rpc>
在例7查询中指定了要获取<schema>元素的<identifier>、<version>和<format>参数的内容,服务端根据这三个参数找到指定的建模文件,并将该建模文件的模型树内容返回,这样网络管理员就知道了指定<book>元素的信息,并且知道了该<book>元素内的子元素是什么,父子关系及属性信息是怎样的。
在本发明的另一种实施例方式中,客户端可以构造一种专用于获取建模文件的上述模型树的操作,例如,为直接获取到建模文件的模型树内容,可构造一个专用的查询请求,如<get-module-tree>操作,此时服务端的建模文件的数据结构保持不变。在所述<get-module-tree>操作中,如果指定过滤条件,则用于获取一个或多个特定的建模文件的模型树;如果未指定过滤条件,则用于获取所有的建模文件的模型树。
服务端解析该专用的查询请求,获取到符合过滤条件的建模文件,或者复制预先静态存储的相关的建模文件的模型树信息,或者根据所述查询请求获取到相关的建模文件的位置信息,根据建模文件的位置信息获取到建模文件的内容,根据建模文件的建模语言信息调用相应的建模语言解析器,解析所述建模文件的内容动态得到模型树,然后由服务端向客户端返回携带所述模型树的查询结果。
由此可知,本发明实施例提供的获取网络配置协议服务端建模文件信息的方法,或者通过在建模文件中增加模型树元素<module-tree>,由通用的<get>操作获得模型树,或者通过客户端构造获取建模文件的模型树的专用操作,由构造的<get-module-tree>操作获得模型树,从而客户端能够无需获得建模文件本身,通过一次查询请求操作直接获取到建模文件的模型树,使得网络管理员直观的了解到服务端建模文件的数据结构,避免了学习建模语言和分析建模文件的麻烦,提高了工作效率。
实施例二
参见图5,基于实施例一提供的方法,本发明实施例提供了一种网络配置协议的服务端设备,包括:
查询请求接收单元51,用于接收网络配置协议客户端发送的获取建模文件信息的查询请求;
模型树信息获取单元52,用于根据所述查询请求获取相关的建模文件的模型树;
查询结果返回单元53,用于向所述客户端返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
其中,所述建模文件的模型树包括:在所述建模文件中定义的所有元素和所有属性,省略每个元素的元素值和每个属性的属性值,且每个子元素在其父元素中必须且只能出现一次,每个属性在其宿主元素中必须且只能出现一次。
模型树的内容可以是静态存储在服务端设备中的,也可以是根据建模文件动态生成的。因此上述模型树信息获取单元52可包括如下至少一个模块:
复制模块521,用于根据所述查询请求复制预先存储的相关的建模文件的模型树;
解析模块522,用于根据所述查询请求获取到相关的建模文件的位置信息,根据建模文件的位置信息获取到建模文件的内容,根据建模文件的建模语言信息调用相应的建模语言解析器,解析所述建模文件的内容得到模型树。
一种实施例方法,扩展现有建模文件的数据结构,在建模文件中增加模型树元素<module-tree>,用于封装建模文件的模型树的内容。因此,上述查询结果返回单元53,还用于将所述获取到的模型树封装入模型树元素,以向所述客户端返回包括所述模型树元素的查询结果,其中,所述模型树元素为在描述建模文件的数据结构中定义的元素,用于封装建模文件的模型树。
可以理解的是,上述查询结果返回单元53,具体可用于根据所述查询请求接收单元51接收的获取建模文件信息的<get>操作,在所述<get>操作中如果指定过滤条件,则返回一个或多个特定的建模文件的模型树;在所述<get>操作中如果未指定过滤条件,则返回所有的建模文件的模型树。
另一种实施例方式,客户端构造一种专用于获取建模文件的上述模型树信的操作,例如,为直接获取到建模文件的模型树的内容,可构造一个专用的查询请求,如<get-module-tree>操作,此时服务端的建模文件的数据结构保持不变。在所述<get-module-tree>操作中,如果指定过滤条件,则用于获取一个或多个特定的建模文件的模型树;如果未指定过滤条件,则用于获取所有的建模文件的模型树。
本发明实施例提供的网络配置协议的服务端设备,在查询请求接收单元51接收到网络配置协议客户端发送的获取建模文件信息的查询请求后,由模型树信息获取单元52获取相关的建模文件的模型树,并由查询结果返回单元53向所述客户端直接返回携带所述相关的建模文件的模型树的查询结果,从而客户端能够通过一次通用的查询请求操作直接获取到建模文件的模型树,使得网络管理员可直观了解到服务端建模文件的数据结构,避免了学习建模语言和分析建模文件的麻烦,提高了工作效率。
实施例三
基于上述实施例一提供的方法,本发明实施例还提供了一种获取网络配置协议服务端建模文件信息的系统。
参见图6,本发明实施例提供的一种获取网络配置协议服务端建模文件信息的系统,包括:客户端设备60和服务端设备50,
所述服务端设备50,用于接收网络配置协议客户端发送的获取建模文件信息的查询请求;根据所述查询请求获取相关的建模文件的模型树;并向所述客户端返回查询结果,所述查询结果中携带所述相关的建模文件的模型树;
其中,所述建模文件的模型树信息包括:在所述建模文件中定义的所有元素和所有属性,省略每个元素的元素值和每个属性的属性值,且每个子元素在其父元素中必须且只能出现一次,每个属性在其宿主元素中必须且只能出现一次。
上述的服务端设备50,具体用于根据所述查询请求复制预先存储的相关的建模文件的模型树信息;或者,根据所述查询请求获取到相关的建模文件的位置信息,根据建模文件的位置信息获取到建模文件的内容,根据建模文件的建模语言信息调用相应的建模语言解析器,解析所述建模文件的内容得到模型树。
一种实施例方式,上述服务端设备50,还用于将所述获取到的模型树封装入模型树元素,以向所述客户端返回包括所述模型树元素的查询结果,其中所述模型树元素为在描述建模文件的数据结构中定义的元素,用于封装建模文件的模型树。
此时,上述客户端设备60可以使用通用的<get>操作,直接获取到符合过滤条件的一个或多个特定的建模文件的模型树。
另一种实施例方式,上述客户端设备60通过构造获取建模文件的模型树信息的专用的查询请求,例如<get-module-tree>操作,使用该<get-module-tree>操作,直接获取到符合过滤条件的一个或多个特定的建模文件的模型树。
专业人员还可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或任意其它形式的存储介质中。
上述具体实施例并不用以限制本发明,对于本技术领域的普通技术人员来说,凡在不脱离本发明原理的前提下,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种获取网络配置协议服务端建模文件信息的方法,其特征在于,包括:
接收网络配置协议客户端发送的获取建模文件信息的查询请求;
根据所述查询请求获取相关的建模文件的模型树;
向所述客户端返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
2.根据权利要求1所述的方法,其特征在于,所述根据所述查询请求获取相关的建模文件的模型树的步骤包括:
根据所述查询请求复制预先存储的相关的建模文件的模型树;
或者,根据所述查询请求获取到相关的建模文件的位置信息,根据建模文件的位置信息获取到建模文件的内容,根据建模文件的建模语言信息调用相应的建模语言解析器,解析所述建模文件的内容得到模型树。
3.根据权利要求1所述的方法,其特征在于,所述建模文件的模型树包括:在所述建模文件中定义的所有元素和所有属性,省略每个元素的元素值和每个属性的属性值,且每个子元素在其父元素中必须且只能出现一次,每个属性在其宿主元素中必须且只能出现一次。
4.根据权利要求1-3中任一所述的方法,其特征在于,在向所述客户端返回查询结果之前,所述方法还包括:
将所述获取到的模型树封装入模型树元素,以向所述客户端返回包括所述模型树元素的查询结果,其中,所述模型树元素为在描述建模文件的数据结构中定义的元素,用于封装建模文件的模型树。
5.根据权利要求1-3中任一所述的方法,其特征在于,所述网络配置协议客户端发送的获取建模文件信息的查询请求为<get>操作。
6.根据权利要求1-3中任一所述的方法,其特征在于,所述网络配置协议客户端发送的获取建模文件信息的查询请求为:客户端构造的用于获取建模文件的所述模型树信息的专用操作。
7.一种网络配置协议的服务端设备,其特征在于,包括:
查询请求接收单元,用于接收网络配置协议客户端发送的获取建模文件信息的查询请求;
模型树信息获取单元,用于根据所述查询请求获取相关的建模文件的模型树;
查询结果返回单元,用于向所述客户端返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
8.根据权利要求7所述的服务端设备,其特征在于,所述建模文件的模型树包括:在所述建模文件中定义的所有元素和所有属性,省略每个元素的元素值和每个属性的属性值,且每个子元素在其父元素中必须且只能出现一次,每个属性在其宿主元素中必须且只能出现一次。
9.根据权利要求7所述的服务端设备,其特征在于,所述模型树信息获取单元包括如下任一模块:
复制模块,用于根据所述查询请求复制预先存储的相关的建模文件的模型树;
解析模块,用于根据所述查询请求获取到相关的建模文件的位置信息,根据建模文件的位置信息获取到建模文件的内容,根据建模文件的建模语言信息调用相应的建模语言解析器,解析所述建模文件的内容得到模型树。
10.根据权利要求7-9中任一所述的服务端设备,其特征在于,所述查询结果返回单元,还用于将所述获取到的模型树封装入模型树元素,以向所述客户端返回包括所述模型树元素的查询结果,其中,所述模型树元素为在描述建模文件的数据结构中定义的元素,用于封装建模文件的模型树。
11.根据权利要求7-9中任一所述的服务端设备,其特征在于,所述查询请求接收单元,具体用于接收网络配置协议客户端发送的获取建模文件信息的<get>操作。
12.根据权利要求7-9中任一所述的服务端设备,其特征在于,所述查询请求接收单元,具体用于接收网络配置协议客户端构造的用于获取建模文件的所述模型树信息的专用操作。
13.一种获取网络配置协议服务端建模文件信息的系统,其特征在于,包括:客户端设备和服务端设备,
所述服务端设备,用于接收网络配置协议客户端设备发送的获取建模文件信息的查询请求;根据所述查询请求获取相关的建模文件的模型树;并向所述客户端设备返回查询结果,所述查询结果中携带所述相关的建模文件的模型树。
14.根据权利要求13所述的系统,其特征在于,所述服务端设备,具体用于根据所述查询请求复制预先存储的相关的建模文件的模型树;或者,根据所述查询请求获取到相关的建模文件的位置信息,根据建模文件的位置信息获取到建模文件的内容,根据建模文件的建模语言信息调用相应的建模语言解析器,解析所述建模文件的内容得到模型树。
15.根据权利要求13所述的系统,其特征在于,所述建模文件的模型树包括:在所述建模文件中定义的所有元素和所有属性,省略每个元素的元素值和每个属性的属性值,且每个子元素在其父元素中必须且只能出现一次,每个属性在其宿主元素中必须且只能出现一次。
16.根据权利要求13-15中任一所述的系统,其特征在于,所述服务端设备,还用于将所述获取到的模型树信息封装入模型树元素,以向所述客户端设备返回包括所述模型树元素的查询结果,其中,所述模型树元素为在描述建模文件的数据结构中定义的元素,用于封装建模文件的所述模型树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101359167A CN101883082A (zh) | 2009-05-06 | 2009-05-06 | 获取网络配置协议服务端建模文件信息的方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101359167A CN101883082A (zh) | 2009-05-06 | 2009-05-06 | 获取网络配置协议服务端建模文件信息的方法、设备和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101883082A true CN101883082A (zh) | 2010-11-10 |
Family
ID=43054973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101359167A Pending CN101883082A (zh) | 2009-05-06 | 2009-05-06 | 获取网络配置协议服务端建模文件信息的方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101883082A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447645A (zh) * | 2015-11-30 | 2016-03-30 | 南京南瑞继保电气有限公司 | 基于元模型树的电力调度异构业务系统模型通用加载方法 |
CN106559251A (zh) * | 2015-09-30 | 2017-04-05 | 中兴通讯股份有限公司 | 一种基于yang模型的编译方法、及对应的接口、组件和系统 |
CN109787810A (zh) * | 2018-12-12 | 2019-05-21 | 深圳天元云科技有限公司 | 基于文本解析的网络设备配置统一管理方法、终端及介质 |
CN111628975A (zh) * | 2020-05-12 | 2020-09-04 | 中国人民银行清算总中心 | 一种组装xml报文的方法及装置 |
CN115865742A (zh) * | 2022-11-16 | 2023-03-28 | 天翼云科技有限公司 | 一种白盒交换机单向链路故障检测方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198617A1 (en) * | 2004-03-04 | 2005-09-08 | Vivcom, Inc. | Graphically browsing schema documents described by XML schema |
CN1818898A (zh) * | 2005-02-08 | 2006-08-16 | 中国电子技术标准化研究所 | 电子文档数据处理编辑器及电子文档数据编辑控制的方法 |
-
2009
- 2009-05-06 CN CN2009101359167A patent/CN101883082A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198617A1 (en) * | 2004-03-04 | 2005-09-08 | Vivcom, Inc. | Graphically browsing schema documents described by XML schema |
CN1818898A (zh) * | 2005-02-08 | 2006-08-16 | 中国电子技术标准化研究所 | 电子文档数据处理编辑器及电子文档数据编辑控制的方法 |
Non-Patent Citations (5)
Title |
---|
M.SCOTT等: "《NETCONF Monitoring Schema》", 25 June 2008 * |
R.ENNS,ED.: "《IETF RFC4741》", 31 December 2006 * |
RUI WANG 等: "The Implementation and Analysis of the Monitoring Module based on NETCONF", 《2008 INTERNATIONAL SYMPOSIUM ON INFORMATION SCIENCE AND ENGIEERING》 * |
熊前兴 等: "《XML与电子商务》", 31 January 2005, 武汉理工大学出版社 * |
风火轮小组: "《XML从入门到精通》", 31 May 2002, 北京市大恒电子出版社 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559251A (zh) * | 2015-09-30 | 2017-04-05 | 中兴通讯股份有限公司 | 一种基于yang模型的编译方法、及对应的接口、组件和系统 |
WO2017054531A1 (zh) * | 2015-09-30 | 2017-04-06 | 中兴通讯股份有限公司 | 一种基于yang模型的编译方法、及对应的接口、组件和系统 |
CN106559251B (zh) * | 2015-09-30 | 2019-03-15 | 中兴通讯股份有限公司 | 一种基于yang模型的编译方法、及对应的接口、组件和系统 |
CN105447645A (zh) * | 2015-11-30 | 2016-03-30 | 南京南瑞继保电气有限公司 | 基于元模型树的电力调度异构业务系统模型通用加载方法 |
CN105447645B (zh) * | 2015-11-30 | 2020-02-07 | 南京南瑞继保电气有限公司 | 基于元模型树的电力调度异构业务系统模型通用加载方法 |
CN109787810A (zh) * | 2018-12-12 | 2019-05-21 | 深圳天元云科技有限公司 | 基于文本解析的网络设备配置统一管理方法、终端及介质 |
CN109787810B (zh) * | 2018-12-12 | 2021-07-09 | 深圳天元云科技有限公司 | 基于文本解析的网络设备配置统一管理方法、终端及介质 |
CN111628975A (zh) * | 2020-05-12 | 2020-09-04 | 中国人民银行清算总中心 | 一种组装xml报文的方法及装置 |
CN115865742A (zh) * | 2022-11-16 | 2023-03-28 | 天翼云科技有限公司 | 一种白盒交换机单向链路故障检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7487191B2 (en) | Method and system for model-based replication of data | |
Janowicz et al. | A restful proxy and data model for linked sensor data | |
US8307012B2 (en) | Schema mapping and data transformation on the basis of a conceptual model | |
US7877682B2 (en) | Modular distributed mobile data applications | |
US9384248B2 (en) | Database query language gateway | |
US8601001B2 (en) | Selectively structuring a table of contents for accessing a database | |
US8112424B2 (en) | Flexible and resilient information collaboration management infrastructure | |
US20040002939A1 (en) | Schemaless dataflow within an XML storage solution | |
US20090077094A1 (en) | Method and system for ontology modeling based on the exchange of annotations | |
DE202014010938U1 (de) | Omega-Namen: Namenserzeugung und -ableitung | |
CN101464879B (zh) | 基于规则的动态目录实现方法及系统 | |
CN101883082A (zh) | 获取网络配置协议服务端建模文件信息的方法、设备和系统 | |
Tsou | An operational metadata framework for searching, indexing, and retrieving distributed geographic information services on the Internet | |
Ju et al. | An embedded Web server architecture for XML-based network management | |
Van de Sompel et al. | Generalizing the OpenURL framework beyond references to scholarly works | |
US20060212461A1 (en) | System for organizing a plurality of data sources into a plurality of taxonomies | |
Werbrouck et al. | Data patterns for the organisation of federated linked building data. | |
de Carvalho Moura et al. | A survey on metadata for describing and retrieving Internet resources | |
Eales et al. | Service discovery using open sound control | |
Arcieri et al. | Distributed territorial data management and exchange for public organizations | |
Apps | A Registry of Collections and their Services: from Metadata to Implementation | |
Cerovsek et al. | An European network of decentralized portals enabling e-business with building regulations–The CONNIE project | |
Ramroop et al. | Use of LDAP to partially implement the OGIS discovery service | |
Masó et al. | Building the World Wide Hypermap (WWH) with a RESTful architecture | |
Canfora et al. | ContentP2P: a peer-to-peer content management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101110 |