数据查询方法、装置、计算机设备和计算机可读存储介质制造方法及图纸

技术编号:37668596 阅读:7 留言:0更新日期:2023-05-26 04:28
提供了一种数据查询方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。该方法包括:获取基于结构化查询语言的数据查询指令,数据查询指令指示待查询的至少一个字段,并且指示作为数据源的数据表的条件;对数据查询指令进行解析,以获取数据查询任务;以及执行数据查询任务。数据查询任务包括:从数据系统中查询符合条件的至少一个数据表作为数据源,至少一个数据表包括无模式数据;从至少一个数据表中查询至少一个字段;响应于在至少一个数据表中查询到至少一个字段中的第一字段,读取第一字段作为查询结果的一部分;以及响应于在至少一个数据表中未查询到至少一个字段中的第二字段,将空值作为查询结果的一部分。部分。部分。

【技术实现步骤摘要】
数据查询方法、装置、计算机设备和计算机可读存储介质


[0001]本公开涉及数据处理
,特别是涉及一种数据查询方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

技术介绍

[0002]随着万物互连时代的到来,大数据场景下的系统众多,产生的大量数据通常来源不同、格式不同,对用户进行数据处理提出了挑战。因此,这些数据可能极少被访问,浪费数据的存储成本,无法产生价值。
[0003]在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。

技术实现思路

