论文部分内容阅读
随着Internet的迅速发展,网站和静态HTML页面也急剧膨胀。随着Web应用的日益广泛,它的局限性越来越明显,已经不再适应下一代更复杂的Web应用。因此,在未来的Web发展中,如何提高信息检索的准确性和效率成为关键问题。可扩展标记语言XML的出现改变了Web的基本面貌。XML将成为Web信息发布和交换的事实上的标准。对XML的深入研究将有力促进企业的信息化和电子商务的发展,具有巨大的应用前景和经济效益。在这种情形下,XML数据库蓬勃发展起来。对XML文档存储、索引、查询的研究逐渐成为研究热点,广大的研究者围绕着这些问题进行了大量的研究。其中对XML文档查询研究的核心问题是对XML结点集合结构连接算法的研究。 XML结构连接算法首先是在XML结点编码的基础上提出的。广大的研究者已经提出了各种结点编码方式及其对应的结构连接算法。著名的如区间编码以及对应的Anc_Desc_B+算法和PBiTree编码以及对应的算法。但Anc_Desc_B+算法不能处理无序无索引结点集的结构连接,而VPJ算法不能处理有序有索引结点集的结构连接,并且不存在基于区间编码的算法能有效处理无序无索引结点集的结构连接,也不存在基于PBiTree编码的算法能有效处理有序有索引结点集的结构连接。 本文提出一种新型的结点编码结构EXN-Tree编码。本文首先提出了EXN-Tree的概念,将XML文档树的结点映射到EXN-Tree,依据EXN-Tree的结点编码生成XML文档树结点数据结构。该结点数据结构隐含文档树的结构信息,任意两结点间依据结点的数据结构信息就可以快速确定两者之间的关系。与以往编码结构相比,该编码结构能最快的确定XML文档树种任意两个结点对之间的结构关系。 在EXN-Tree结点编码的基础上,本文提出了适应于有序有索引结点集Stack_EXN_Desc算法以及适用于无序无索引结点集的EVPJ算法。并且StackEXN_Desc算法只需要扫描一遍后裔结点结合即可,不需要扫描祖先结点集,与以往算法相比,对磁盘扫描次数大幅度减少,具有更优的磁盘I/O复杂度。EVPJ算法由已有的VPJ算法修改得来,与原算法相比,它有更好得CPU性能。