论文部分内容阅读
随着Internet的应用越来越广泛,XML已经成了Internet上数据描述和数据传输事实上的标准。XML具有良好的可读性;具有开放性和可扩充性;能够描述复杂的数据;XML成功实现了内容、结构和表现三者的分离:并且具有平台无关性和国际化等特点。由于XML具有这些不同于传统数据形式的特点,对XML数据的存储和查询也与传统数据库有不同的要求。
查询是数据处理最重要的问题之一,对XML也是如此。为了实现高效的查询,本文着重研究了决定XML数据查询的两个关键问题,即XML结点编码方式和结构连接算法。能够快速判断XML文档树中任意两节点之间的基本结构关系是XML路径查询的基本要求。目前,大部分XML查询技术都是基于对XML文档树的某种编码方案。本文在研究了现有的结点编码方式之后,在前缀编码Dewey的基础上进行了修改,提出了XSQS系统编码方式。通过采用扩展的Dewey编码可以得到从根到该结点路径上的所有祖先节点名。
作为XML查询处理的核心操作,结构连接操作的设计与实现是提高查询处理效率的关键。在扩展Dewey编码的基础上,我们提出了一种结构连接算法PFMatching。与之前所有基于区间编码的结构连接算法不同,PFMatching只需要访问查询树叶子节点上的编码,然后对查询树路径进行匹配,就可以迅速判断出结点是否符合查询要求。这种方法可以降低磁盘访问次数,提高查询效率。
为了更好的研究Native XML数据库系统,同时也为了验证本文提出的结构连接算法,在扩展Dewey编码和PFMatching算法的基础上,设计和实现了Native XML数据库原型系统XSQS(XML Storage and Query System),主要实现了其查询系统部分。
本文最后以人工数据集XMark和真实数据集DBLP对PFMatching算法和XSQS查询系统的效率进行了实验测试,实验结果表明PFMatching算法对分支较少和父子关系的查询有着较高的效率。