论文部分内容阅读
具有优良特性的XML逐渐成为了网络信息交换的载体,越来越多的数据采用XML格式存储和交换,而传统的查询技术不再适应新的应用,XML索引及查询方法的研究就显得更加迫切。论文对与索引查询技术相关的编码、查询、索引等技术进行了深入研究和分析,指出了现有编码、索引技术的优缺点,同时给出了优秀索引、编码模式的标准。由于现有的索引多数都是通过路径表达式来表达和实现XML的结构查询,而这种方法最核心的技术之一就是:利用索引编码方法有效地判断XML文档中的元素或属性间的祖先/后代关系、父子关系、左右兄弟等位置关系,只有有效判断出任意节点间的结构关系,才能避免对整棵文档树的遍历,从而提高结构连接效率。本文提出了两种新的编码模式,其中一种是通过引入了虚拟节点建立的区间编码模式,该模式首先给树的叶子节点处添加编好序号的虚拟逻辑叶子节点,然后利用这些编号给该虚拟叶子节点的祖先节点赋予区间编码。分析证明这种编码模式可通过节点间的区间包含关系有效地判断出祖先/后裔关系、父子关系,并提高了编码更新效率。为了能够提供更多有效判断节点间的位置关系的结构信息,我们又提出了PSB--基于素数和序列串的编码模式,它充分利用素数的整除特性和序列串匹配技术,只需要对文档树进行一次前序遍历就可以完成所有编码并且可以在常数复杂度的时间内实现节点之间祖先/后裔、父子、层次、兄弟关系的判断;该编码较好地支持文档的各种更新。采用标准的Sharks数据对编码更新有效性进行性能评估,与以Dietz编码机制为代表的区间编码机制编码更新率进行了对比。当XML文档树中插入或者删除节点时,PSB编码机制需要重新编码的节点数目相对较小。因此,PSB编码是支持更新的动态编码。编码模式反映了元素在树结构中的位置关系,而路径索引描述了源数据的路径结构信息。我们传统的XML路径表达式查询处理方法中:一种实现方法是建立XML文档的路径索引,通过路径索引来加速XML路径表达式查询的计算;另一种方法是对XML文档树中的节??行编码,将XML路径表达式的计算转化为结构连接的计算。本文提出将路径索引与编码模式相结合的索引查询方法,具体方法原理就是利用已有文档模式信息或者从现有文档中抽取DTD模式信息的方法,然后对获取的模式信息再利用简化DTD的规则进行简化,获取较小的模式结构充当文档的路径索引。之后,我们利用新提出的虚拟节点建立的区间编码模式对简化模式和XML文档树进行编码。在对XML文档索引结构进行查询时,首先在此简化DTD模式上进行查询路径表达式合法性验证,对合法的查询才继续到XML索引中进行查询,否则及时给出查询非法的提示并终止查询。由于这种索引查询方案既能够将非法查询控制在规模较小的简化DTD查询阶段,又把路径索引与编码模式相结合,能够取得较高的效率。通过实验与SpinX索引进行查询效率比较,虽然我们的索引在建立简化DTD、编码、索引时花费的代价略高,但在索引规模的不断增大非法查询表达式随之增加的情况下具有较高的查询效率。