[发明专利]XML的简明索引结构无效
申请号: | 200680046147.8 | 申请日: | 2006-12-05 |
公开(公告)号: | CN101326522A | 公开(公告)日: | 2008-12-17 |
发明(设计)人: | 弗兰基·兰姆;雷蒙德·K·翁 | 申请(专利权)人: | 澳大利亚国家ICT有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 陆弋;王诚华 |
地址: | 澳大利亚*** | 国省代码: | 澳大利亚;AU |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | xml 简明 索引 结构 | ||
相关申请的交叉引用
本申请要求已于2005年12月6日提出的澳大利亚临时专利申请No.2005906846的优先权,上述申请的公开内容被整体合并于此作为引用参考。
技术领域
简明数据和索引结构旨在将存储容量的约束设置为接近理论最优值的同时使得对任意数据进行更新和搜索操作的效率最大化。更具体地说,本发明涉及简明索引结构(succinct index structure)、使用简明索引结构的方法、构造简明索引结构的方法、用于执行构造简明索引结构的方法的计算机应用程序、以及用于构造和使用简明索引的计算机系统。
背景技术
扩展标记语言(XML)数据与传统关系数据的主要区别在于,关系数据使用二维表进行组织而XML数据以具有层次结构的树进行组织。
例如,下面给出短片断的XML:
<a>
<b><c>d</c></b>
<b><c>e</c></b>
<b><c>f</c></b>
</a>
这可由如图1所示的层次树来表示。
虽然存在若干用于有效处理XML查询的树-遍历方法,不过基于集合的查询处理(传统的关系数据库)也是令人满意的。例如,当处理大型XML文档的查询时,使用基于遍历的方法来执行查询处理可能是困难的且运行时间很长。
在关系数据库管理系统中,通过在基于集合处理中生成和利用数据库索引能够提高查询性能,其中该数据库索引返回中间结果。然而,对不依赖关系数据库而存在的XML数据进行基于集合的查询处理存在一些缺点。造成这些缺点的原因是,在查询任何节点时,都需要查询任意两个XML节点之间的拓扑关系。
XML查询可以由多个路径表达式组成。路径表达式可以包含其结果节点必须满足的拓扑关系。例如,路径表达式/a[b]/c搜索以c作为其节点标签且具有带标签a的父节点和带标签b的同属节点的所有节点。为了有效应答任何种类的先辈/后辈查询,需要结构连接操作。结构连接操为下列技术的名称:给定可能的先辈节点列表和可能的后辈节点列表,则可确定列表的节点之间的先辈-后辈关系。
索引经常可供查找满足特定标签的节点的集合。生成和维护包括确定拓扑关系所需的编码方案的索引可能很昂贵。最普通的编码方案使用起始-结束-深度三元组(start-end-depth triplet)、前序-后序-深度三元组(preorder-postorder-depth triplet)或Dewey编码。给定具有n个节点的XML文档,则至少需要logn位来表示三元组内的每个数。如果索引返回与文档大小成比例的节点集合,那么需要至少O(nlogn)位来恰当表示这样的集合。已知的是,仅需要2n+o(n)个位以简明地表示整个拓扑。因此,这样的索引(依赖这些最普通的编码方案)基本上占用比原来的文档本身更多的空间,从而极大地限制了索引的有用性。
发明内容
在第一方面,本发明提供一种为以层次结构表示的数据编索引的简明索引结构,所述索引结构包括一符号表,该符号表以所有不同根-叶路径作为键标或以特异元素标记名作为键标,其中在所述符号表中,针对一键标的条目具有与该键标相关联的节点的经转换的拓扑信息及对所述拓扑信息采用的转换方法的指示,并且所采用的转换方法取决于与该键标相关联的节点之间的拓扑关系。
所述拓扑信息可以包括针对每个节点的三元组编码方案。所述三元组编码方案可以为起始-结束-深度三元组编码方案或为前序-后序-深度三元组编码方案。所述三元组可以采用树遍历次序的形式。
所述层次结构可以为可扩展标记语言(XML)。
所述转换方法可以包括对所述拓扑信息进行差分编码,例如,对所述列表中的每个三元组中的每个值进行差分编码。所述三元组的第一差分编码值可以为连续三元组的起始位置的差。若给定每个节点的起始位置和结束位置之间的差,则所述三元组的第二差分编码值可以为连续三元组的这些值之间的差。第三差分编码值可以为连续三元组的深度的差。
所述转换方法的信息可以包括一替换值,该替换值用来替换与所述键标相关联的每个节点的三元组的第一值、第二值和第三值中的每一值。
所述转换方法的信息可以包括直方图的形状的指示,其中所述直方图绘出了所有节点的三元组的第一值、第二值和第三值中的每一值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于澳大利亚国家ICT有限公司,未经澳大利亚国家ICT有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680046147.8/2.html,转载请声明来源钻瓜专利网。