论文部分内容阅读
随着数据库和网络技术的迅速发展,XML已经成为网络上信息表达和数据交换事实上的标准。随着XML数据的不断增长,尤其是大规模XML数据的出现,对这些XML数据的有效管理和查询成为学术界和工业界的研究热点。由于XML文档具有的半结构的特性,使得传统的对关系数据库的查询算法对其不适用,因此如何高效地查询XML数据成为新的研究课题。本文对整体小枝模式查询展开研究,在XML数据库中,小枝模式查询是XML查询处理的核心操作,Twig查询处理的效率高低在很大程度上决定了整个XML查询的处理效率。近几年来,研究者提出了许多处理XML小枝模式查询的算法,最新的研究成果是整体小枝(holistic twig)模式查询方法,它把可以用树结构表示的twig作为一个整体来处理,整体twig查询可以避免结构连接产生大量的中间结果而具有很大的优越性。现在提出的算法在处理只有祖先后代关系的Twig查询时效率很高,但是对于带有父子关系的查询,这些算法的查询效率并不高,特别是产生了很多无用的中间结果。本文在总结和分析了现有的整体Twig查询算法后,发现现有编码在支持XML整体小枝模式查询方面信息不足。在XML编码中引入XML模式信息,提出一种新的XML编码方法,XML扩展区间编码方案,通过XML文档中某元素的扩展区间编码可以得到该元素所有孩子元素的标签名称集合。基于这种编码方法本文提出了整体twig查询算法-TwigStackBE算法,该算法能处理带A-D关系和P-C关系的Twig查询,并且是CPU和I/O最优的。然后本文利用扩展区间编码之上的索引结构,减少了算法扫描数据元素列表元素个数,对TwigStackBE算法进行了改进。通过把TwigStackBE算法与经典整体twig查询算法TwigStack,TJFast算法进行实验对比,可以看出TwigStackBE算法具体更优越的性能。