[0004]本公开提供了一种数据查询方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005]根据本公开的一方面,提供了一种数据查询方法。该方法包括:获取基于结构化查询语言的数据查询指令,数据查询指令指示待查询的至少一个字段,并且指示作为数据源的数据表的条件;对数据查询指令进行解析,以获取数据查询任务;以及执行数据查询任务。数据查询任务包括:从数据系统中查询符合条件的至少一个数据表作为数据源,至少一个数据表包括无模式数据;从至少一个数据表中查询至少一个字段;响应于在至少一个数据表中查询到至少一个字段中的第一字段,读取第一字段作为查询结果的一部分;以及响应于在至少一个数据表中未查询到至少一个字段中的第二字段,将空值作为查询结果的一部分。
[0006]根据本公开的另一方面,提供了一种数据查询装置。该装置包括:查询指令获取模块,被配置为获取基于结构化查询语言的数据查询指令,数据查询指令指示待查询的至少一个字段,并且指示作为数据源的数据表的条件;查询指令解析模块,被配置为对数据查询指令进行解析,以获取数据查询任务;以及查询任务执行模块,被配置为执行数据查询任务。数据查询任务包括:从数据系统中查询符合条件的至少一个数据表作为数据源,至少一个数据表包括无模式数据;从至少一个数据表中查询至少一个字段;响应于在至少一个数据表中查询到至少一个字段中的第一字段,读取第一字段作为查询结果的一部分;以及响应于在至少一个数据表中未查询到至少一个字段中的第二字段,将空值作为查询结果的一部分。
[0007]根据本公开的又另一方面,提供了一种计算机设备,包括:至少一个处理器;以及至少一个存储器,其上存储有计算机程序,计算机程序在被至少一个处理器执行时,使至少一个处理器执行上述的数据查询方法。
[0008]根据本公开的再另一方面,提供了一种计算机可读存储介质,其上存储有计算机
程序,计算机程序被处理器执行时,使处理器执行上述的数据查询方法。
[0009]根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述的数据查询方法。
[0010]根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
[0011]在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
[0012]图1是图示出根据示例性实施例的可以在其中实施本文描述的各种方法的示例系统的示意图;
[0013]图2是图示出根据示例性实施例的数据查询方法的流程图;
[0014]图3是图示出根据示例性实施例的图2中的数据查询方法的部分过程的流程图;
[0015]图4A是图示出利用根据示例性实施例的数据查询方法获取到的抽象语法树的示意图;
[0016]图4B是图示出利用根据示例性实施例的数据查询方法获取到的逻辑查询计划的示意图;
[0017]图4C是图示出利用根据示例性实施例的数据查询方法获取到的数据查询任务的示意图;
[0018]图5是图示出根据另一示例性实施例的数据查询方法的流程图;
[0019]图6是图示出根据示例性实施例的数据查询装置的示意性框图;并且
[0020]图7是图示出能够应用于示例性实施例的示例性计算机设备的框图。
具体实施方式
[0021]在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
[0022]在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。如本文使用的,术语“多个”意指两个或更多,并且术语“基于”应解释为“至少部分地基于”。此外,术语“和/或”以及
“……
中的至少一个”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
[0023]如上文所述,大数据场景下的数据多源多样,并且待处理的数据模式很可能随着用户需求的变化而改变。所谓的模式指的是数据表中明确的表结构定义,包括具体的数据列名称以及存储的数据类型。在相关技术中,数据往往分散在多个异构的环境中,为了整合这些异构数据(无模式数据)以便后续查询和利用这些数据,需要在查询数据前对这些数据进行提取、转换和加载(ETL),即对无模式数据进行写时建模(schema on write)。然而,随着数据源类型的增加和数据模式的变化,ETL也愈发复杂,难以实施。此外,基于专用语言的
专用数据分析工具通常具有较高的学习成本,导致即便消耗了较多的人力和物力也无法高效地处理无模式数据。
[0024]鉴于此,本公开提供了一种数据查询方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0025]下面结合附图详细描述本公开的示例性实施例。
[0026]图1是图示出根据示例性实施例的可以在其中实施本文描述的各种方法的示例系统100的示意图。
[0027]参考图1,该系统100包括客户端设备110、服务器120、以及将客户端设备110与服务器120通信地耦合的网络130。
[0028]客户端设备110包括显示器114和可经由显示器114显示的客户端应用(APP)112。客户端应用112可以为运行前需要下载和安装的应用程序或者作为轻量化应用程序的小程序(liteapp)。在客户端应用112为运行前需要下载和安装的应用程序的情况下,客户端应用112可以被预先安装在客户端设备110上并被激活。在客户端应用112为小程序的情况下,用户102可以通过在宿主应用中搜索客户端应用112(例如,通过客户端应用112的名称等)或扫描客户端应用112的图形码(例如,条形码、二维码等)等方式,在客户端设备110上直接运行客户端应用112,而无需安装客户端应用112。在一些实施例中,客户端设备11本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,包括:获取基于结构化查询语言的数据查询指令,所述数据查询指令指示待查询的至少一个字段,并且指示作为数据源的数据表的条件;对所述数据查询指令进行解析,以获取数据查询任务;以及执行所述数据查询任务,所述数据查询任务包括:从数据系统中查询符合所述条件的至少一个数据表作为数据源,所述至少一个数据表包括无模式数据;从所述至少一个数据表中查询所述至少一个字段;响应于在所述至少一个数据表中查询到所述至少一个字段中的第一字段,读取所述第一字段作为查询结果的一部分;以及响应于在所述至少一个数据表中未查询到所述至少一个字段中的第二字段,将空值作为查询结果的一部分。2.根据权利要求1所述的方法,其中,所述数据查询指令包括通配符,所述通配符用于指示作为数据源的数据表的条件,并且从数据系统中查询符合所述条件的至少一个数据表作为数据源包括:遍历所述数据系统中的每个数据表,以从所述数据系统中获取与所述通配符相匹配的所述至少一个数据表。3.根据权利要求1所述的方法,其中,对所述数据查询指令进行解析,以获取数据查询任务包括:对所述数据查询指令进行解析,以获取用于表示所述数据查询指令的语法结构的抽象语法树;根据所述抽象语法树,生成多个查询路径;评估所述多个查询路径中的每个查询路径的物理执行代价;以及将所述多个查询路径中物理执行代价最小的查询路径确定为所述数据查询任务。4.根据权利要求1所述的方法,其中,所述数据查询指令还指示对所述至少一个字段中的第三字段进行运算,并且所述数据查询任务还包括:确定所述第三字段的字段类型是否与所述运算要求的字段类型匹配;响应于确定所述第三字段的字段类型与所述运算要求的字段类型不匹配,将所述第三字段的字段类型转换为符合所述运算要求的字段类型;以及对经转换的第三字段进行运算,以将运算结果作为查询结果的一部分。5.根据权利要求4所述的方法,其中,响应于确定所述第三字段的字段类型与所述运算要求的字段类型不匹配,将所述第三字段的字段类型转换为符合所述运算要求的字段类型包括:响应于所述第三字段的字段类型无法被转换,将空值作为查询结果的一部分或发出提示信息。6.根据权利要求1至5中任一项所述的方法,还...

【专利技术属性】
技术研发人员:倪跃李晨曦彭江涛俞子丰张子默
申请(专利权)人:上海炎凰数据科技有限公司
类型:发明
国别省市:

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

1