论文部分内容阅读
随着互联网新技术的发展,网络服务和信息交换等应用大规模出现。由于网络数据的异种性和异构性,就急需一套统一的数据表式和数据交换的标准。可扩展标记语言(XML)及时解决了这个问题。XML是由万维网协会(W3C)制定的用来描述数据信息的一种标准语言。它具有良好的平台无关性和自描述能力,于是XML逐渐成为网络中表示数据和交换数据的基本格式。随着XML数据在网络上激增,XML数据库的数量及体积快速膨胀,如何高效地管理和查询这些XML数据已成为一个值得研究的重要课题。正如在关系数据库领域,利用缓存的实体化视图可以极大提高查询处理效率,因此对XML实体化视图技术的研究具有重要意义。目前,关于这方面的研究方兴未艾,如何选择合适的XML实体化视图进行缓存,如何利用缓存的视图结果处理XML查询以及如何增量维护XML视图等等都是十分值得研究的问题。本文的主要研究内容为XML实体化视图的选择方法、基于视图的XML查询处理方法和视图的增量维护方法。全文以树型XML为数据模型,路径表达式为视图定义语言。我们主要给出了基于频繁查询模式的视图选择算法、缓存装入算法、查询可回答性定义、基于视图的查询处理算法以及针对多种更新的视图维护算法。理论分析和实验结果表明本文研究的方法的可用性和有效性。第一,我们提出一套选择实体化视图进行缓存的基本方法,包括频繁查询子模式的枚举算法、查询模式频度的计算方法和选择实体化视图装入缓存的算法。第二,我们提出一套基于实体化视图的XML查询处理方法。以查询可回答性概念为基础,我们给出了利用单个视图处理XML查询的算法,并且扩展为利用多个视图的组合处理XML查询的算法,包括XPath及XQuery查询。还建立查询处理的代价模型,并比较分析了基于视图的查询处理代价和直接访问源数据库的查询处理代价。第三,针对XQuery新标准中的插入、删除、替换和重命名四种复杂的更新操作,我们提出一套对缓存中实体化视图的增量维护策略。通过在实体化视图上建立了索引结构PIndex和VIndex,极大地缩小了视图搜索范围。而且给出实体化视图的增量维护算法先后处理间接更新和直接更新。