论文部分内容阅读
伴随着互联网的发展,XML已经逐渐成为Internet上数据交换和数据共享的标准,在互联网环境领域具有良好的发展势头。目前XML已广泛应用于企业间电子商务、知识管理、文档管理、企业间自动化处理等。为了满足人们对XML查询和处理的需求,国际万维网组织(W3C,World Wide Web Consortium)于2007年发布了XQuery语言规范,用于标准化XML的查询和处理。XQuery用于从XML文档中提取信息,其在XML数据查询中的作用非常类似于SQL在传统关系数据库中的作用。 由于XML数据的半结构化特性,并且XQuery是一种函数式语言,如何实现XQuery语言的高性能XML查询已经成为如今一个困难的问题。近年来,为了提高XQuery查询处理的性能,研究人员提出了很多方法。有借鉴数据库领域经验,提出XML查询代数去优化查询处理。有根据XML查询特有的结构特点,提出的树模式匹配算法。还有采用编译技术优化程序来提高查询效率。 另一方面,随着计算机硬件技术的迅速发展,具有多核CPU的计算机越来越普及。关于XML并行处理的研究也越来越多,期望利用多核平台来提高XML查询处理能力。例如,针对小枝(Twig)查询或者XPath查询的并行实现方法;针对XML数据解析的并行处理方法。然而以上算法要么是用于解决XQuery语言中特殊的结构问题,要么是针对XML查询处理中的局部问题。 为了实现XML查询的高性能处理,本文利用XQuery语言自身特点,针对整体查询任务,提出一种包含多种并行策略的综合并行处理解决方案。解决方案包括一个XQuery自动化并行处理框架,支持多种并行处理技术。针对XQuery并行处理中的任务,提出一种任务调度算法。该调度算法根据一种任务代价计算模型调度任务,并且动态地决定任务的并行执行方式,力求做到资源利用的负载平衡。 实验结果表明,本文提出的并行处理解决方案与串行处理能够有效地提高了查询效率和良好的内存效率。