CN117033425A - 一种多时序表查询场景的组合查询兼容系统 - Google Patents
一种多时序表查询场景的组合查询兼容系统 Download PDFInfo
- Publication number
- CN117033425A CN117033425A CN202311014940.1A CN202311014940A CN117033425A CN 117033425 A CN117033425 A CN 117033425A CN 202311014940 A CN202311014940 A CN 202311014940A CN 117033425 A CN117033425 A CN 117033425A
- Authority
- CN
- China
- Prior art keywords
- query
- condition
- tag
- splitting
- conditions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012795 verification Methods 0.000 claims abstract description 11
- 230000014509 gene expression Effects 0.000 claims description 21
- 238000001914 filtration Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 abstract description 6
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24537—Query rewriting; Transformation of operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种多时序表查询场景的组合查询兼容系统,属于时序数据库优化领域,本发明包含3个模块:属性校验模块,条件拆分模块和查询模块。可以解决模板表组合查询的问题,同时使用户无感知,提升了查询的效率,优化了数据库的性能。
Description
技术领域
本发明涉及时序数据库优化领域,尤其涉及一种多时序表查询场景的组合查询兼容系统。
背景技术
时序数据库全称为时间序列数据库。时间序列数据库指主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
在时序查询场景中,通常会有包含统一属性的多时序数据表管理的需求,例如:管理同一个小区内不同户的电力使用情况,每个时序表存储一户的用电数据。要统计此场景信息,数据量大且杂,难以快速精准的定位到符合需求的数据,所以为了方便用户使用,对于此类场景提供一种新型的表结构——模板表,它类似于多个时序表的集合,它会定义一些时序表的数据列和Tag列(时序属性,如户号,用电类型等),其中每个时序表的表结构均相同,集合内的时序表均有自己的数据和Tag,需要查询包含某些Tag的时序表数据,只需要使用Tag条件查询模板表,即可统计出所有符合Tag条件的时序表数据,对于某一个模板表下的时序表称之为实例表。
模板表的查询既可以包含Tag条件,也可以包含数据列条件,Tag的数据是存放在其他表中,而数据列直接存放在实例表中,查询方式不同,混合查询存在问题。
发明内容
为了解决以上技术问题,本发明提供了一种多时序表查询场景的组合查询兼容系统,解决在模板表的数据列和Tag列的混合查询问题。
本发明的技术方案是:
一种多时序表查询场景的组合查询兼容系统,包含3个模块:属性校验模块,条件拆分模块和查询模块;
属性校验模块:对模板表的Tag查询设定规则,对规则进行校验,符合规则才能进行过滤;
条件过滤模块:根据Tag条件和列条件拆分规则对其进行拆分;
查询模块:根据拆分的条件进行查询和结果合并。
进一步的,
操作如下:
1):用户按照规则创建模板表和实例表;
2):用户根据Tag和数据列条件进行查询;
3):根据规则对Tag列条件进行校验;
4):检查查询条件时是否符合拆分规则,符合则拆分,不符合则替换Tag列条件;
5):依据新的条件进行查询并返回结果。
再进一步的,
对于查询条件中的Tag条件,属性校验模块会根据制定规则对Tag进行校验,不符合的表达式会直接返回报错。
再进一步的,
根据拆分规则对查询条件表达式进行拆分,无法拆分的则直接将Tag条件进行替换,改写sql,直接和列条件进行合并查询。
对于使用And连接的表达式,左右分别包含Tag和列条件,可直接进行拆分。如表达式不可拆分,直接将Tag表达式替换或直接和列表达式进行合并查询。
再进一步的,
如果where条件可拆分,则对Tag条件和列条件分别进行查询,之后进行结果组合并返回。
如where条件不能拆分,则使用替换过Tag条件的where条件直接进行查询返回结果。
本发明的有益效果是
可以解决模板表组合查询的问题,同时使用户无感知,提升了查询的效率,优化了数据库的性能。
附图说明
图1是本发明的工作流程示意图;
图2是对查询条件进行拆分流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种多时序表查询场景的组合查询兼容系统,包含3个模块:属性校验模块,条件拆分模块和查询模块。
属性校验模块:对模板表的Tag查询需要设定一些规则,对规则进行一些校验,符合规则才能进行过滤;
条件过滤模块:根据Tag条件和列条件拆分规则对其进行拆分;
查询模块:根据拆分的条件进行查询和结果合并
主要流程如图1所示
操作1:用户根据Tag和列条件查询模板表
此操作前默认用户已经按照规则创建了模板表和实例表,用户根据已有的Tag条件和数据列条件查询模板表。
操作2:对查询条件中的Tag条件进行校验
Tag的使用需要遵循以下规则:
tag_where_expr::=<single expr>[AND|OR<single_expr>]
single_expr:=<comparison_expr>|<rangecond_expr>
tuple::=(<const><cast_expr>)
tag_where_value::=<const>|<tuple>|<function expr_const>
tag_expr::=<tag>|<tag><binary_operator><const>|<cast_expr_attr>
comparison_expr::=<tag_expr><comparison_operator><tag_where_value><function_expr_attr><comparison_operator><tag_where_value>
rangecond_expr::=<tag_expr>BETWEEN<smallint_const|int_const|bigint_const>AND<smalint_const|int_const|bigint_const>
function_expr_attr::=<function_name>(<tag>)
function_expr_const::=<function_name>([const])
cast_expr::=CAST(<const>AS type)
cast_expr_attr::=CAST(<tag>AS type)
comparison_operator支持范围:
>,>=,!=,<>,IN LIST,NOTIN LIST,LIKE,NOT LIKE,~,!-,~,!
binary_operator支持范围:
&,|,#,+,-,*,/,%,^,||,<<,>>
对于查询条件中的Tag条件,属性校验模块会根据制定规则对Tag进行校验,不符合的表达式会直接返回报错。
操作3:对查询条件进行拆分
流程如图2所示
此操作会根据拆分规则对查询条件表达式进行拆分,无法拆分的则直接将Tag条件进行替换,改写sql,直接和列条件进行合并查询,这样效率会比拆分查询再组合结果低。
对于使用And连接的表达式,左右分别包含Tag和列条件,可以直接进行拆分,如其他表达式,例如Or等,则不可拆分,直接将Tag表达式替换,例如:color=‘red’替换为key=‘color’andvalue=‘red’,直接和列表达式进行合并查询。
操作4:根据拆分结果进行查询并返回结果
如果where条件可以拆分,则对Tag条件和列条件分别进行查询,之后进行结果组合并返回;如不能拆分,则使用替换过Tag条件的where条件直接进行查询返回结果。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种多时序表查询场景的组合查询兼容系统,其特征在于,
包含3个模块:属性校验模块,条件拆分模块和查询模块;
属性校验模块:对模板表的Tag查询设定规则,对规则进行校验,符合规则才能进行过滤;
条件过滤模块:根据Tag条件和列条件拆分规则对其进行拆分;
查询模块:根据拆分的条件进行查询和结果合并。
2.根据权利要求1所述的系统,其特征在于,
操作如下:
1):用户按照规则创建模板表和实例表;
2):用户根据Tag和数据列条件进行查询;
3):根据规则对Tag列条件进行校验;
4):检查查询条件时是否符合拆分规则,符合则拆分,不符合则替换Tag列条件;
5):依据新的条件进行查询并返回结果。
3.根据权利要求2所述的系统,其特征在于,
对于查询条件中的Tag条件,属性校验模块会根据制定规则对Tag进行校验,不符合的表达式会直接返回报错。
4.根据权利要求3所述的系统,其特征在于,
根据拆分规则对查询条件表达式进行拆分,无法拆分的则直接将Tag条件进行替换,改写sql,直接和列条件进行合并查询。
5.根据权利要求4所述的系统,其特征在于,
对于使用And连接的表达式,左右分别包含Tag和列条件,可直接进行拆分。
6.根据权利要求5所述的系统,其特征在于,
如表达式不可拆分,直接将Tag表达式替换或直接和列表达式进行合并查询。
7.根据权利要求6所述的系统,其特征在于,
如果where条件可拆分,则对Tag条件和列条件分别进行查询,之后进行结果组合并返回。
8.根据权利要求6所述的系统,其特征在于,
如where条件不能拆分,则使用替换过Tag条件的where条件直接进行查询返回结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014940.1A CN117033425A (zh) | 2023-08-14 | 2023-08-14 | 一种多时序表查询场景的组合查询兼容系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311014940.1A CN117033425A (zh) | 2023-08-14 | 2023-08-14 | 一种多时序表查询场景的组合查询兼容系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117033425A true CN117033425A (zh) | 2023-11-10 |
Family
ID=88633183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311014940.1A Pending CN117033425A (zh) | 2023-08-14 | 2023-08-14 | 一种多时序表查询场景的组合查询兼容系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117033425A (zh) |
-
2023
- 2023-08-14 CN CN202311014940.1A patent/CN117033425A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344133B (zh) | 一种数据治理驱动数据共享交换系统及其工作方法 | |
CN110309125A (zh) | 数据校验方法、电子装置及存储介质 | |
CN105164674A (zh) | 涉及多个数据库和执行引擎的查询 | |
CN102708203A (zh) | 一种基于xml元数据的数据库动态管理方法 | |
CN108052635A (zh) | 一种异构数据源统一联合查询方法 | |
CN101710336A (zh) | 一种利用关系中间件加速数据处理的方法 | |
CN114218218A (zh) | 基于数据仓库的数据处理方法、装置、设备及存储介质 | |
CN113642299A (zh) | 一种基于电网统计报表一键生成的方法 | |
CN105975489A (zh) | 一种基于元数据的在线sql代码补全方法 | |
CN112464632A (zh) | 一种excel报表下的表格样式动态存储及转化方法 | |
CN110795431B (zh) | 环境监测数据处理方法、装置、设备及存储介质 | |
CN113282599A (zh) | 数据同步方法及系统 | |
CN110716955A (zh) | 一种快速响应数据查询请求的方法和系统 | |
CN113254457B (zh) | 一种对账方法、系统及计算机可读存储介质 | |
CN113486418B (zh) | 一种bim模型云编码方法及系统 | |
CN114090760A (zh) | 表格问答的数据处理方法、电子设备及可读存储介质 | |
CN117033425A (zh) | 一种多时序表查询场景的组合查询兼容系统 | |
CN111914028A (zh) | 一种基于图增量同步异构数据源数据关系的方法及装置 | |
CN111191432A (zh) | 一种智慧园区大数据快速导入方法 | |
CN115422898A (zh) | 一种基于容器云的可视化自定义报表分析系统 | |
CN112102028B (zh) | 业务数据统一配置和校验方法及系统 | |
CN108388809A (zh) | 一种数据范围控制方法和系统 | |
CN108536758B (zh) | 一种数据库模式的数据表重构方法、装置及系统 | |
CN113032439A (zh) | 一种分库分表结构数据库的查询方法、装置及系统 | |
CN101646191A (zh) | 数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |