论文部分内容阅读
由于XML数据具有不同于传统数据形式的特点,使得基于传统数据库的成熟技术不能有效地对其发挥作用,因此需要针对XML数据的特点研究新的处理方法。XML数据管理领域中最重要问题之一就是如何有效地存储和查询这类数据,它已经成为当前XML数据研究的热点。为了解决大量的、无固定模式的XML文档的存储以及如何提高XML路径查询算法的执行效率问题,本文分别对基于特定编码方案的XML数据的有效存储和查询结构连接算法两方面技术进行了研究。第一,针对目前大部分编码方案不能同时有效地支持文档的动态更新和存储恢复的问题,本文提出了一种新的编码方案Pri-order。该方案通过三元组表示节点的编码,有力地支持了文档的更新,在文档发生更新操作时,文档中重新编码的节点范围很小。同时节点编码的三部分相互结合,有利于保存文档结构,对存储后的原文档能够给出正确的恢复。第二,针对目前的XML数据存储方法不能有效地处理Internet上大量的,无固定模式数据的问题,Pri-order编码的基础上,本文提出了一种新的XML文档存储方法SXBP。该算法通过对文档树型结构数据进行分解,按节点类型分别将节点信息存储到定义的关系模式中,节点编码的三部分相应的映射为关系表的三个属性。同时,为了支持文档的路径查询操作,将文档中出现的简单路径也存储到一个关系表中。这种存储方法能够处理任意结构的文档,无论文档有无特定的模式,同时,对具有同一模式的文档的简单路径的存储,节省文档的存储空间。文中也研究了基于SXBP方法存储的文档恢复算法。第三,针对现有的结构连接算法在查询过程中产生的大量的,无用的中间结果的问题,本文利用Pri-order编码的性质,对现有的整体路径连接算法进行改进,关键技术是向前预读输入流中的元素缓存到列表中,对于缓存在列表中的分枝节点元素,首先判断其是否真正参与了最后的匹配结果,对于那些对最后的匹配结果无用的分枝节点元素直接从列表中删除,减小了中间结果的输出,提高查询算法的执行效率,节省查询时间。最后,在真实数据集的基础上对以上研究进行了一系列实验验证,验证本文的编码方案和基于编码的存储和查询方法,并将研究成果与之前的相关方法进行性能比较。