一种基于硬件的XML解析方法的设计与实现

一种基于硬件的XML解析方法的设计与实现

论文摘要

XML(Extensible Markup Language,可扩展标记语言)是一种使用标记标记内容以传输信息的简单方法,由于它的可扩展性和跨平台特征,在web服务器和数据库系统中得到了广泛的应用,已经成为了数据描述和交换的标准。然而,相对于现在企业级服务器GB级的数据吞吐量,基于软件的XML解析无法达到所要求的吞吐量,对网络性能来说,这已成为一个严重的瓶颈。如今,开发一种能够替代软件解析XML的方法已成为必须。本文通过对XML解析的理论分析以及四种解析模型的对比,最后提出了一种基于DOM解析模型的硬件解析XML的方法。它主要包括四个重要的模块:词法分析模块、格式良好检查模块、DOM树构建模块和Schema验证模块。词法分析主要是对输入的XML字符做出相应的标记,从而识别出元素名、属性名以及文本内容,通过使用一个FSM实现。格式良好检查主要是对XML文档进行语法检查,包括元素名检查和属性名检查,在元素名检查中,主要使用栈结构对元素名字符进行匹配,而属性名检查主要是检查同一元素的属性名唯一性,本文使用一种名为布隆过滤器的高效随机存储结构,可以快速的判断当前的元素是否已经出现过。DOM树构建模块独立于格式良好检查模块和Schema验证模块,它是对整个XML文档的信息建立一棵树形结构,主要包括元素名节点、属性名节点、元素内容节点和属性内容节点四种节点类型。Schema验证是对XML文档中的元素和属性与Schema文档中所定义的规则进行匹配来验证XML文档的合法性,由于Schema文档定义的规则比较固定,在解析之前,首先对Schema文档进行预处理,将它定义的规则制作成一个静态表存储在本地内存中,这样在进行解析的过程中可以直接通过查询表寻找相应的规则。最后通过大量的实验,验证了本文的硬件解析方法较软件解析方法拥有很高的加速比,此系统的吞吐量可以达到1.2Gbps。所有的实现都是在FPGA硬件环境下测试与仿真的。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 研究现状
  • 1.3 主要工作
  • 第二章 XML和XML Schema
  • 2.1 XML简介
  • 2.1.1 XML的发展和作用
  • 2.1.2 XML的定义和例子
  • 2.1.3 XML的相关术语
  • 2.1.4 XML的应用
  • 2.2 XML Schema简介
  • 2.2.1 XML Schema的定义和例子
  • 2.2.2 XML Schema的重要性和优点
  • 2.3 本章小结
  • 第三章 主要的解析模型
  • 3.1 DOM解析模型
  • 3.2 SAX解析模型
  • 3.3 StAX解析模型
  • 3.4 VTD-XML解析模型
  • 3.5 四种解析模型的对比
  • 3.6 本章小结
  • 第四章 基于DOM解析的步骤分析
  • 4.1 格式良好检查
  • 4.2 Schema验证
  • 4.3 DOM树构建
  • 4.4 本章小结
  • 第五章 硬件体系结构设计
  • 5.1 模块之间的连接方式
  • 5.2 Schema预处理技术
  • 5.2.1 静态表表项说明
  • 5.2.2 静态表的结构说明
  • 5.3 内存组织
  • 5.4 最终的体系架构
  • 5.5 本章小结
  • 第六章 硬件详细设计和仿真
  • READ模块'>6.1 MEMORYREAD模块
  • 6.1.1 模块详细设计
  • 6.1.2 模块接口和时序图
  • 6.2 词法分析模块
  • 6.2.1 模块详细设计
  • 6.2.2 模块接口和时序图
  • 6.3 格式良好检查模块
  • 6.3.1 模块详细设计
  • 6.3.2 模块接口和时序图
  • 6.4 元素名检查模块
  • 6.4.1 模块详细设计
  • 6.4.2 模块接口和时序图
  • 6.5 属性名检查模块
  • 6.5.1 模块详细设计
  • 6.5.2 模块接口和时序图
  • 6.6 Schema验证模块
  • 6.6.1 模块详细设计
  • 6.6.2 模块接口和时序图
  • 6.7 元素名验证模块
  • 6.7.1 模块详细设计
  • 6.7.2 模块接口和时序图
  • 6.8 属性名验证模块
  • 6.8.1 模块详细设计
  • 6.8.2 模块接口和时序图
  • 6.9 元素内容验证模块
  • 6.9.1 模块详细设计
  • 6.9.2 模块接口和时序图
  • 6.10 属性内容验证模块
  • 6.10.1 模块详细设计
  • 6.10.2 模块接口和时序图
  • 6.11 DOM树构建模块
  • 6.11.1 模块详细设计
  • 6.11.2 模块接口和时序图
  • 6.12 本章小结
  • 第七章 性能评估
  • 7.1 测试文件
  • 7.2 测试结果
  • 7.3 结果分析
  • 7.4 本章小结
  • 第八章 结束语
  • 8.1 总结
  • 8.2 展望
  • 致谢
  • 参考文献
  • 在校期间研究成果
  • 相关论文文献

    • [1].Perl语言环境下XML文档解析方法[J]. 生物信息学 2010(04)
    • [2].Java解析xml文件的研究与应用[J]. 硅谷 2014(06)
    • [3].基于XML的批量数据处理与分析——以电子试卷为例[J]. 医学信息 2008(05)
    • [4].XML解析安全问题及对策研究[J]. 计算机安全 2009(11)
    • [5].基于Sax的嵌入式轻量级xml解析实现[J]. 衡阳师范学院学报 2018(06)
    • [6].基于Android的车辆定位客户端XML解析技术[J]. 电脑编程技巧与维护 2015(10)
    • [7].基于SAX的XML解析与应用[J]. 计算机与数字工程 2008(07)
    • [8].基于Android平台的数独游戏设计[J]. 辽宁工业大学学报(自然科学版) 2013(04)
    • [9].一种基于DOM4J的Web应用增量式建模方法[J]. 现代电子技术 2009(22)
    • [10].基于XML的项目管理工作流一体化建模研究[J]. 计算机应用与软件 2017(12)
    • [11].通过经验值提高速度的XML解析算法[J]. 移动通信 2017(02)
    • [12].基于Web的数控远程配置系统的设计与实现[J]. 工业控制计算机 2009(02)
    • [13].专利信息获取分析系统设计与实现[J]. 现代图书情报技术 2009(05)
    • [14].VS环境下XML解析实现[J]. 电脑知识与技术 2013(23)
    • [15].支持协作的轻量级模板语言的设计与实现[J]. 计算机工程与设计 2009(24)

    标签:;  ;  ;  

    一种基于硬件的XML解析方法的设计与实现
    下载Doc文档

    猜你喜欢