基于迭代的高性能StAX解析器的设计与实现

来源 :中国科学院软件研究所 | 被引量 : 4次 | 上传用户:luoch668
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前,XML(Extensible Markup Language)文档已被广泛用于电子商务、B2B通信、企业信息交换/集成、信息发布等应用领域。低效的XML解析会导致过度的内存消耗和过长的处理时间,成为低资源消耗和高性能应用的瓶颈。 StAX(Streaming API for XML)是为了加强用户对XML解析过程的控制而提出的处理XML文档的API。它允许用户以pull模式从XML流中解析事件,也允许将事件写入到XML文档中。与已有的处理XML文档的SAX、DOM相比,StAX具有其他解析方式所不具有的灵活性。本文重点研究了高性能的StAX解析器的设计与实现。 我们在详细分析了XML语法产生式的基础上,进行了下推自动机的设计,给出了StAXParser的设计,并介绍了StAXParser各个组成模块的设计和实现,实现了对XML文档的良构性解析。 随之,我们以软件工程相关理论为指导,对StAXParser进行了全面的XML兼容性测试。为此,我们设计了测试框架,并利用测试工具进行了自动化测试,保证了测试的高效率和高质量。同时,我们进行了API兼容性测试,使其成为了完善的基于事件的流式解析器。 最后,我们以XML Test为测试基准,进行了严格细致的性能测试工作,利用Boland Optimizeit和JProfiler等测试工具和自写代码进行了性能监测与跟踪,寻找性能瓶颈,并采用算法级和语言级的各项优化策略持续进行性能改进,使得StAXParser达到了比较好的性能指标。
其他文献
本文涉及一种社区宽带综合业务网络系统,使用交换式以太网技术,在一个物理网络上实现常规电话网、数字电视网、计算机网的基本业务,为社区用户提供IP电话、数字电视、Interne
随着Internet的飞速发展,Web的信息量越来越大,通用搜索引擎在信息采集、存储等方面面临更大的挑战。此外,由于通用搜索引擎面向所有的用户,力争在返回结果上做到面面俱到,而
现代基于网络的商业行为规模巨大,由于产品或者实体的数量繁多,用户不可能一一去阅览,从而有可能遗漏掉很多对用户有价值的商品。推荐系统是信息过滤领域的一个子集,目的是预