论文部分内容阅读
XML已逐渐成为当前Internet上数据表示和数据交换的事实标准,已经在很多应用领域扮演着重要的角色;同时,它也是Web Service、各种文件处理系统和数据库事实上的互操作标准。然而,对XML数据的查询处理已经成为影响这些系统性能的瓶颈。因此,高效且快速的进行XML处理的需求增长迅速。在硬件方面,多核处理器正日益成为各种计算机上的主流;然而,目前绝大部分的XML处理算法仍然使用传统的串行处理模式,从而无法充分利用多核资源的优势。本文设计了一种多核查询优化策略,它对XML文档进行数据分区,以达到负载平衡,同时各个线程独立处理分区内的数据,以便减少线程之间由于同步与通信而带来的开销。在数据分区方面,主要是三种策略下的查询,基于文档大小平衡与基于节点数目平衡,为了避免负载不均衡导致的闲置问题,本文在后者基础上,设计了一种任务抢占的策略,避免了CPU闲等的情况。通过与单核查询处理时间相比,三种策略均能有效的节约查询时间;相比较上述两种数据均衡方法,改进的方法能获得部分的性能优势,从而减少网络负载并提高数据库的查询效率和响应能力。在这几种策略下,通过对实验数据进行分析,结果证明了该策略应用到Native XML数据库系统时的有效性和可行性。