[发明专利]数据查询的方法、装置及存储介质在审
| 申请号: | 202210925540.5 | 申请日: | 2022-08-03 |
| 公开(公告)号: | CN115114341A | 公开(公告)日: | 2022-09-27 |
| 发明(设计)人: | 刘涛;马尧 | 申请(专利权)人: | 西安葡萄城软件有限公司 |
| 主分类号: | G06F16/2457 | 分类号: | G06F16/2457;G06F16/2453;G06F16/2452;G06F16/248;G06F16/22;G06F16/242 |
| 代理公司: | 西安毅联专利代理有限公司 61225 | 代理人: | 杨燕珠 |
| 地址: | 710000 陕西省西安市高新*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据 查询 方法 装置 存储 介质 | ||
本申请公开了数据查询的方法、装置及存储介质,涉及互联网技术领域,该方法解决了现有技术中不能根据查询语句进行文本查询的问题。该方法包括,获取查询语句和结构化文本数据;将查询语句解析为抽象语法树;将结构化文本数据作为参数附着于抽象语法树;对抽象语法树进行编译,生成高阶函数;执行高阶函数,生成行级数据访问句柄;使用行级数据访问句柄访问结构化文本数据,获取查询结果,并返回查询结果的表状数据。实现了使用常用的查询语句对格式化文本数据进行高效的查询。
技术领域
本申请涉及互联网技术领域,尤其涉及数据查询的方法、装置及存储介质。
背景技术
在进行数据查询时,通常是通过发送网络请求从远端数据源获取数据,然后根据特定的业务需求对数据进行加工和分析。数据结构通常是一致的或者是可推断的。对此数据的处理逻辑是相对固定的,仅能针对性的服务于已知的需求。
由于数据的结构是带有层级关系的树形结构,在数据上直接实施由用户最终定义的自由分析难以实现。常规设计中高自由度的用户自定义查询是不被允许的,用户仅能发起系统设计中提供的预定义的查询对特定结构的数据发起查询和分析。
发明内容
本申请实施例通过提供一种数据查询的方法、装置及存储介质,解决了现有技术中不能根据查询语句进行文本查询的问题,实现了使用常用的查询语句对格式化文本数据进行高效的查询。
第一方面,本发明实施例提供了一种数据查询方法,该方法包括:获取查询语句和结构化文本数据;将所述查询语句解析为抽象语法树;将所述结构化文本数据作为参数附着于所述抽象语法树;对所述抽象语法树进行编译,生成高阶函数;执行所述高阶函数,生成行级数据访问句柄;使用所述行级数据访问句柄访问所述结构化文本数据,获取查询结果,并返回所述查询结果的表状数据。
结合第一方面,在一种可能的实现方式中,所述将所述查询语句解析为抽象语法树,包括:根据预设解析规则将所述查询语句转换为标记列表;遍历所述标记列表,并生成所述抽象语法树;对所述抽象语法树进行逻辑校验,若校验成功将所述语法树进行封装;若校验不成功则重新进行解析。
结合第一方面,在一种可能的实现方式中,所述将所述结构化文本数据作为参数附着于所述抽象语法树,包括:对所述语法树的参数单元进行赋值,所述参数单元的值为所述结构化文本数据。
结合第一方面,在一种可能的实现方式中,还包括:优化所述抽象语法树。
结合第一方面,在一种可能的实现方式中,所述优化所述抽象语法树,包括:加载等价重写优化器、条件简化优化器和连接消除优化器,分别对所述抽象语法树进行查询条件重写、查询语句精简以及嵌套连接查询分离;遍历上述三种优化器,对优化所述抽象语法树,并对所述抽象语法树进行修改;对修改后的所述抽象语法树进行逻辑校验,若校验成功将所述语法树进行封装;若校验不成功则重新进行解析。
结合第一方面,在一种可能的实现方式中,所述查询语句包括SQL语句和/或NOSQL语句。
结合第一方面,在一种可能的实现方式中,所述结构化文本数据包括JSON文本数据。
第二方面,本发明实施例提供了一种数据查询装置,该装置包括:输入模块,用于获取查询语句和结构化文本数据;语法树构建模块,用于将所述查询语句解析为抽象语法树;参数引用单元,用于将所述结构化文本数据作为参数附着于所述抽象语法树;函数生成单元,用于对所述抽象语法树进行编译,生成高阶函数;句柄生成单元,用于执行所述高阶函数,生成行级数据访问句柄;结果返回单元,用于使用所述句柄进行数据格式化,返回表状数据。
结合第二方面,在一种可能的实现方式中,所述语法树构建模块具体用于:根据预设解析规则将所述查询语句转换为标记列表;遍历所述标记列表,并生成所述抽象语法树;对所述抽象语法树进行逻辑校验,若校验成功将所述语法树进行封装;若校验不成功则重新进行解析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安葡萄城软件有限公司,未经西安葡萄城软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210925540.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





