[发明专利]一种基于索引的XPath查询模式树匹配方法有效
申请号: | 201310125977.1 | 申请日: | 2013-04-12 |
公开(公告)号: | CN103177120A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 陈琳;符文君;陈海涛;程燕;王奎 | 申请(专利权)人: | 同方知网(北京)技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 刘黎明 |
地址: | 100084 北京市海淀区清华园清华*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 索引 xpath 查询 模式 匹配 方法 | ||
技术领域
本发明涉及数据库查询领域,尤其涉及一种在XML数据库中基于索引的XPath查询模式树匹配方法。
背景技术
随着信息技术的迅猛发展,XML已经逐渐成为数据表达和数据交换的标准和载体,在电子商务,网络服务和数字图书馆等诸多重要领域都得到了大规模的应用。对日益增长的海量XML数据进行高性能查询处理也成为了一个重要的问题。
XPath是一种对XML文件中的节点进行定位的查询语言,它之于XML数据库的关系就相当于SQL之于关系数据库。XPath的核心语法表示形式是路径表达式,一个路径表达式是从XML文件中的一个节点到另一个节点或一个节点集合的一组步骤,这些步骤以“/”字符分隔,每个步骤包括三个构成组件:轴(axis),它用于以最直接的方式,依靠节点间的结构关系(例如祖先,后代),从上下文节点定位到下一节点集合;节点测试(nodetest),它依据节点名称,节点类型或处理指令类型,对轴定位的节点集进行筛选;一个或多个谓词(predicate)的语法形式为:[表达式],用于对节点测试筛选后的节点集进一步过滤,根据表达式筛除掉一些不符合表达式要求的节点。
一个XPath查询语句通常可建模为一棵树状结构的查询模式树。XML数据库查询的核心操作就是根据查询模式树所表示的结构和内容特征,在XML数据空间中进行搜索,提取与之相匹配的数据。
目前查询模式树匹配的主流方案可分为以下三类:
第一类方法基于导航的思想,通过在XML文档中导航来匹配查询模式,缺点是处理大文档时效率很低,并且只适用于线性模式查询,不适用于带分支的树模式查询。
第二类方法基于整体匹配的思想,将XML数据的文档树和查询模式树映射成特定的序列,然后基于序列进行匹配,通常做法是映射到字符串序列,这种方法虽然简洁,但也有其缺陷,对字符串的大量连接和匹配操作,使得性能开销加大,对数据的大量扫描也增加了I/O的负担。
第三类方法基于先分解再连接的思想,将查询模式分解成若干个片段,分别求出每个片段的查询结果然后进行合并,这类方法的缺陷在于分解粒度过细,导致连接和中间结果的数目太多。
此外,现有方案的主要关注点是结构和内容的模式匹配。而在实际应用中,用户不仅关注XML文档的结构和内容信息,也关注XML文档节点的位置信息,例如,用户可能想查询文档集合中所有论文的名为“张三”的第一作者,对应的XPath语句为//paper/author[1][.=’张三’]。对于此类位置查询,或位置与内容相结合的查询,现有的模式匹配方法做的尝试较少,解决方法也不够高效。
发明内容
为解决上述中存在的问题与缺陷,本发明提供了一种基于索引的XPath查询模式树匹配方法。所述技术方案如下:
一种基于索引的XPath查询模式树匹配方法,包括:
对XML数据库中的文档集合建立索引;
解析XPath查询语句,并构建查询语句对应的查询模式树;
将查询模式树拆分成若干个子查询,并通过索引获取子查询结果;
恢复子查询获取的结果节点流数据,并对节点流数据进行模式树匹配。
本发明提供的技术方案的有益效果是:
1、有效支持多类型查询的索引方法,尤其是支持位置查询的索引方法。该方法在索引方面提供了位置索引和值索引,在一定范围内解决了位置查询及位置和内容相结合的查询问题;在索引数据内容组织方面,以XML文档的结构信息作为索引的数据项,有利于结构模式匹配和数据恢复,以B树为数据组织形式,为高效处理海量数据的查询提供了可靠支持。
2、以路径为粒度进行子查询分解,减少了中间结果的数目。
3、基于索引查询得到的路径末端节点数据流,文档树的叶子节点向文档树的根节点方向恢复,其索引查询只需返回路径的末端模式节点对应的数据节点,优化了模式树匹配处理的数据集规模,减少了I/O开销,提高了查询性能。
附图说明
图1是基于索引的XPath查询模式树匹配方法流程图;
图2是恢复节点流数据及对节点流数据进行模式树匹配的流程图;
图3是基于索引的XPath查询模式树查询示例图;
图4是索引数据组织示例图;
图5是数据结构示例图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同方知网(北京)技术有限公司,未经同方知网(北京)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310125977.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种泡茶专用桶
- 下一篇:基于鉴别流形的跨数据域的转移学习分类方法