[发明专利]基于滑动窗技术的硬件XML解析器有效
申请号: | 201410535859.2 | 申请日: | 2014-10-13 |
公开(公告)号: | CN104267998A | 公开(公告)日: | 2015-01-07 |
发明(设计)人: | 黄立楠;蒋江;王畅 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F17/30 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 滑动 技术 硬件 xml 解析 | ||
技术领域
本发明涉及的是一种网络服务和数据库系统等技术领域中需要解析XML文档的应用,具体是一种基于滑动窗技术的硬件XML解析器。
背景技术
一般来说,服务器需要在XML解析上消耗大量的执行时间,因此XML解析是相关应用的技术瓶颈。目前已有的成熟的XML解析器大都是基于软件技术实现的,解析效率低下。虽然多线程技术可以在一定程度上提高XML解析器的工作效率,但是在传统的通用处理器上,处理一个字符通常需要几十个时钟周期,因此,软件XML解析器无法满足大量的应用需求。为了解决这些问题,学者们开始将目光转向硬件XML解析技术,希望通过利用硬件电路的高度并行性来提高解析效率。
已有的硬件XML解析器的性能相对于软件解析器已有了很大的提升,目前性能较好的两款硬件XML解析器分别是:(a)XPA.一般来说,XML解析须经由词法分析、格式检查和构建XML文档树等阶段串行完成。而XPA采用了投机流水的结构,将构建XML文档树提前,使其和格式检查并行执行,有效降低了解析器延迟。(b)PSDXP.PSDXP采用了并行投机的整体架构,将XML文档划分为多个子文档,并复制多套硬件解析单元并行解析子文档,提高了吞吐率。但是上述这些系统分别有着各自无法克服的缺点:XPA的吞吐率较低,无法满足对解析实时性有较高要求的相关应用需求;PSDXP可以通过增加子文档数和硬件解析单元有效地增加解析器的吞吐率,但是其硬件代价过大,不利于推广。
经过对现有技术的检索发现,中国专利文献号CN102622432A公开(公告)日2012.08.01,公开了一种XML文档结构概要间的相似性度量方法。为了从结构角度在线快速聚类XML数据流,满足这类算法对内存和时间的较高要求,提供一种XML文档的结构概要以及这种结构概要间的相似性度量方法。该算法将XML文档以SAX格式解析后,借助全局名称‐代码索引表和进行式栈技术将该文档形式化成一个可增量表示的概要数据结构——元素链(NodeList),然后通过一个自定义公式计算两元素链间的相似性。该技术使用SAX解析XML文档,并利用了进行式栈技术获取层值,使得建立结构概要的过程中,内存消耗很小。整个内存消耗基本花费在保存元素链式的聚类结果和全局名称‐索引表上。但该技术的缺陷和不足在于采用SAX格式解析XML文档,其数据在内存中不持久,因此用户不能对文档进行随机访问和修改。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于滑动窗技术的硬件XML解析器,能够加快XML解析速度的同时尽可能降低硬件开销,实现了基于滑动窗技术的XML解析加速,进一步加快硬件XML解析器的速度,使其能实时满足大量应用需求。
本发明是通过以下技术方案实现的,本发明包括:初始化存储单元、栈间寄存器、用于产生滑动窗的数据发射模块、用于将XML文档的字符流提取为令牌的词法分析模块、采用XML语法规则对XML文档的令牌进行检查的格式检查模块和XML文档树构建模块,其中:初始化存储单元与数据发射模块相连并传输XML文档的初始化信息,数据发射模块与词法分析模块相连并传输滑动窗信息,词法分析模块与格式检查模块以及XML文档树构建模块相连并传输令牌信息,XML文档树构建模块与内存相连并传输XML文档树信息,用于提高吞吐率的栈间寄存器设置于各相连模块之间。
所述的数据发射模块包括:依次连接的两个缓冲器单元、数据组以及用于生成滑动窗的控制单元,其中:第一缓冲器单元和第二缓冲器单元采用数据级并行机制,即其输出端分别与数据组相连并输出第一缓冲器单元和第二缓冲器单元的组合信息,从而进一步提高了硬件XML解析器的性能;数据组的输出端与控制单元相连并输出滑动窗信息。
所述的格式检查模块包括:元素嵌套检查单元、根元素唯一检查单元和属性名唯一检查单元,其中:元素嵌套检查单元、根元素唯一检查单元和属性名唯一检查单元都与XML文档树构建模块相连,元素嵌套检查单元接收元素名称令牌信息经栈处理将XML文档元素嵌套是否正确的信息输出至XML文档树构建模块,根元素唯一检查单元接收根元素令牌信息经栈处理将XML文档根元素是否唯一的信息输出至XML文档树构建模块,属性名唯一检查单元接收属性名称的令牌信息经布隆滤波器处理将隶属同一元素的属性名是否唯一的信息输出至XML文档树构建模块。
本发明涉及上述硬件XML解析器的实现方法,包括以下步骤:
步骤1)将XML文档初始化在初始化存储单元中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410535859.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电动客车动力冷却系统
- 下一篇:汽车遮阳罩