模糊查询、查询结果处理和过滤条件处理的方法及设备技术

技术编号:4253368 阅读:457 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种模糊查询、查询结果处理和过滤条件处理的方法及设备,其中基于子树过滤的模糊查询方法包括:接收待过滤数据流;通过不完全匹配的方式过滤所述数据流,处理用户没有给出完全信息的字符串形式的过滤条件。本发明专利技术实施例解决NETCONF协议子树过滤机制仅局限于精确匹配和绝对路径,数据查询中要求给出较多已知信息带来的不便。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种模糊查询、查询结果处理和过 滤条件处理的方法及设备。
技术介绍
NETCONF (网络配置协议)是一种网管协议,使用XML (Extensible Markup Language,可扩展标记语言)描述操作请求和网管数据。XML是一套 语义标记的规则,将文档分成许多部件并用标记对这些部件加以标识。这些 标记通常采用自然语言,因此具有很高的可读性。标记看起来如下 <age>10</age> <name language=English,,><first-name>George</first-name> <last-name>Bush</last-name> </name><hobby></hobby> <hobby/>每一对标记由起始标记(如〈age〉)和结束标i己(如〈/age〉)组成,每一 对标记及其内容称为一个元素(element),在以上例子中就有〈age〉、 <name〉 元素。元素可以拥有值,如〈age〉的值是10;也可以拥有子元素,如〈name〉 拥有子元素〈first-name〉和〈last-name〉;也可以没有值,如〈hobby〉,这种情况 称为空元素,可缩写记为〈hobby/〉;元素还可以拥有属性(attribute),属性是 一个名字-值对,如〈name〉拥有属性language,属性值是English。元素间的层次嵌套关系经常表达为一个树型数据结构,如图1所示,因此 元素也被称作节点。在一对嵌套关系中,外层节点被称作内层节点的父节点; 内层节点被称作外层节点的子节点。如图1中,<a>A<bl>、 <b2>、 < 3>的父节点,<bl>、 <b2>、 43>是<3>的子节点。拥有同一父节点的几个节点相互 称为兄弟节点,如<1)1>、 <b2>、 〈b3〉彼此是兄弟节点。在网络管理中,需要监视网络设备的配置和状态,为达到此目的,网管 设备发出查询报文,描述所需要查询的数据,被管设备收到查询报文后,依 照查询报文中的条件执行查询,并向网管设备应答查询结果。NETCONF协议拥有两种查询操作〈geP和〈get-config〉。 〈geP操作用于 查询当前正在运行的配置和状态数据;〈get-config〉用于查询不同配置数据存 储中的配置数据。尽管两者的查询对象有所区别,但拥有相同的查询条件表 达方式,即子树过滤和XPATH (XML路径语言)方式。现有技术一中,子树过滤使用XML方式描述过滤条件,通过一组简单的 匹配规则,对符合条件的数据元素进行选取。例l是一个子树查询的例子,rpO 元素表明这是一个网管设备发出的请求,〈ge^元素表明网管设备请求执行查 询操作,〈filter〉元素指明了查询方式和查询条件,其属性type—subtree指出 该查询釆用子树过滤方式,〈filter〉包含的子节点表明该查询希望查询命名 空间http:〃example.com/schema/1.2/stats内的〈top〉元素中的〈interfaces〉元素 中的某个〈interface〉元素,并且该〈interface〉元素必须具有ifName属性,ifName 的属性值是ethO。例1: 一个^f吏用子树查询的〈get〉请求<rpc message-id= 101xmlns=urn:ietf:params:xml:ns:netconf:base: 1.0> <get><filter type=subtree,,> <t:top xmlns:t=http:〃example.com/schema/l .2/stats〉 <t:interfaces〉<t:interface t:ifName=eth07> </t:interfaces> </t:top> </filter></get> </rpc>其中,〈filter〉元素被称为过滤器,在子树过滤中,过滤器由零到多个代 表选择标准的元素子树构成。在子树的各层,被管设备对每个兄弟节点集合 进行逻辑判断,以决定各兄弟节点所牵头的子树是否包含在过滤器的输出结 果中。所有在过滤器子树中出现的元素,必须与服务器概念数据模型中的对 应节点相匹配。过滤器可分为5种组件,每种组件执行不同的过滤规则,包括命名空 间选择、属性匹配表达式、包含节点、选择节点、内容匹配节点。命名空间选择如果使用命名空间,则过滤器的输出只包含指定的命名 空间中的元素。即过滤器中xmlns属性的内容应与被管设备数据模型 中 xmlns 属性的内容相同。 在例 1 中 <t:top xmlns:t-http:〃example.com/schema/1.2/stats〉指出了选择的命名空间是 http:〃example.com/schema/1.2/stats ,只有该命名空间中的<top>中的子元素被 输出。属性匹配表达式出现在过滤器中的属性是属性匹配表达式的一部分。 被选择的数据除了要与过滤器中的节点匹配,还必须与过滤器的属性相匹配。 如果一个元素不包含指定的属性,则该元素将不被选择。例1中,ifName-ethO 就是属性匹配表达式。过滤结果将输出拥有ifName属性,并且ifName的属 性值是ethO的〈interface〉元素,如例2所示。例2中,〈rpc國reply〉元素表明 这是一个应答,^ata〉元素表明应答的数据,应答数据的命名空间、各级子元 素和属性都和过滤器中的对应部分相匹配。例2属性匹配的查询结果<rpc-reply message-id= 101xmlns=urn:ietf:pamms:xml:ns:netconf:base: 1.0> <data>〈t:top xmlns:t=http:〃example.com/schema/l .2/stats〉 <t:interfaces><t:interface t:ifName=ethO><t:iflnOctets>45621 </t:iflnOctets> <t:ifOutOctets>774344</t:ifOutOctets> </t:interface> </t:interfaces〉 </t:top> </data> </rpc-reply>包含节点过滤器中包含子元素的节点被称为包含节点。包含节点的子 元素也可以是包含节点,或其他类型的节点。例1中,々op〉是一个包含节点, 其子元素〈interfaces〉也是一个包含节点。选择节点过滤器中的空节点被称为选择节点,表示对数据模型的一个 显式选择。如果在数据模型的兄弟节点中出现了选择节点,则只本文档来自技高网...

