论文部分内容阅读
随着计算机网络技术的迅速发展和其应用的日益广泛,XML已经成为网络上数据描述和数据交换的标准,得到越来越广泛的应用。如今,XML在越来越多得领域得到应用,XML数据量也日益增大,这对XML数据的查询效率也就提出了更高的要求,如何提高XML的查询效率也成为了研究的热点。W3C于2007年发布了XQuery语言正式推荐标准,作为针对XML数据的查询与处理规范。 随着XML应用的不断扩展和深入,相应的XQuery程序愈加复杂,XML数据规模愈加庞大。因此,XQuery程序的执行效率变得日益重要,如何通过优化手段提高查询与处理效率具有很重大的研究意义。 另一方面,伴随多核技术的发展,人们试图利用多核环境提供的计算能力来提高XML查询处理的性能,对多核环境下并行处理XML的研究也越来越多。而XQuery语言作为一种函数式语言,其描述的查询程序本身就具有内在的并行性,为并行处理XMV查询提供了可能。 然而,目前针对XML查询的并行处理方案主要集中在XML数据解析、XML树模式查询、XML数据库索引等局部问题上,没有针对整体查询任务,根据具体的XQuery查询程序来探讨多种并行策略的应用方法。 本文主要针对XQuery语言研究并行实现XQuery语言的方法,该并行化方法能够支持多种并行策略,并支持局部模块的并行策略。并且,本文研究了XQuery并行实现中的任务表示方法,并根据XQuery语言程序特征与XML数据特点,研究在并行实现XQuery中的任务划分以及代价计算等负载平衡方面的问题。提出了基于模块计算强度的任务划分算法XQParti,并设计了动态计算任务代价的代价模型。