计算机工程与应用 ›› 2016, Vol. 52 ›› Issue (17): 84-92.
万刚辉1,廖湖声2,苏 航1,高红雨1,高万辰1
WAN Ganghui1, LIAO Husheng2, SU Hang1, GAO Hongyu1, GAO Wanchen1
摘要: XML树模式查询又称为Twig查询,是XML查询处理中最核心的操作。在Twig查询算法的研究中,TreeMatch算法由于极大程度上减少了中间结果的产生,被认为是最好的Twig查询算法之一。然而,在TreeMatch算法的核心操作getNext中,存在不少仅依赖Twig模式的计算。当getNext调用次数很多时,这种冗余的重复计算会影响TreeMatch算法的性能。为了进一步改进该算法,提出了一种基于部分求值和热踪编译的Twig查询优化方法,该方法以Twig模式作为不变量进行部分求值,把查询请求翻译成一种Twig查询机指令序列,避免了查询过程中对Twig模式的重复计算;并且针对这种查询机指令序列的解释过程,利用热踪编译技术进行了优化。对比实验说明基于部分求值和热踪编译的优化方法能够将Twig查询效率提高到20%到60%。