[发明专利]一种XML文档的并行XPath查询方法、终端设备及存储介质有效
申请号: | 202011045242.4 | 申请日: | 2020-09-29 |
公开(公告)号: | CN112115302B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 陈荣鑫;王智谨 | 申请(专利权)人: | 集美大学 |
主分类号: | G06F16/832 | 分类号: | G06F16/832 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 何家富 |
地址: | 361000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 xml 文档 并行 xpath 查询 方法 终端设备 存储 介质 | ||
本发明涉及一种XML文档的并行XPath查询方法、终端设备及存储介质,该方法中包括:S1:获取输入的XML文档;S2:对XML文档进行解析,并根据解析结果计算基于索引创建的代价估算所需的XML统计信息;S3:根据解析结果和XML统计信息,并行创建XML文档的关系索引;S4:获取输入的XPath查询表达式;S5:将XPath查询表达式转换为查询原语序列;S6:根据创建的关系索引,使用查询原语序列中的每个查询原语按顺序对XML文档进行查询,且每个查询原语内部采用并行查询的方式进行查询;S7:输出最终的查询结果。本发明采用基于并行效益计算的线程选择策略,该策略以基于XML节点关系数的代价估算为基础,为线程的合理有效利用提供了保证。
技术领域
本发明涉及XML文档查询领域,尤其涉及一种XML文档的并行XPath查询方法、终端设备及存储介质。
背景技术
XML作为通用数据交换和存储的标准在各个领域里广为应用,XPath查询是XML数据处理中的关键部分,其性能直接影响到XML的处理能力。近年来随着多核计算环境的普及,充分利用多线程并行计算以获取应用处理性能的提升已成为一种常用的优化设计途径。并行XPath查询技术能为高性能的XML数据处理提供有力支持。
并行XPath查询技术一般需要通过特定的代价估算获取查询负载的计算量和并行化开销,据此进行负载划分或并行查询计划的优化选择。由于XML数据的半结构化特点以及XPath查询的复杂性,现有的技术中,代价估算难以准确反映实际的计算量,依照代价进行的负载划分容易造成负载不均衡,导致并行性能受限。此外,由于缺少对线程工作效益评估机制,在较小计算量的情况下,却利用所有可用线程进行并行处理,导致并行化所能获得的效益被过多的线程同步开销抵消。
发明内容
为了解决上述问题,本发明提出了一种XML文档的并行XPath查询方法、终端设备及存储介质。
具体方案如下:
一种XML文档的并行XPath查询方法,包括以下步骤:
S1:获取输入的XML文档;
S2:对XML文档进行解析,并根据解析结果计算基于索引创建的代价估算所需的XML统计信息;
S3:根据解析结果和XML统计信息,并行创建XML文档的关系索引;
S4:获取输入的XPath查询表达式;
S5:将XPath查询表达式转换为查询原语序列;
S6:根据创建的关系索引,使用查询原语序列中的每个查询原语按顺序对XML文档进行查询,且每个查询原语内部采用并行查询的方式进行查询;
S7:输出最终的查询结果。
进一步的,XML文档的解析结果为XML节点的区间编码,所需的XML统计信息包括每个根节点所在的子树内根节点的所有子孙节点和孩子节点的总数、根节点的属性节点总数和根节点的非直接属性节点总数。
进一步的,XML节点的区间编码采用6元组表示,包括六部分组成成分,分别为:节点ID值、节点类型、节点的标签名、节点在文档中的开始位置、节点在文档中的结束位置和节点的层次值。
进一步的,步骤S3包括以下步骤:
S31:根据XML统计信息进行关系索引创建的总代价估算;
S32:根据关系索引创建的总代价估算结果,将解析的所有区间编码数据划分为数量与可用线程数量相同的区间编码数据块,使得各区间编码数据块之间实现关系索引创建时的计算负载均衡;
S33:针对每个划分后的区间编码数据块分别分配线程后,并行的为区间编码数据块的创建关系索引,最终得到输入的XML文档的关系索引。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于集美大学,未经集美大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011045242.4/2.html,转载请声明来源钻瓜专利网。