一种基于XQuery的运行专门化处理算法
2021-07-03陈俊祺
建材技术与应用 2021年3期
关键词:程序
□□ 陈俊祺
(武警山西总队参谋部,山西 太原 030012)
引言
随着越来越多的信息被存储、交换和使用XML呈现,查询XML数据源的能力变得越来越重要。为解决这一能力需求,W3C XML查询工作组设计了XQuery程序语言。它是一种函数式语言,查询简便,易于理解,应用灵活,可以查询广泛的XML信息源,包括数据库和文档。XML近年来已经成为Web上数据表示和交换的事实标准,对XQuery处理效率的要求也越来越高。在XQuery的研究领域中,已经开发出一些新技术,用于提高处理效率,但在这一领域中很少用到“部分评估”的优化技术。为了找到一种提高XQuery处理效率的新方法,扩展了“部分评估”技术的应用范围,进一步研究了XQuery语言的部分评价技术。
部分评估,也称为“程序专门化”,是一种专门的程序转换技术。给定一个源程序和一个称为“静态输入”的输入数据一部分,部分评估根据在使用静态输入分析程序后提取程序中的不变量,生成一个剩余程序。当应用到剩余输入数据时称为“动态输入”,剩余程序产生的结果与源程序在应用于所有输入时所产生的结果相同,通常情况下,剩余程序运行比原始程序快。第一个关于程序专业化的应用出现在1980年代早期,在随后的几年里,大多数研究人员在编译时和源代码中探索了该技术,但是编译时专门化技术并不适合于应用程序领域,而用于专门化程序的不变量只能在运行时处理。因此,一些研究人员在运行时开发了一些专门的程序。在XQuery的应用程序领域中,动态生成的查询被广泛采用,如使用XQuery与Java API(XQJ)的应用程序。……
登录APP查看全文
