论文部分内容阅读
XML是互联网联合组织(W3C)创建一组规范,以便于软件开发人员和内容创作者自由地组织信息,其目的不仅在于满足不断增长的网络应用需求,同时还希望借此能够确保在通过网络进行交互合作时,具有良好的可靠性与互操作性。良好的数据存储格式、可扩展性、高度结构化、便于网络传输是XML主要的四大特点,决定了其卓越的性能表现。目前,面向XML数据的存储和查询已经有大量的技术提出,但是这些技术并不能够满足高效XML数据处理的需要,较成熟XML处理技术对系统资源要求高或采用基于关系数据库的存储方案,其处理方式多为无索引支持,对数据规模较大或数据结构复杂的XML数据处理性能较差。本文以高效处理XPath查询为目标,研究了多种适合XML文档树的节点标记法,并将节点集组织成相应的索引结构,以及提出了高效的算法用于在索引上处理XPath查询,本文主要研究成果如下:(1)基于聚合绝对路径标记法的索引结构及查询处理算法。聚合绝对路径是以XML标准的父-子元素位置信息为基础的,因此该标记法直接支持XML查询的Position谓词。聚合绝对路径标记法把具有相似位置信息的节点集聚合为索引中的一个节点,有效提高了查询处理的速度。基于聚合绝对路径标记法组织的索引结构,我们提出了分枝过滤算法和关联路径匹配算法用于高效的处理查询,实验表明以上两种算法优于TwigStack算法并有良好的延展性。(2)基于链路径树标记法的索引结构及查询处理算法。将文档中的节点按照源路径同构划分为多个子树,每个子树的各层节点集均为同构节点集。全部子树的叶节点集为文档空间节点集的一个划分,按叶节点集创建的索引结构将等同与1-Index索引结构。由于子树特征被记录,基于链路径树标记法的索引结构将可以快速的得到节点集的祖先集并可以高效处理带有分枝的查询。基于链路径树标记法的索引结构,我们提出了关联路径连接算法来高效的完成查询处理,实验表明关键点连接算法优于TwigStack算法并有良好的延展性。(3)基于源路径树标记法的索引结构及查询处理算法。我们通过节点标记的区间来取代单独的节点标记,并改进索引的存储机制使得算法的输入输出最小化,改进的查询处理算法对匹配各分枝的链路径分组,有相同关联路径的可以连接,否则抛弃。实验表明,改进的标记法具有较小的存储空间,较小的输入输出代价以及更快的执行效率。(4)基于素数序列标记法的F&B索引的创建算法以及查询处理算法。提出使用素数或素数的乘积的序列来标识一个节点的方法,如果两个节点的标记值相同,那么这两个节点就一定是F&B同构的。这种标记法不仅有助于快速的建立F&B索引,更可以高效的完成F&B索引上的查询处理。此外,我们还给出了F&B索引上的区间标记法与CCPI的创建过程,该两种编码创建过程无须在建立F&B索引后二次创建,仅需与F&B索引创建过程一起对文档使用SAX解析器分析一次即可得到。这样,我们可以在F&B索引的区间标记法上使用TwigStack算法执行查询处理,在F&B索引的CCPI标记法上使用关联路径连接算法执行查询处理。我们还给出了基于素数序列标记法的查询处理算法,即素数整除匹配算法,该算法可以高效的判定某节点是否有某分枝子结构。实验表明素数整除匹配算法优于F&B索引上的TwigStack算法以及CCPI并有很好的延展性。