一种多时序表查询场景的组合查询兼容系统技术方案

技术编号:39432094 阅读:16 留言:0更新日期:2023-11-19 16:16
本发明专利技术提供一种多时序表查询场景的组合查询兼容系统,属于时序数据库优化领域,本发明专利技术包含3个模块:属性校验模块,条件拆分模块和查询模块。可以解决模板表组合查询的问题,同时使用户无感知,提升了查询的效率,优化了数据库的性能。据库的性能。据库的性能。

【技术实现步骤摘要】
一种多时序表查询场景的组合查询兼容系统


[0001]本专利技术涉及时序数据库优化领域,尤其涉及一种多时序表查询场景的组合查询兼容系统。

技术介绍

[0002]时序数据库全称为时间序列数据库。时间序列数据库指主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
[0003]在时序查询场景中,通常会有包含统一属性的多时序数据表管理的需求,例如:管理同一个小区内不同户的电力使用情况,每个时序表存储一户的用电数据。要统计此场景信息,数据量大且杂,难以快速精准的定位到符合需求的数据,所以为了方便用户使用,对于此类场景提供一种新型的表结构——模板表,它类似于多个时序表的集合,它会定义一些时序表的数据列和Tag列(时序属性,如户号,用电类型等),其中每个时序表的表结构均相同,集合内的时序表均有自己的数据和Tag,需要查询包含某些Tag的时序表数据,只需要使用Tag条件查询模板表,即可统计出所有符合Tag条件的时序表数据,对于某一个模板表下的时序表称之为实例表。
[0004]模板表的查询既可以包含Tag条件,也可以包含数据列条件,Tag的数据是存放在其他表中,而数据列直接存放在实例表中,查询方式不同,混合查询存在问题。

技术实现思路

[0005]为了解决以上技术问题,本专利技术提供了一种多时序表查询场景的组合查询兼容系统,解决在模板表的数据列和Tag列的混合查询问题。
[0006]本专利技术的技术方案是:
[0007]一种多时序表查询场景的组合查询兼容系统,包含3个模块:属性校验模块,条件拆分模块和查询模块;
[0008]属性校验模块:对模板表的Tag查询设定规则,对规则进行校验,符合规则才能进行过滤;
[0009]条件过滤模块:根据Tag条件和列条件拆分规则对其进行拆分;
[0010]查询模块:根据拆分的条件进行查询和结果合并。
[0011]进一步的,
[0012]操作如下:
[0013]1):用户按照规则创建模板表和实例表;
[0014]2):用户根据Tag和数据列条件进行查询;
[0015]3):根据规则对Tag列条件进行校验;
[0016]4):检查查询条件时是否符合拆分规则,符合则拆分,不符合则替换Tag列条件;
[0017]5):依据新的条件进行查询并返回结果。
[0018]再进一步的,
[0019]对于查询条件中的Tag条件,属性校验模块会根据制定规则对Tag进行校验,不符合的表达式会直接返回报错。
[0020]再进一步的,
[0021]根据拆分规则对查询条件表达式进行拆分,无法拆分的则直接将Tag条件进行替换,改写sql,直接和列条件进行合并查询。
[0022]对于使用And连接的表达式,左右分别包含Tag和列条件,可直接进行拆分。如表达式不可拆分,直接将Tag表达式替换或直接和列表达式进行合并查询。
[0023]再进一步的,
[0024]如果where条件可拆分,则对Tag条件和列条件分别进行查询,之后进行结果组合并返回。
[0025]如where条件不能拆分,则使用替换过Tag条件的where条件直接进行查询返回结果。
[0026]本专利技术的有益效果是
[0027]可以解决模板表组合查询的问题,同时使用户无感知,提升了查询的效率,优化了数据库的性能。
附图说明
[0028]图1是本专利技术的工作流程示意图;
[0029]图2是对查询条件进行拆分流程示意图。
具体实施方式
[0030]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0031]本专利技术提供了一种多时序表查询场景的组合查询兼容系统,包含3个模块:属性校验模块,条件拆分模块和查询模块。
[0032]属性校验模块:对模板表的Tag查询需要设定一些规则,对规则进行一些校验,符合规则才能进行过滤;
[0033]条件过滤模块:根据Tag条件和列条件拆分规则对其进行拆分;
[0034]查询模块:根据拆分的条件进行查询和结果合并
[0035]主要流程如图1所示
[0036]操作1:用户根据Tag和列条件查询模板表
[0037]此操作前默认用户已经按照规则创建了模板表和实例表,用户根据已有的Tag条件和数据列条件查询模板表。
[0038]操作2:对查询条件中的Tag条件进行校验
[0039]Tag的使用需要遵循以下规则:
[0040]tag_where_expr::=<single expr>[AND|OR<single_expr>][0041]single_expr:=<comparison_expr>|<rangecond_expr>
[0042]tuple::=(<const><cast_expr>)
[0043]tag_where_value::=<const>|<tuple>|<function expr_const>
[0044]tag_expr::=<tag>|<tag><binary_operator><const>|<cast_expr_attr>
[0045]comparison_expr::=<tag_expr><comparison_operator><tag_where_value><function_expr_attr><comparison_operator><tag_where_value>
[0046]rangecond_expr::=<tag_expr>BETWEEN<smallint_const|int_const|bigint_const>AND<smalint_const|int_const|bigint_const>
[0047]function_expr_attr::本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多时序表查询场景的组合查询兼容系统,其特征在于,包含3个模块:属性校验模块,条件拆分模块和查询模块;属性校验模块:对模板表的Tag查询设定规则,对规则进行校验,符合规则才能进行过滤;条件过滤模块:根据Tag条件和列条件拆分规则对其进行拆分;查询模块:根据拆分的条件进行查询和结果合并。2.根据权利要求1所述的系统,其特征在于,操作如下:1):用户按照规则创建模板表和实例表;2):用户根据Tag和数据列条件进行查询;3):根据规则对Tag列条件进行校验;4):检查查询条件时是否符合拆分规则,符合则拆分,不符合则替换Tag列条件;5):依据新的条件进行查询并返回结果。3.根据权利要求2所述的系统,其特征在于,对于查询条件中的Tag条件,属性校验模块会根据制定规则对Tag进行校...

【专利技术属性】
技术研发人员:齐亮
申请(专利权)人:上海沄熹科技有限公司
类型:发明
国别省市:

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

1