论文部分内容阅读
XML作为Web发展所带来的新技术中的代表,逐渐成为了学术界和工业界所关注的焦点。XML是一种自描述、可扩展的标记语言,广泛地用于Web环境下数据的表示和共享。要搭建各种基于XML的应用,必须提供处理XML数据的核心技术来高效地生成、查询、过滤、变换XML数据。由于XML数据具有不同于传统数据形式的特点,使得传统的数据库技术不能有效地发挥作用,因此需要针对其特点研究新的处理方法。由于XML文档有类似树状的结构,所以和文件路径类似的路径查询表达式是XML数据查询和过滤的基础,同时XML查询也指定了那些在某些特定的树结构关系上的选择谓词的样式。原始的XML树结构关系是父-子关系或者是祖先-后代关系,在XML文档中发现这些匹配关系是XML查询处理的核心操作,在XML文档中找到所有查询模式树的匹配是XML查询代价估计中的核心问题,在本文中重点讨论了模式树匹配的查询优化问题。本文详细探讨了一种典型的结构化连接算法-Twig Join算法,并针对其存在的不足提出了一种基于Ctree索引的模式树匹配算法-PatternMatch算法。通过具体分析可以看出,与Twig Join算法相比,PatternMatch算法能够在XML文档中直接找到一个查询模式树的匹配结果,不会产生无用的中间结果集,而且所有的中间结果集在堆栈中保存起来,通过连接运算能够很方便地形成最后的查询匹配结果,提高了查询匹配的成功概率。本文首先介绍了模式树匹配算法的研究背景和研究现状,回顾了结构化连接算法的研究成果,接着对XML查询语言和XML索引进行了详细的说明。然后引入了模式树的概念,并结合具体算法Twig Join探讨了目前结构化连接算法的缺点,这类算法容易大量无用的中间结果或者对一些子模式树进行重复匹配,下面给出了改进算法PatternMatch,并通过具体的性能分析阐述了算法的优点。最后对论文的研究工作和成果进行一个总结,指出了其中的不足,并对今后进一步的工作进行展望。