【技术保护点】
一种基于子树过滤的模糊查询方法,其特征在于,包括:    接收待过滤数据流;    通过不完全匹配的方式过滤所述数据流,处理用户没有给出完全信息的字符串形式的过滤条件。

【技术特征摘要】
1、一种基于子树过滤的模糊查询方法,其特征在于,包括接收待过滤数据流;通过不完全匹配的方式过滤所述数据流,处理用户没有给出完全信息的字符串形式的过滤条件。2、 如权利要求l所述的方法,其特征在于,所述字符串包括节点名字、节点内容、属性名字、属性值或命名空间;3、 如权利要求1所述的方法,其特征在于,所述不完全匹配的方式包括路径不完整;元素名不完整、元素值不完整、属性名不完整、属性值不完整、命名空间不完整。4、 如权利要求l所述的方法,其特征在于,所述通过不完全匹配的方式过滤所述数据流为通过绝对路径过滤所述数据流;或通过相对路径过滤所述数据流。5、 如权利要求4所述的方法,其特征在于,所述通过绝对路径过滤所述数据流具体为用户给出的过滤器包含被选择节点的从根节点开始的所有祖先,过滤结果中只包含在过滤器中的祖先和在数据模型中的祖先完全一致的节点及节点后代。6、 如权利要求4所述的方法,其特征在于,所述通过相对路径过滤所述数据流具体为在过滤器中满足父子关系的节点在过滤结果中至少满足祖先后代关系;在过滤器中为根节点的节点在过滤结果中至少包括非根节点。7、 如权利要求4所述的方法,其特征在于,当出现节点的命名空间不匹配时,继续处理所述节点的子节点,保留命名空间不匹配的元素作为其后代节点的路径。8、 一种子树过滤条件的逻辑组合的扩展方法,其特征在于,包括接收4寺过滤数据流;采用多个属性或多个内容匹配节点对所述数据流中的元素类型节点进行过滤。9、 如权利要求8所述的方法,其特征在于,所述多个内容匹配节点对所述数据流中的元素类型节点进行过滤,具体为使用内容匹配节点作为从数据模型中选择特定的父节点的过滤条件;通过在所述内容匹配节点中添加第一属性表示所述节点的匹配程度,匹配程度包括必须匹配、可选匹配和不匹配;根据所述内容匹配节点和所述匹配程度对所述数据流中的节点进行过滤。10、 如权利要求9所述的方法,其特征在于,根据所述内容匹配节点和所述匹配程度对所述数据流中的节点进行过滤,具体为过滤器中所有匹配程度是必须匹配的内容匹配节点都与数据模型中相应的节点完全匹配时,其父节点才可以被添加到过滤结果中;过滤器中可选匹配程度是可选匹配的内容匹配节点中至少有一个节点与数据模型中相应的节点完全匹配时,其父节点才可以被添加到过滤结果中;过滤器中匹配程度不匹配的内容匹配节点与数据模型中相应的节点完全匹配时,其父节点不被添加到过滤结果中。11、 如权利要求9所述的方法,其特征在于,还包括向节点中添加第二属性,以实现所述节点的多个属性间的逻辑关系。12、 如权利要求9所述的方法,其特征在于,还包括进行命名空间查询获取数据模型中命名空间的定义情况,并给出命名空间的列表,其中,命名空间查询的关键字用 一个元素表示。13、 如权利要求9所述的方法,其特征在于,过滤条件中还包括范围条件所述范围条件用于选择具有某些特定数值或者日期范围的节点,在...

【专利技术属性】
技术研发人员:张彬金丰鑫李国辉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1