数据查询方法、数据存储方法及相应的设备、系统、介质技术方案

技术编号:37142459 阅读:12 留言:0更新日期:2023-04-06 21:48
本申请提供了一种数据查询方法、数据存储方法及相应的设备、系统、介质。数据查询方法包括:将接收到的查询语句转化为查询语法树,查询语句为用于查询存储资源中存储的目标数据的结构化查询语言SQL语句,目标数据包括位置信息;基于查询语法树生成查询计划;基于查询计划对存储资源中存储的目标数据进行扫描查询。依据本申请实施例,可以支持标准SQL查询,并实现高效的地理围栏查询。并实现高效的地理围栏查询。并实现高效的地理围栏查询。

【技术实现步骤摘要】
数据查询方法、数据存储方法及相应的设备、系统、介质


[0001]本申请涉及云计算
,尤其涉及一种数据查询方法、数据存储方法及相应的设备、系统、介质。

技术介绍

[0002]地理围栏技术是LBS(Location

Based Service,基于位置的服务)技术中的一种应用,其原理主要是用一个虚拟的栅栏围出一个虚拟地理边界,当移动终端在该虚拟地理边界的范围内或者该虚拟地理边界的附近活动时,可以接收自动的通知和提醒。地理围栏查询是基于地理围栏技术的一种查询方式,对于存储地理数据例如经纬度点坐标的数据表,给定面(多边形或圆形)的经纬度范围,地理围栏查询可以查询坐标在范围内的点。相关技术中,存在一些数据存储架构可以支持对海量地理数据的地理围栏查询,但不支持地理围栏的标准SQL((Structured Query Language,结构化查询语言)查询,缺乏易用性。

技术实现思路

[0003]本申请实施例提供一种数据查询方法、数据存储方法及相应的设备、系统、介质,以解决现有技术存在的问题。
[0004]第一方面,本申请实施例提供了一种数据查询方法,包括:
[0005]将接收到的查询语句转化为查询语法树;查询语句为用于查询存储资源中存储的目标数据的结构化查询语言SQL语句,目标数据包括位置信息;
[0006]基于查询语法树生成查询计划;
[0007]基于查询计划对存储资源中存储的目标数据进行扫描查询。
[0008]第二方面,本申请实施例提供了一种数据存储方法,包括:
[0009]基于接收到的建表语句和数据插入语句分别转化为建表语法树和数据插入语法树;建表语句和数据插入语句均为结构化查询语言SQL语句;
[0010]基于建表语法树和数据插入语法树分别生成建表执行计划和数据插入执行计划;
[0011]基于建表执行计划在存储资源中的起始区域构建用于存储目标数据的数据表;
[0012]基于数据插入执行计划在构建好的数据表中插入目标数据。
[0013]第三方面,本申请实施例提供了一种数据查询系统,可用于执行本申请实施例提供的任意一种方法,该系统包括:计算资源和存储资源;
[0014]计算资源和存储资源之间通信连接;
[0015]计算资源用于将接收到的SQL语句转化为对应的语法树,基于语法树生成对应的执行计划;
[0016]存储资源用于执行该执行计划。
[0017]第四方面,本申请实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时可以实现本申请实施例第三方面提供的数据查询系统中计算资源和/或存储资源的功能。
[0018]第五方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的任意一种方法。
[0019]与现有技术相比,本申请具有如下优点:
[0020]依据本申请实施例的技术方案,通过在数据查询系统中设置SQL层,从而可使数据查询系统及相应的数据存储、数据查询等支持标准SQL查询,有效提高查询系统的易用性;存储和查询的对象为包含位置信息的数据,可支持该类数据的处理功能;可应用于云原生多模数据库(一种可适用于任何规模、多种模型的云原生数据库)以提高云原生多模数据库的数据处理能力,实现高效的地理围栏查询。
[0021]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0022]在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
[0023]图1为本申请实施例提供的一种数据查询系统的结构框架示意图;
[0024]图2为本申请实施例提供的一种数据存储方法的流程示意图;
[0025]图3为本申请实施例中的建表语句和数据表的示意图;
[0026]图4为本申请实施例中的一种建表方法的流程示意图;
[0027]图5为本申请实施例中的一种数据插入方法的流程示意图;
[0028]图6为本申请实施例提供的一种数据查询方法的流程示意图;
[0029]图7为本申请实施例中确定编码区间的原理示意图;
[0030]图8为本申请实施例中查询编译器和查询优化器对查询语法树进行编译和优化处理的一种原理示意图;
[0031]图9为本申请实施例中两个域服务器并行执行各子查询计划的原理示意图;
[0032]图10为本申请实施例中一个区域查询计划的扫描子进程的执行过程示意图;
[0033]图11为本申请实施例中的一种查询方法示例的流程示意图;以及
[0034]图12为本申请实施例提供的一种电子设备的结构框架示意图。
具体实施方式
[0035]在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
[0036]首先对本申请实施例涉及的部分技术术语进行如下介绍:
[0037]S2地理围栏索引:利用S2算法(一种开源编码算法),存储查询对象(点)的编码值,计算查询条件(面)的编码值范围,通过前缀匹配加速查询的索引技术。
[0038]时空数据:同时具有时间维度(即时间信息)和空间维度(即空间信息或称位置信
息)的数据,地理数据是具有空间维度的数据。
[0039]在相关技术中,存在一种非结构化的数据存储方案,可支持对海量目标数据的地理围栏查询,具体原理为:在对存储的点坐标数据进行查询前,对点坐标字段创建2dsphere(一种用来支持球体几何计算查询的索引)或2d(一种用来对以二维平面上点的方式存储的数据进进行查询的索引,可以使用2d索引)填充曲线编码索引,查询时首先生成多边形或圆形范围的最小外接矩形,再生成该矩形对应的编码范围,利用索引过滤出属于编码范围的记录,再进行多边形范围精判断。但由于该方案的数据库是一种非结构化的数据库,对SQL不兼容,因此不支持地理围栏的标准SQL查询,且无法实现并行查询,查询效率较低。
[0040]在相关技术中,还存在一种数据存储方案,其可使用SimpleFeature(带属性的地理几何对象)作为存储结构来存储地理空间点,支持对海量目标数据的地理围栏查询,具体原理为:默认对点坐标创建z2(一种使用二维Z阶曲线来索引点数据的纬度和经度的索引方式)填充曲线编码索引,查询时首先生成多边形或圆形范围的最小外接矩形,再生成该矩形对应的编码范围,利用索引过滤出属于编码范围的记录,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:将接收到的查询语句转化为查询语法树;所述查询语句为用于查询存储资源中存储的目标数据的结构化查询语言SQL语句,所述目标数据包括位置信息;基于所述查询语法树生成查询计划;基于所述查询计划对所述存储资源中存储的目标数据进行扫描查询。2.根据权利要求1所述的数据查询方法,其特征在于,所述基于所述查询语法树生成查询计划,包括:基于所述查询语法树生成初始查询计划;所述初始查询计划的查询范围为所述存储资源中的数据表的全部范围;对所述初始查询计划进行并行优化处理,得到包括多个子查询计划的并行查询计划,作为所述查询计划;所述子查询计划的查询范围为所述数据表的部分范围。3.根据权利要求2所述的数据查询方法,其特征在于,所述对所述初始查询计划进行并行优化处理,包括:确定所述存储资源中用于表征地理围栏范围的多个编码区间;将所述多个编码区间按区域进行合并,得到合并后的与多个区域分别对应的多个查询区间;基于所述多个查询区间将所述初始查询计划拆分为多个区域查询计划;每个区域查询计划的查询范围为一个查询区间,所述子查询计划为所述区域查询计划。4.根据权利要求2所述的数据查询方法,其特征在于,所述对所述初始查询计划进行并行优化处理,包括:确定所述存储资源中用于表征地理围栏范围的多个编码区间;基于所述多个编码区间将所述初始查询计划拆分为多个区间查询计划;每个区间查询计划的查询范围为一个编码区间;将所述多个区间查询计划按区域进行合并,得到合并后的多个区域查询计划;每个区域查询计划的查询范围为一个查询区间,所述子查询计划为所述区域查询计划。5.根据权利要求2所述的数据查询方法,其特征在于,所述存储资源包括多个存储模块,所述目标数据为地理数据;所述基于所述查询计划对所述存储资源中存储的目标数据进行扫描查询,包括:在每个存储模块中并行执行与该存储模块对应的各子查询计划,基于各子查询计划的执行,对各存储模块中的各查询范围中存储的地理数据进行并行扫描查询。6.根据权利要求5所述的数据查询方法,其特征在于,所述子查询计划包括:查询范围、扫描列名列表和第一过滤条件,所述第一过滤条件用于筛选所需要的行,所述扫描列名列表用于提供所需要的列的列名;所述基于各子查询计划的执行,对各存储模块中的各查询范围中存储的地理数据进行并行扫描查询,包括:在执行每个子查询计划时,基于所述子查询计划中的扫描列名列表和第一过滤条件对一个查询范围中存储的目标数据进行扫描查询。7...

【专利技术属性】
技术研发人员:张艾琳王方谢炯陈智达柴柯伦
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1