论文部分内容阅读
XML是W3C提出和维护的数据表示与交换的标准。XML作为一种统一的信息数据格式已经应用到很多领域中,并已经成为互联网上的数据通用语言。XQuery是W3C提出的针对XML数据的查询语言,XQuery对XML数据的作用与SQL对关系数据的作用很相似,它以其良好的设计和强大的功能,为人们提供了一种强大的数据查询语言。
XQuery灵活易用、能够处理各种类型的XML数据源,现在有很多研究机构都在研究如何高效地实现XQuery语言,以提高XQuery的查询处理效率。现在主流的XQuery引擎一般采用解释或编译的方式来实现。解释执行引擎对程序多次重复解释,执行效率较低;静态编译执行引擎应用编译优化技术,将源程序编译成执行效率更高的目标程序,能够提高查询程序的执行效率,但由于有些XQuery程序是互联网上动态生成的,静态编译执行引擎由于需要对整个程序先进行编译后才能执行,增加了查询请求的响应时间,因此不能很好地满足XQuery语言在互联网上的应用需求。
本文在介绍XQuery语言解释系统与编译系统的基础上,研究了XQuery语言Hotspot编译实现技术,设计并实现了XQuery语言Hotspot编译系统。系统确定FXQL为Hotspot编译的层次,FXQL函数为编译的粒度,Java字节码为目标语言,并引入SECD抽象机作为编译的中间层次。系统首先采用解释的方式启动FXQL程序的执行,执行过程中通过对程序进行Hotspot分析,将执行频率高、执行代价大的FXQL函数编译为执行效率更高的Java字节码方法,该函数被调用时则直接执行相应的字节码方法。本文研究的XQuery语言Hotspot编译系统能高效的执行XQuery程序、适用于动态XQuery请求、并支持动态编译。本系统为研究新型的XQuery语言Hotspot编译策略提供了一个基础试验平台。
本文针对XQuery语言Hotspot编译系统分别进行了功能测试与性能测试,功能测试表明系统实现了XQuery语言的基本语法结构与功能;性能测试针对XQuery语言Hotspot编译系统、解释系统和静态编译系统做了比较测试,测试结果显示Hotspot编译系统相对于解释执行系统提高了XQuery程序执行的效率,而相对静态编译系统,它能稳定地执行互联网上动态生成的XQuery程序,适应互联网应用系统的发展需求。