论文部分内容阅读
目前,XML已经在互联网环境中扮演着越来越重要的角色,逐渐成为各种各样数据的存储、交换和表示标准。为了满足查询和处理XML数据的需求,W3C发布了XQuery语言正式推荐标准,作为针对XML数据的查询与处理规范。XQuery语言是一种功能强大的XML查询与处理语言,其地位类似于关系数据库中的SQL语言,适用于来自不同XML数据源的信息,能够从XML中提取出所需数据,进而重构为指定的结构。在XQuery语言表示的查询中,针对XML数据结构特征进行查询是实际应用中最基本和最常见的操作,也是时空开销最大的操作之一,其查询性能对XQuery程序的执行效率有着重要影响。这些结构查询可以提取成为小枝模式(Twig Pattern),而后采用小枝查询(Twig Query)技术,通过匹配算法获取XML数据中全部满足模式结构的XML数据。随着XML应用的不断扩展和深入,相应的XQuery程序愈加复杂,XML数据规模愈加庞大。因此,XQuery程序的执行效率变得日益重要,如何通过优化手段提高查询与处理效率具有很重大的研究意义。近年来,为了提高小枝查询的效率,研究人员提出了多种方案,然而这些方案中有些没有考虑如何利用多核计算资源,有些则需要预先掌握XML数据整体拓扑结构。为了高效实现XML整体小枝查询,本课题提出了新的TwigPipe算法。TwigPipe算法基于流水线方式,采用了新的数据划分算法和查询算法,结合了更为简单的数据中间表示形式以及新的预先枚举机制,能够仅仅通过一遍扫描完成查询操作。另一方面,根据XML数据特点,本文提出了多种优化方法,用来支持针对不同数据的复杂查询,实验结果表明,TwigPipe算法有效提高了查询效率和降低内存需求。