论文部分内容阅读
近年来,XML数据流的查询处理引起了国内外学者的广泛兴趣。如何在XML数据流中有效地查询大量XPath表达式是当今研究的一个热点问题。目前,已经提出很多种在XML文档上进行XPath查询的方法,其中大部分是采用基于自动机的查询方法,它又可分为基于不确定有穷自动机(NonDeterministic Finite Automata)和基于确定有穷自动机(Deterministic Finite Automata)两种。除此之外,还有基于索引的以及基于谓词的查询方法。对于NFA中的一个状态,同一个输入下可能发生很多个状态转移,为了查找下一个指定的状态需要花费很长的时间。然而对于DFA中的一个状态而言,同一个输入下发生了确定的状态转移,但是随着XPath查询表达式数目的增加,自动机的状态数会迅速增加,这样需要占用很多的存储空间。本文对XML数据流查询处理中所存在的问题进行了比较详尽的研究,针对目前存在的XML文档处理方法的不足,构建了一种索引结构,在索引结构的基础上又提出了一种查询算法。本文的主要工作如下:(1)构建了一种新颖的索引机制---XML文档的索引结构。首先从给定的XML文档中提取出文档结构,然后根据文档结构建立一个个索引节点,组成文档的索引结构。(2)利用所构造的文档的索引结构,对给定的一系列XPath查询表达式进行预处理。将与索引节点匹配的查询表达式标注于对应索引节点的谓词列表框内。(3)提出了一种解决线性路径查询的算法LXPF。(4)通过实验将本文提出的算法跟以往所提出的算法进行比较,结果表明其有效性。