论文部分内容阅读
随着XML技术的广泛应用,如何提高XML解析器的性能是一个亟待解决的问题。XML解析模型直接影响XML解析器的性能,因此解决这个问题应从XML解析模型入手。当前的研究工作大多基于提取式XML解析模型,对非提取式XML解析模型的研究很少。VTD-XML是一种新型的非提取式XML解析模型。本文在VTD-XML的基础上设计并实现了一种快速的非提取式XML解析器,称为NEM-XML。首先,NEM-XML是一种非提取式XML解析器。它抛弃了XML DOM模型中为每个XML节点创建节点对象的做法,取而代之的是使用64位长的整数保存XML节点的元信息,极大地减少了解析XML文档所需的时间和内存空间。NEM-XML以静态链表的方式组织内部的数据结构,既方便了元素节点的添加和删除,又提高了XML文档的遍历速度。其次,探索了复用XML解析结果的方法,也就是在第一次使用XML文档时进行正常的解析并将解析结果保存到二进制文件中,以后使用时直接利用二进制文件还原原始的解析结果。这在那些仅对XML文档进行访问而无更新操作的应用中有很大的实用价值。为了复用NEM-XML的解析结果,本文改进了NEM-XML的数据结构,以减少保存解析结果所需的空间以及还原解析结果所需的时间。最后,并行计算是当前的一个重点研究领域,XML并行解析也得到了越来越多的关注。本文研究了NEM-XML的并行解析算法,提出了一种受限制的XML文档划分方法,可以很快地确定各个文档片段的初始解析状态。这个划分算法兼顾XML文档的层次结构和负载平衡,划分结果比较理想。本文对XML解析技术的研究具有一定的现实意义。它不但扩展了VTD-XML所体现的非提取式XML解析思想,还进一步研究了如何复用NEM-XML的解析结果,可以促进XML在各个领域的应用。另外,本文提出的受限制的XML文档划分方法对其它XML并行解析方面的研究具有一定的参考价值。