[发明专利]XML关键字检索的最低公共祖先快速查找方法无效
申请号: | 200810200674.0 | 申请日: | 2008-09-27 |
公开(公告)号: | CN101364234A | 公开(公告)日: | 2009-02-11 |
发明(设计)人: | 周傲英;谢涛;王晓玲 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海东亚专利商标代理有限公司 | 代理人: | 罗习群 |
地址: | 200433*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | xml 关键字 检索 最低 公共 祖先 快速 查找 方法 | ||
技术领域
本发明属数据库技术领域,具体涉及一种高效的对XML数据进行关键字检索的方法。
背景技术
随着XML的流行,XML上的关键字检索也正在成为一个研究热点。XML上的关键字检索不需要用户对所查询XML的DTD或schema模式、复杂的XML查询语言(比如XQuery)等相关知识有所了解,因此更容易被用户接受。通常在Web上的关键字检索,比如google或者百度,他们的返回结果是包含用户提供的关键字的整个网页。但如果对大XML文档上的关键字检索,由于XML文档通常被建模成树形结构,有着层次性的嵌套关系,用户通常希望能得到最小结果片断,此时返回结果应是包含这些关键字的结点集,而且结点集中的任一结点的子孙结点都不能再包含所查询的关键字。
以往的XML关键字检索在求解任意两个结点的最低公共祖先结点(LCA)的时候,都是基于Dewey编码,所谓Dewey编码是指每个结点的编码以父亲结点的编码为前缀,这样两个结点的LCA结点就是他们最长公共前缀所指示的结点。使用这种编码好处在于给定任意两个结点,只需比较他们的编码就可以求解出LCA,但同时应看到编码随着结点的深度在增加,一方面在求解最长公共前缀时将会比较耗时,另一方面存储这样的编码对空间的耗费也是很巨大的。
发明内容
本发明的目的在于提出了在XML关键字检索中应用基于RMQ(RangeMinimum Query)的LCA求解算法,该方法在假设XML元素的个数为n的情况下,通过0(nlogn)的预处理可以达到0(1)的LCA求解时间效率,从而消去XML上关键字检索时借助Dewey编码求解共同祖先的时间系数d,同时由于仅存储结点的欧拉序列而不是Dewey编码,可以有效减少存储空间的开销。
该方法首先进行预处理,预处理的具体步骤是:
步骤1,在解析XML文档的过程中,构建欧拉序列E和深度序列L,记录XML文档中每个结点的开始位置,结束位置和深度信息,对XML文档进行序列化,并在处理文本信息的时候,建立倒排表记录每个单词;
步骤2,将深度序列L按长度logn/2划分成2n/logn个块,在每个块上选取最小值组成一个长度为2n/logn的新序列,利用新序列建立SparseTable;
步骤3,枚举每个等价块,计算并存储块内任意序号间最小值的位置。
在预处理方法中,是在计算两个结点的LCA结点时,先判断两个结点是否在同一个块中,如果在同一个块中,直接取出相应等价块中两个结点的间最小值的位置,如果不是,则分别求解在新序列上的最小值和块内的最小值;无论哪种情况,时间复杂度都为0(1)。相比于现有的算法,本发明不仅避免了求LCA结点时逐层比较两个结点的Dewey编码,消去了时间系数d,而且仅存储结点的欧拉序列而不是Dewey编码,可以有效减少存储空间的开销。
采用预处理后的文档结构,对XML进行关键字进行检索,给定k个关键字结点集S1,S2,…,Sk,检索的方法如下:
步骤1,求出结点集最小的关键字集合,假设为S1,作为SLCA结点的候选结点集;步骤2,对候选结点集进行k-1次迭代,每次迭代对候选结点集和另一个关键字结点集进行SLCA结点的计算,并将结果集作为下一次迭代的候选集;
步骤3,在经过k-1次迭代后,得到k个集合的SLCA结点集,其中SLCA结点计算得出候选slca结点,然后删除所有非SLCA结点。
本发明的优点在于,这种检索方法通过有效的预处理,可以消去XML上关键字检索时借助Dewey编码求解共同祖先的时间系数d,同时由于仅存储结点的欧拉序列而不是Dewey编码,可以有效减少存储空间的开销,所以在性能和空间利用上要优于现有算法。
附图说明
图1为LCA算法流程图。
图2为SLCA算法流程图。
图3为XML文档树图。
具体实施方式
1.与本发明有关的一些概念和定义。
1,XML文档:
在本发明中,一个XML文档D被建模成有序的带标记树T(N,E)。其中树结点集N包含文档中的所有元素、属性或者值。而边集E表示元素之间的包含关系。为简便起见,我们忽略了结点间可能的引用边。
2,LCA结点集:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810200674.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于栓剂灌封机的垂直多头灌注机构
- 下一篇:一种井径传感器的检测装置