论文部分内容阅读
随着信息技术的快速发展,XML数据的应用越来越广泛。XML应用于Web开发的许多方面,常用于简化数据的存储和共享。为了推动XML数据查询和处理的标准化,国际万维网组织W3C发展了XQuery语言用于描述XML数据的查询。XQuery语言采用XPath表达式定位数据,它对于XML的作用类似于SQL对于关系数据库的作用。由于XML数据具有的半结构化特征,XML数据查询的开销较大,因而对于XML数据查询优化技术的研究,特别是针对XML数据查询的核心操作Twig查询的优化技术引起众多学者的关注。Twig查询,又称为树模式查询。由于用户提出的XQuery查询请求中往往包含冗余的查询,根据子查询之间的包含关系有可能简化树模式的查询请求,从而减轻树模式查询的计算量,提高XML数据的查询速度。鉴于相当多的XML数据都采用XMLSchema来描述数据模式,不少树型查询模式都可以根据特定的数据模式信息进行化简。本文分析了现有的树模式查询优化方法和存在的不足,对于含有逻辑节点AND、OR的树模式的优化方法进行了重点研究,提出了利用从XML Schema中提取出的结构约束关系RPC(Required Parent-Child)和RAD(Required Ancestor-Descendant),对于从XQuery查询请求中提取出的含有逻辑节点AND、OR的树模式进行优化,删除树模式中不必要的分支。由于含有逻辑节点AND、OR的树模式查询较好地满足了XQuery语言所描述的数据查询请求,本文提出的查询优化技术更好地支持了XQuery语言的高性能实现。本文内容包括了从XMLSchema中提取RPC和RAD的结构约束信息的算法,以及利用这些结构约束信息分别针对树模式中的查询节点,逻辑节点AND和OR进行优化的算法的设计和实现。这些上述算法的实现和测试说明了这种查询优化方法的有效性和实用性。