论文部分内容阅读
XML (eXtensible Markup Language)以其自描述性,跨平台交换性等特点,已经成为了网络上数据存储和数据交换的标准。互联网上越来越多的结构化或半结构化的数据采用XML格式存储和交换,对XML数据的查询处理及其文档过滤的研究显得日益重要。本文对XML数据管理领域中的查询处理及其优化问题和XML文档过滤问题进行了深入的研究。Twig模式匹配是查洵处理问题中的核心问题,目前该问题吸引了大量学者对其进行研究,本文提出一种索引方法来提高twig模式匹配效率。目前对模式匹配问题的研究都集中在只包含后代轴和孩子轴的查询模式,对包含父亲轴和祖先轴的模式研究几乎是空白。同样在信息选择分发系统中,对大量订阅请求的管理和文档过滤算法足其核心研究内容。已有的对大量XPath表达式索引的方法只能处理只包含祖先轴和后代轴的XPath表达式,因此文档过滤算法只能通过只包含正向轴的XPath表达式来对文档进行过滤和分发。本文对查询处理优化技术和XML文档过滤技术进行了详细的分析和深入研究,提出解决以上新问题的解决方法,本文贡献点可概括如下:(1)对于查询处理中的twig查询,本文提出了一种新的索引结构C-Tree,该索引结构将XML文档中元素间的上下文索引起来,解决了传统标签流算法对于将XML文档分解为标签流过程中削弱大量上下文信息的问题。根据这个索引结构,本文提出了一套整体twig连接算法,来处理在不同类型文档上的twig模式匹配问题。通过借助C-Tree索引中的上下文信息,算法可以在标签流上跳跃大量不参与最终结果的节点,所以大大提高了twig查询处理的效率。(2)目前的XML查询处理研究工作中,没有对包含父亲轴和祖先轴的模式的匹配算法的研究。为了提高XML数据库系统中提供给用户的查询表达式的表达能力,本文提出了一种新的查询模式xtwig模式。并且分析了xtwig模式的查询语义性质,提出了一系列消除查询语义冗余的化简方法。通过分析xtwig模式匹配结果的特点,本文提出了一种新的数据结构XHyperCube来处理反向轴谓词间的关系,并提出了xtwig模式匹配算法XtwigStack。该算法是整体算法,即不需要将xtwig模式分解,而是在查询处理过程中,将xtwig模式当作一个整体对待。通过实验验证,算法XtwigStack是一个有效并且高效的算法。(3)对于XML文档选择分发系统中的文档过滤算法,本文首先提了一种新的XPath表达式管理机制,称之为Nlndex。Nlndex具有很多优良的性质。首先NIndex支持包含父亲轴和祖先轴的查询模式,即在XML文档选择分发系统中,允许用户使用父亲轴和祖先轴来描述其订阅查询请求。其次,在Nlndex中,大量的订阅查询请求的公共子模式是被共享存储的,这样提高了XPath表达式的存储效率,而其使得在XML文档过滤的过程中,避免对查询公共子模式的多次访问和多次过滤处理。基于NIndex,本文提出一种新的XML文档过滤算法,将满足用户的订阅查询请求的XML文档分发给相应的用户。并且该算法是基于XML文档的SAX事件流的,基于流的访问方式是一种对XML文档天然并且高效的访问方式。实验证明,基于NIndex的XML文档过滤算法是一种准确并高效的过滤算法。