论文部分内容阅读
随着Internet技术的发展,XML作为信息表示和数据交换的标准受到越来越多的关注,如何有效地存储和查询XML数据已经成为当前研究的热点。Twig模式查询是XML查询处理的核心操作,研究它对于提高查询效率有着很重要的意义,而对XML文档进行有效查询的关键在于能否迅速确定XML文档中任意结点间的结构关系。XML编码方案就是为文档内每个结点分配一个唯一的编号,然后在进行Twig模式匹配时仅通过比较结点编号就可以快速有效地确定结点间的结构关系,因此,近年来研究者们提出了许多支持XML Twig模式查询的编码方案,但是现有的编码方案不能有效地处理当文档中出现父子结点间插入时需要重新编码的问题,并且在存储结点编码时采取的都是绝对存储的形式,这势必造成了大量空间的浪费,而且现有的XML Twig模式查询算法对静态XML文档的查询有较好的性能,不能很好的应用于动态XML文档,所以,如何为文档设计高效的支持动态XML Twig查询的编码方案自然成为亟待解决的问题。针对上述问题,本文深入分析了当前主流的XML数据编码方案DDE以及Twig模式查询算法TwigStack,并且围绕动态XML文档编码设计以及适用于动态XML文档的Twig模式查询算法两方面展开研究,首先,提出了一种新的动态XML编码方案IDDE编码,有效地避免了当文档中出现父子结点间插入时需要重新编码的情况,大大降低了文档的更新代价。其次,对现有的编码存储方式存储了大量冗余信息、空间性能低的问题做了相应的改进,提出了一种新的编码存储方式RDDE编码。这种存储方式不仅可以重建文档顺序满足动态更新需要,还可以达到减少存储代价、降低更新开销和提高查询性能的目的。另外,在已有的Twig模式查询算法TwigStack勺基础上结合本文所提出的编码方案,提出了新的适用于动态编码的XML Twig模式查询算法TwigStackDyn并对此算法性能做了洋细分析。最后,本文对支持动态XML Twig查询动态编码的性能进行实验分析,验证了本文所提编码的有效性和可行性,并与相关的研究方法进行了实验对比,实验结果显示,本文所提出的编码方案有较好的时间和空间性能并且能够有效地的支持动态XML Twig模式查询的要求。