论文部分内容阅读
XML已经成为网络上数据表示和交换的通用标准。随着XML的应用越来越广泛,对XML查询效率的要求也越来越高。模式树匹配是XML查询的核心操作,在高效处理模式树匹配的各种方法中,结构化连接算法最为流行。[BKS02]中提出的结构化连接算法TwigStack可以对模式树进行整枝连接,避免了二元连接中无用的中间结果。由于TwigStack算法的高效稳定易兼容等特点,很多研究工作在它的基础上进行了优化。TwigStack算法的I/O和cpu开销与输入XML元素的数量密切相关,所以提高算法效率的一个可行方法是在算法开始之前筛掉尽量多的无用结点。一些工作使用了结构索引1-index来避免读入不满足路径条件的XML元素。这种方法可以大大提高模式树匹配的效率,但是它不够灵活,一种固定划分规则的结构索引并不能适合各种不同的XML文档和不同的查询。
本文中提出了一种新的结构索引 JoinGuide,它没有采用其它索引的结构摘要的形式,而是一个以路径表达式为结点的树。索引结点之间的边代表着路径表达式之间的包含关系。根据路径表达式的不同选择,JoinGuide索引的粒度在标签划分和F&B-index索引之间。它具有很好的灵活性,可以为XML中每种标签单独的选择划分的粒度,并且在划分时充分考虑了XML文档的静态特征和动态特征,以取得总性能的最优。
本文中还针对传统的模式树元组匹配结果中XML元素重复的问题进行了改进,提出了一种消除冗余的紧凑模式树结果表示方式LinkedResultTree,它对每个出现在结果中的XML元素只保存一次,并对每个二元结构关系只用一个值记录与该结点满足结构关系的元素集的位置,大大减少了保存结果所需要的空间。I司时本文还基于JoinGuide索引和LinkedResultTree提出了新的模式树匹配算法TwigStackCompact,它避免了TwigStack算法中最后耗时的归并连接步骤,提高了算法的速度。最后文章还针对扩展的模式树模型APT提出了对应的匹配算法TwigStackCompactAPT,避免了复杂的后处理工作,提高了匹配的效率。