[发明专利]一种XML流数据的快速查询方法有效
申请号: | 201710256675.6 | 申请日: | 2017-04-19 |
公开(公告)号: | CN107256218B | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 谷晓钢;黄玲琴 | 申请(专利权)人: | 江苏师范大学 |
主分类号: | G06F16/832 | 分类号: | G06F16/832;G06F16/835 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 张慧 |
地址: | 221116 江苏省徐州市铜*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种XML流数据的快速查询方法,在XML流数据中进行由多个具有复杂层次结构关系的标签路径组成的层次融合式查询,构建了解决此问题的快速查询模型——快速XML多标签路径查询(QXMTQ)。QXMTQ模型基于简洁的查询接口(QI)、查询导航PAT树数据结构模型(QGPATT)和快速查询处理引擎(QQE),其中在QI中提供要查询的标签路径,由模型自适应标签路径之间的复杂层次结构关系,支持谓词表达式参数接口(可选);QGPATT共享标签导航结构和辅助快速搜索结构PAT可以使QQE更快速、更精准地匹配目标标签、过滤无关分支、查询并获取相关的标签值。通过测试表明QXMTQ模型针对大规模XML流数据查询多个层次复杂的标签路径具有非常突出的查询时空效率。 | ||
搜索关键词: | 一种 xml 数据 快速 查询 方法 | ||
【主权项】:
一种XML流数据的快速查询方法,其特征在于,包括以下步骤:步骤1、XML Schema定义预处理:构建查询导航PAT树步骤101、搜索根元素并根据其元素信息创建查询树的根节点;步骤102、判断是否为Schema定义文档中的最末元素,如果是结束此预处理,否则跳转到步骤103;步骤103、通过当前元素寻找所有子元素,构建相对应的子标签节点并放入查询树中,在该子标签节点中放入此子元素标签特定的详细信息,同时在父‑子标签节点中放入导航信息;步骤104、根据节点及其所有直属孩子节点构建Patricia tries辅助快速搜索结构,中间PAT节点记录“共同”部分的长度,叶子PAT节点指向对应的直属孩子标签节点;步骤2、查询参数预处理:构建谓词表达式语法计算树、查询导航PAT树步骤201、如果谓词表达式不存在的话,跳转到步骤204,如果存在,顺序执行下一步骤202;步骤202、按照表达式EBNF范式,语法分析谓词条件表达式,并把操作数作为叶子节点,相关的操作符作为其父节点,依次类推构造谓词语法计算树;步骤203、把每个条件表达式子项中的标签路径追加到查询标签路径表中;步骤204、判断是否查询标签路径列表末尾,如果不是执行步骤205,否则结束查询参数预处理;步骤205、针对每一查询标签路径,首先分拆成一个标签序列,按照顺序处理每一个标签,在查询导航PAT树结构中的对应标签节点标注为需要查询聚焦:此标签节点状态为“通过”,同时把父标签节点通向该标签节点的每一个PAT节点标注状态为“通过”,其它的PAT节点的状态为“拒绝”;然后顺序检查下一个标签,直到此标签序列结束,跳转执行步骤204;步骤3、查询处理并提供二维结果集步骤301、解析目标XML流数据文档,解析过程中根据产生的事件回调不同方法,其中事件“StartElement”执行步骤302、事件“Characters”执行步骤303、事件“EndElement”执行步骤304;步骤302、输入标签匹配搜索查询导航PAT树中从当前标签节点也就是父标签节点开始通过PAT辅助结构和其对应的快速搜索算法,能够快速检查确定是否定位到正确的孩子节点标签上,根据匹配结果更新上下文状态,包括:“接受”和“拒绝”状态;步骤303、收集本次事件对应的标签值并放入缓存中;步骤304、如果到达标注谓词计算位置的标签节点,则提取表达式中的各标签路径对应值,然后开始按照谓词表达式语法计算树结构来计算表达式,结果为真则执行步骤305,结果为假则拒绝收集以此标签节点为根节点的分支的所有标签值集;步骤305、如果计算结果为真并且本标签节点为“接受”状态,则收集本次标签对应值并放入缓存中;步骤306、收集所有缓存中的标签对应结果集,合并组成二维标签结果集,结束查询处理,并返回二维结果集。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏师范大学,未经江苏师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710256675.6/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置