摘要
如何在XML流上高效地执行大量复杂XQuery查询是当今研究的热点之一。在数据选择分发等应用中,还希望在解析流的同时尽早地输出查询结果。为此,本文将XQuery查询的路径导航和结果构造两个阶段分别运行于服务器、客户机两端。导航阶段针对XQuery查询定义了扩展的基本XSIEQ机E-XSIEQ(Extended XML Stream Query with Immediate Evaluation),它是一种被索引化、基于栈的自动机。在E-XSIEQ机上设计应用了TreeBuf(Tree Buffer)算法,它是一种树型提升缓冲的查询算法,算法使用了前缀共享计算的技术,能高效处理XQuery查询,而且能优化XPath查询。实验证明了TreeBuf算法的高效性。
Much research has been done in evaluating massive complicated XQuery set over an XML stream efficiently. In some applications especially data selecting and distributing, it is further required to output the results while parsing XML stream for higher system efficiency. An XQuery query process is divided into two stages: path navigation and result construction and this two stages separately run at two sides of system that has the Client/Server model. In the former stage, an extended XSIEQ machine E-XSIEQ(Extended XML Stream Query with Immediate Evaluation) is defined, which is a kind of indexed automata based on stack. Moreover, TreeBuf(Tree Buffer) algorithm based on promoting tree buffer is put forward. It uses XQuery's sharing prefix characteristic and can both process XQuery query efficiently and optimize XPath query. Experimental results show that TreeBuf algorithm's performance is considerable.
出处
《计算机科学》
CSCD
北大核心
2007年第10期137-142,共6页
Computer Science
基金
Supported by the National Nature Science Foundation of China under Grant No. 60673126
(国家自然科学基金)
the Foundation of Laboratory of Computer Science
the Chinese Academy of Science under Grant No. SYSKF0502
(中国科学院计算机科学重点实验室开放课题基金)。