CN108268612B - 一种基于olap预计算模型的预校验方法及预校验系统 - Google Patents
一种基于olap预计算模型的预校验方法及预校验系统 Download PDFInfo
- Publication number
- CN108268612B CN108268612B CN201711479602.XA CN201711479602A CN108268612B CN 108268612 B CN108268612 B CN 108268612B CN 201711479602 A CN201711479602 A CN 201711479602A CN 108268612 B CN108268612 B CN 108268612B
- Authority
- CN
- China
- Prior art keywords
- query
- model
- models
- statement
- target
- 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.)
- Active
Links
Images
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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
-
- 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/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- 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/242—Query formulation
- G06F16/2423—Interactive query statement specification based on a database schema
-
- 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/2452—Query translation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于OLAP预计算模型的预校验方法及预校验系统,该预校验方法包括:获取目标查询语句;在预设的N个查询模型中逐一查找与目标查询语句匹配的模型,同时收集查询日志;对查询日志进行分析,根据分析结果判断在N个查询模型中是否存在匹配模型;若不存在,则根据分析结果、目标查询语句和用户设定的数据模型,确定对预选定模型进行修改的修改信息。还涉及一种系统,该系统包括:获取模块、查询引擎、查询校验模块。本发明通过预先在N个模型中进行预演查询,按照目标查询语句逐一在N个模型中进行查询,可以及时查找出是否存在的匹配模型,这样不需要反复地对模型进行构建和查询校验,大大地减少了时间和存储成本。
Description
技术领域
本发明属于OLAP预计算信息领域,尤其涉及一种基于OLAP预计算模型的校验方法及预校验系统。
背景技术
OLAP预计算模型的后反馈过程是在模型构建完成后通过业务查询结果来判别构建的模型是否满足要求,并通过对结果或中间过程日志进行分析来改进现有的模型设计,然后再次构建,重复上述过程,以使所有的业务查询能够在构建的模型中得到正确的结果,但是现有OLAP预计算模型的后反馈最大局限在于无法在模型构建前根据先验知识(即现有的业务查询需要)预判出模型的设计是否满足查询。这样可能导致需要反复地进行模型构建和查询校验过程,反复的构建浪费大量的时间和存储成本,查询校验过程需要专家花费精力对问题进行定位和对模型给出修改方法,这些过程都提高了模型的使用成本。
发明内容
本发明所要解决的技术问题是:现有技术中无法预先判定现有模型是否满足查询,导致需要反复地进行模型构建和查询校验,以至于反复的构建模型浪费大量的时间和存储成本。
为解决上面的技术问题,本发明提供了一种基于OLAP预计算模型的预校验方法,该预校验方法包括:
S1,获取目标查询语句;
S2,在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型,同时收集查询过程中与所述目标查询语句对应的查询日志,其中N为大于或者等于1的整数;
S3,对所述查询日志进行分析,根据分析结果判断在所述N个查询模型中是否存在匹配模型;
S4,若不存在,则根据所述分析结果、所述目标查询语句和用户设定的数据模型,确定对预选定模型进行修改的修改信息,使得修改后的所述预选定模型与所述目标查询语句相匹配。
本发明的有益效果:通过预先在N个模型中进行预演查询,按照目标查询语句逐一在N个模型中进行查询,可以及时查找出是否存在的匹配模型,当不存在时,可以反馈修改建议,对模型进行修改,这样可以预先判定N个模型是否存在满足查询的模型,不需要反复地对模型进行构建和查询校验,大大地减少了时间和存储成本。
进一步地,当所述目标查询语句的类型是由多个子查询语句组成的复杂语句时,则S2具体包括:
在所述N个查询模型中逐一查找与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志;
S3具体包括:
分别对所述多个查询日志进行分析,根据多个分析结果判断在所述N个查询模型中是否存在与任一子查询语句都匹配的模型;
S4具体包括:
若存在,则将与任一子查询语句都匹配的模型标记为所述预选定模型。
上述进一步地有益效果:当目标查询语句是由多个子查询语句组成的复杂语句时,将这个目标查询语句拆分成多个子查询语句,再根据这些子查询语句进行逐一查询,当存在一个模型与这些子查询语句都匹配时,则说明在N模型中存在一个匹配模型,则将该匹配模型标记为预选定模型,这样可以大大提高校验模型的时间和节约成本,同时通过多个子查询语句进行查询,可以大大提高查询的精确度。
进一步地,所述在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型包括:
根据所述目标查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及所述目标查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与所述目标查询语句匹配的模型。
进一步地,在所述N个查询模型中逐一查找与每个子查询语句匹配的模型包括:
根据每个子查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及每个子查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与每个子查询语句匹配的模型。
进一步地,所述S4中则根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的修改信息,以根据所述修改信息对预选定模型进行修改包括:
根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的表、度量和维度,并将所述匹配模型的表、度量和维度增加到所述预选定模型中。
上述进一步地有益效果:根据对查询日志的分析结果,确定了匹配模型的表、度量和维度,这样可以按照需求对应的修改模型,得到匹配的模型,可以大大缩短时间和节约成本。
本发明还涉及一种基于OLAP预计算模型的预校验系统,该预校验系统包括:获取模块、查询引擎、查询校验模块;
所述获取模块,用于获取目标查询语句;
所述查询引擎,用于在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型,同时收集查询过程中与所述目标查询语句对应的查询日志,其中N为大于或者等于1的整数;
所述查询校验模块,用于对所述查询日志进行分析,根据分析结果判断在所述N个查询模型中是否存在匹配模型;还用于当不存在匹配模型时,根据所述分析结果、所述目标查询语句和用户设定的数据模型,确定对预选定模型进行修改的修改信息,使得修改后的所述预选定模型与所述目标查询语句相匹配。
本发明的有益效果:通过预先在N个模型中进行预演查询,按照目标查询语句逐一在N个模型中进行查询,可以及时查找出是否存在的匹配模型,当不存在时,可以反馈修改建议,对模型进行修改,这样可以预先判定N个模型是否存在满足查询的模型,不需要反复地对模型进行构建和查询校验,大大地减少了时间和存储成本。
进一步地,所述查询引擎,还用于当所述目标查询语句的类型是由多个子查询语句组成的复杂语句时,则在所述N个查询模型中逐一查找与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志。
进一步地,所述查询引擎,还用于分别对所述多个查询日志进行分析,根据多个分析结果判断在所述N个查询模型中是否存在与任一子查询语句都匹配的模型;
若存在,则将与任一子查询语句都匹配的模型标记为所述预选定模型。
上述进一步地有益效果:当目标查询语句是由多个子查询语句组成的复杂语句时,将这个目标查询语句拆分成多个子查询语句,再根据这些子查询语句进行逐一查询,当存在一个模型与这些子查询语句都匹配时,则说明在N模型中存在一个匹配模型,则将该匹配模型标记为预选定模型,这样可以大大提高校验模型的时间和节约成本,同时通过多个子查询语句进行查询,可以大大提高查询的精确度。
进一步地,所述查询引擎,具体用于根据所述目标查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及所述目标查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与所述目标查询语句匹配的模型。
进一步地,所述查询校验模块,具体用于根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的表、度量和维度,并将所述匹配模型的表、度量和维度增加到所述预选定模型中。
上述进一步地有益效果:根据对查询日志的分析结果,确定了匹配模型的表、度量和维度,这样可以按照需求对应的修改模型,得到匹配的模型,可以大大缩短时间和节约成本。
附图说明
图1为本发明的一种基于OLAP预计算模型的预校验方法的流程图;
图2为本发明的一种基于OLAP预计算模型的预校验系统的示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本发明实施例1提供的是一种基于OLAP预计算模型的预校验方法,该预校验方法包括:
S1,获取目标查询语句;
S2,在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型,同时收集查询过程中与所述目标查询语句对应的查询日志,其中N为大于或者等于1的整数;
S3,对所述查询日志进行分析,根据分析结果判断在所述N个查询模型中是否存在匹配模型;
S4,若不存在,则根据所述分析结果、所述目标查询语句和用户设定的数据模型,确定对预选定模型进行修改的修改信息,使得修改后的所述预选定模型与所述目标查询语句相匹配。
可以理解的是,在本实施例1中是先根据用户输入的目标查询语句,SQL解析器对这些目标查询语句(即SQL语句)进行分析,判断这些目标查询语句的逻辑结构,同时根据这些目标查询语句在预设的N个查询模型中逐一查找与该目标查询语句匹配的模型,并且收集查询过程中与该目标查询语句对应的查询日志,其中N为大于或者等于1的整数。
本实施例1中通过预先在N个模型中进行预演查询,按照目标查询语句逐一在N个模型中进行查询,可以及时查找出是否存在的匹配模型,当不存在时,可以反馈修改建议,对模型进行修改,这样可以预先判定N个模型是否存在满足查询的模型,不需要反复地对模型进行构建和查询校验,大大地减少了时间和存储成本。
可选地,在另一实施例2中当所述目标查询语句的类型是由多个子查询语句组成的复杂语句时,则S2具体包括:
在所述N个查询模型中逐一查找与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志;
S3具体包括:
分别对所述多个查询日志进行分析,根据多个分析结果判断在所述N个查询模型中是否存在与任一子查询语句都匹配的模型;
S4具体包括:
若存在,则将与任一子查询语句都匹配的模型标记为所述预选定模型。
可以理解的是,在本实施例2中当目标查询语句是一个由多个子查询语句组成的复杂语句时,分别将这多个子查询语句逐一在N个查询模型中进行查找,查找出与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志,比如:每个子查询语句都在N个查询模型中查找一遍,当每个子查询语句都执行了一次后,再进行一次过滤,比如:第一个子查询语句查询一次,有10个匹配模型;第二个子查询语句查询一次,有7个匹配模型;第三个子查询语句查询一次,有4个匹配模型;再将这三个子查询语句查询到的匹配模型进行过滤,筛选出一个或者2个与这3个子查询语句都匹配的模型,则说明在这N个模型中存在一个或者多个与该目标查询语句匹配的模型,表明在N个模型中是存在匹配模型的,因此,可以了解到用户在这N个模型中选定的模型是支持该目标查询语句的查询的。
可选地,在另一实施例3中所述在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型包括:
根据所述目标查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及所述目标查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与所述目标查询语句匹配的模型。
可以理解的是,在本实施例3中是根据目标查询语句使用的表和每个模型使用的表之间进行关系查询,也根据目标查询语句使用的维度和每个模型使用的维度之间进行关系查询,这样可以逐一查找出与该目标查询语句匹配的模型。
可选地,在另一实施例4中在所述N个查询模型中逐一查找与每个子查询语句匹配的模型包括:
根据每个子查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及每个子查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与每个子查询语句匹配的模型。
可以理解的是,本实施例4是在上述实施例2的基础上进行的另一实施例的方案。
可选地,在另一实施例5中所述S4中则根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的修改信息,以根据所述修改信息对预选定模型进行修改包括:
根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的表、度量和维度,并将所述匹配模型的表、度量和维度增加到所述预选定模型中。
可以理解的是,在本实施例4中是在上述实施例3的基础上进行的改进方案,这样是可以按照需求对应的修改模型,得到匹配的模型,可以大大缩短时间和节约成本。
在上述所有的实施例中OLAP预计算模型进行查询的具体流程如下:
●初始化success=true,reasons=[];
●遍历SQL查询中每一个子查询;
●判断子查询在查询日志中是否有命中的模型,如果没有,success=false,并把不能命中的原因加入到reasons中;
●遍历完所有的子查询,判断success是否为true,是则该模型可以支持目标查询,反之则不能;
●如果模型不能支持目标查询,通过对reasons的类型匹配和详细信息的正则匹配,提取出关键信息,给出不能支持的原因和给出建议。
以查询列不存在为例,OLAP模型定义了若干维度,而目标查询SQL用了模型外的维度。
在查询预演时,查询引擎会根据SQL中使用的表以及表之间的关联关系匹配到该模型,然后对SQL中使用的维度和模型中定义的维度一一对比,发现目标SQL中使用了模型中未定义的维度,查询引擎返回结果为查询失败,日志埋点收集到的日志信息为[column1,column 2,…,column n]在模型中无法找到,那么模型建议模块通过解析到该类型错误,给出的建议为:添加[column 1,column 2,…,column n]作为维度列加入到模型中。
如图2所示,本发明实施例6中还涉及一种基于OLAP预计算模型的预校验系统,该预校验系统包括:获取模块、查询引擎、查询校验模块;
所述获取模块,用于获取目标查询语句;
所述查询引擎,用于在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型,同时收集查询过程中与所述目标查询语句对应的查询日志,其中N为大于或者等于1的整数;
所述查询校验模块,用于对所述查询日志进行分析,根据分析结果判断在所述N个查询模型中是否存在匹配模型;还用于当不存在匹配模型时,根据所述分析结果、所述目标查询语句和用户设定的数据模型,确定对预选定模型进行修改的修改信息,使得修改后的所述预选定模型与所述目标查询语句相匹配。
可以理解的是,在本实施例6中是先根据用户输入的目标查询语句,SQL解析器对这些目标查询语句(即SQL语句)进行分析,判断这些目标查询语句的逻辑结构,同时根据这些目标查询语句在预设的N个查询模型中逐一查找与该目标查询语句匹配的模型,并且收集查询过程中与该目标查询语句对应的查询日志,其中N为大于或者等于1的整数。
本实施例6中通过预先在N个模型中进行预演查询,按照目标查询语句逐一在N个模型中进行查询,可以及时查找出是否存在的匹配模型,当不存在时,可以反馈修改建议,对模型进行修改,这样可以预先判定N个模型是否存在满足查询的模型,不需要反复地对模型进行构建和查询校验,大大地减少了时间和存储成本。
可选地,在另一实施例7中所述查询引擎,还用于当所述目标查询语句的类型是由多个子查询语句组成的复杂语句时,则在所述N个查询模型中逐一查找与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志。
可以理解的是,本实施例7是在上述实施例6的基础上进行的另一实施例方案。
可选地,在另一实施例8中所述查询引擎,还用于分别对所述多个查询日志进行分析,根据多个分析结果判断在所述N个查询模型中是否存在与任一子查询语句都匹配的模型;
若存在,则将与任一子查询语句都匹配的模型标记为所述预选定模型。
可以理解的是,本实施例8是在上述实施例7的基础上进行的另一实施例方案,在本实施例8中当目标查询语句是一个由多个子查询语句组成的复杂语句时,分别将这多个子查询语句逐一在N个查询模型中进行查找,查找出与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志,比如:每个子查询语句都在N个查询模型中查找一遍,当每个子查询语句都执行了一次后,再进行一次过滤,比如:第一个子查询语句查询一次,有10个匹配模型;第二个子查询语句查询一次,有7个匹配模型;第三个子查询语句查询一次,有4个匹配模型;再将这三个子查询语句查询到的匹配模型进行过滤,筛选出一个或者2个与这3个子查询语句都匹配的模型,则说明在这N个模型中存在一个或者多个与该目标查询语句匹配的模型,表明在N个模型中是存在匹配模型的,因此,可以了解到用户在这N个模型中选定的模型是支持该目标查询语句的查询的。
通过本实施例8当目标查询语句是由多个子查询语句组成的复杂语句时,将这个目标查询语句拆分成多个子查询语句,再根据这些子查询语句进行逐一查询,当存在一个模型与这些子查询语句都匹配时,则说明在N模型中存在一个匹配模型,则将该匹配模型标记为预选定模型,这样可以大大提高校验模型的时间和节约成本,同时通过多个子查询语句进行查询,可以大大提高查询的精确度。
可选地,在另一实施例9中所述查询引擎,具体用于根据所述目标查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及所述目标查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与所述目标查询语句匹配的模型。
可以理解的是,本实施例9是在上述实施例6、实施例7或者实施例8的基础上进行的另一实施例方案,在本实施例9中是根据目标查询语句使用的表和每个模型使用的表之间进行关系查询,也根据目标查询语句使用的维度和每个模型使用的维度之间进行关系查询,这样可以逐一查找出与该目标查询语句匹配的模型。
可选地,在另一实施例10中所述查询校验模块,具体用于根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的表、度量和维度,并将所述匹配模型的表、度量和维度增加到所述预选定模型中。
可以理解的是,本实施例10是在上述实施例9中进行的另一实施方案,在本实施例4中是在上述实施例3的基础上进行的改进方案,这样是可以按照需求对应的修改模型,得到匹配的模型,可以大大缩短时间和节约成本。
在上述所有的实施例中OLAP预计算模型进行查询的具体流程如下:
●初始化success=true,reasons=[];
●遍历SQL查询中每一个子查询;
●判断子查询在查询日志中是否有命中的模型,如果没有,success=false,并把不能命中的原因加入到reasons中;
●遍历完所有的子查询,判断success是否为true,是则该模型可以支持目标查询,反之则不能;
●如果模型不能支持目标查询,通过对reasons的类型匹配和详细信息的正则匹配,提取出关键信息,给出不能支持的原因和给出建议。
以查询列不存在为例,OLAP模型定义了若干维度,而目标查询SQL用了模型外的维度。
在查询预演时,查询引擎会根据SQL中使用的表以及表之间的关联关系匹配到该模型,然后对SQL中使用的维度和模型中定义的维度一一对比,发现目标SQL中使用了模型中未定义的维度,查询引擎返回结果为查询失败,日志埋点收集到的日志信息为[column1,column 2,…,column n]在模型中无法找到,那么模型建议模块通过解析到该类型错误,给出的建议为:添加[column 1,column 2,…,column n]作为维度列加入到模型中。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于OLAP预计算模型的预校验方法,其特征在于,该预校验方法包括:
S1,获取目标查询语句;
S2,在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型,同时收集查询过程中与所述目标查询语句对应的查询日志,其中N为大于或者等于1的整数;
S3,对所述查询日志进行分析,根据分析结果判断在所述N个查询模型中是否存在匹配模型;
S4,若不存在,则根据所述分析结果、所述目标查询语句和预选定模型,确定对所述预选定模型进行修改的修改信息,使得修改后的所述预选定模型与所述目标查询语句相匹配;
当所述目标查询语句的类型是由多个子查询语句组成的复杂语句时,则S2具体包括:
在所述N个查询模型中逐一查找与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志;
S3具体包括:
分别对所述多个查询日志进行分析,根据多个分析结果判断在所述N个查询模型中是否存在与任一子查询语句都匹配的模型;
S4具体包括:
若存在,则将与任一子查询语句都匹配的模型标记为所述预选定模型。
2.根据权利要求1所述的预校验方法,其特征在于,所述在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型包括:
根据所述目标查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及所述目标查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与所述目标查询语句匹配的模型。
3.根据权利要求1所述的预校验方法,其特征在于,在所述N个查询模型中逐一查找与每个子查询语句匹配的模型包括:
根据每个子查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及每个子查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与每个子查询语句匹配的模型。
4.根据权利要求2所述的预校验方法,其特征在于,所述S4中则根据所述分析结果、所述目标查询语句和预选定模型,确定对所述预选定模型的修改信息,以根据所述修改信息对预选定模型进行修改包括:
根据所述分析结果、所述目标查询语句和所述预选定模型,确定所述预选定模型的表、度量和维度,并将所述预选定模型的表、度量和维度增加到所述预选定模型中。
5.一种基于OLAP预计算模型的预校验系统,其特征在于,该预校验系统包括:获取模块、查询引擎、查询校验模块;
所述获取模块,用于获取目标查询语句;
所述查询引擎,用于在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型,同时收集查询过程中与所述目标查询语句对应的查询日志,其中N为大于或者等于1的整数;
所述查询校验模块,用于对所述查询日志进行分析,根据分析结果判断在所述N个查询模型中是否存在匹配模型;还用于当不存在匹配模型时,根据所述分析结果、所述目标查询语句和预选定模型,确定对所述预选定模型进行修改的修改信息,使得修改后的所述预选定模型与所述目标查询语句相匹配;
所述查询引擎,还用于当所述目标查询语句的类型是由多个子查询语句组成的复杂语句时,则在所述N个查询模型中逐一查找与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志。
6.根据权利要求5所述的预校验系统,其特征在于,所述查询引擎,还用于分别对所述多个查询日志进行分析,根据多个分析结果判断在所述N个查询模型中是否存在与任一子查询语句都匹配的模型;
若存在,则将与任一子查询语句都匹配的模型标记为所述预选定模型。
7.根据权利要求5或6所述的预校验系统,其特征在于,所述查询引擎,具体用于根据所述目标查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及所述目标查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与所述目标查询语句匹配的模型。
8.根据权利要求7所述的预校验系统,其特征在于,所述查询校验模块,具体用于根据所述分析结果、所述目标查询语句和所述预选定模型,确定所述预选定模型的表、度量和维度,并将所述匹配模型的表、度量和维度增加到所述预选定模型中。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479602.XA CN108268612B (zh) | 2017-12-29 | 2017-12-29 | 一种基于olap预计算模型的预校验方法及预校验系统 |
PCT/CN2018/073319 WO2019127743A1 (zh) | 2017-12-29 | 2018-01-19 | 一种基于olap预计算模型的预校验方法及预校验系统 |
US15/766,820 US20230315733A1 (en) | 2017-12-29 | 2018-01-19 | Pre-checking method and pre-checking system based on the olap pre-calculation model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479602.XA CN108268612B (zh) | 2017-12-29 | 2017-12-29 | 一种基于olap预计算模型的预校验方法及预校验系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108268612A CN108268612A (zh) | 2018-07-10 |
CN108268612B true CN108268612B (zh) | 2021-05-25 |
Family
ID=62773106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711479602.XA Active CN108268612B (zh) | 2017-12-29 | 2017-12-29 | 一种基于olap预计算模型的预校验方法及预校验系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230315733A1 (zh) |
CN (1) | CN108268612B (zh) |
WO (1) | WO2019127743A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992630B (zh) * | 2019-03-20 | 2021-04-30 | 跬云(上海)信息科技有限公司 | 数据模型匹配方法和装置 |
CN113407801B (zh) * | 2021-06-04 | 2023-11-28 | 跬云(上海)信息科技有限公司 | 云计算索引推荐方法及系统 |
CN113505276A (zh) * | 2021-06-21 | 2021-10-15 | 跬云(上海)信息科技有限公司 | 预计算模型的评分方法、装置、设备和存储介质 |
CN113918561A (zh) * | 2021-09-10 | 2022-01-11 | 上海跬智信息技术有限公司 | 基于云上分析场景的混合查询方法和系统、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135994A (zh) * | 2011-03-17 | 2011-07-27 | 新太科技股份有限公司 | 一种基于olap的智能分析方法 |
US20120330996A1 (en) * | 2011-06-27 | 2012-12-27 | International Business Machines Corporation | Multi-granularity hierarchical aggregate selection based on update, storage and response constraints |
US20130275364A1 (en) * | 2012-04-17 | 2013-10-17 | Renmin University Of China | Concurrent OLAP-Oriented Database Query Processing Method |
CN105912603A (zh) * | 2016-04-06 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 网络空间的业务查询方法及装置 |
US20170109397A1 (en) * | 2014-12-19 | 2017-04-20 | International Business Machines Corporation | Isolation anomaly quantification through heuristical pattern detection |
CN106997386A (zh) * | 2017-03-28 | 2017-08-01 | 上海跬智信息技术有限公司 | 一种olap预计算模型、自动建模方法及自动建模系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651055B1 (en) * | 2001-03-01 | 2003-11-18 | Lawson Software, Inc. | OLAP query generation engine |
DE10325260A1 (de) * | 2003-06-03 | 2004-12-30 | Gauss, Ralph | Kunststoffeinspritzeinheit durch Doppelnadel |
WO2009120617A2 (en) * | 2008-03-24 | 2009-10-01 | Jda Software, Inc. | Linking discrete dimensions to enhance dimensional analysis |
CN102254034A (zh) * | 2011-08-08 | 2011-11-23 | 浙江鸿程计算机系统有限公司 | 一种基于bide的olap查询日志挖掘及推荐方法 |
US10902022B2 (en) * | 2017-03-28 | 2021-01-26 | Shanghai Kyligence Information Technology Co., Ltd | OLAP pre-calculation model, automatic modeling method, and automatic modeling system |
-
2017
- 2017-12-29 CN CN201711479602.XA patent/CN108268612B/zh active Active
-
2018
- 2018-01-19 WO PCT/CN2018/073319 patent/WO2019127743A1/zh active Application Filing
- 2018-01-19 US US15/766,820 patent/US20230315733A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135994A (zh) * | 2011-03-17 | 2011-07-27 | 新太科技股份有限公司 | 一种基于olap的智能分析方法 |
US20120330996A1 (en) * | 2011-06-27 | 2012-12-27 | International Business Machines Corporation | Multi-granularity hierarchical aggregate selection based on update, storage and response constraints |
US20130275364A1 (en) * | 2012-04-17 | 2013-10-17 | Renmin University Of China | Concurrent OLAP-Oriented Database Query Processing Method |
US20170109397A1 (en) * | 2014-12-19 | 2017-04-20 | International Business Machines Corporation | Isolation anomaly quantification through heuristical pattern detection |
CN105912603A (zh) * | 2016-04-06 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 网络空间的业务查询方法及装置 |
CN106997386A (zh) * | 2017-03-28 | 2017-08-01 | 上海跬智信息技术有限公司 | 一种olap预计算模型、自动建模方法及自动建模系统 |
Also Published As
Publication number | Publication date |
---|---|
US20230315733A1 (en) | 2023-10-05 |
WO2019127743A1 (zh) | 2019-07-04 |
CN108268612A (zh) | 2018-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108268612B (zh) | 一种基于olap预计算模型的预校验方法及预校验系统 | |
US7958114B2 (en) | Detecting estimation errors in dictinct page counts | |
CN107273506B (zh) | 一种数据库多表联合查询的方法 | |
US11461319B2 (en) | Dynamic database query efficiency improvement | |
US9798772B2 (en) | Using persistent data samples and query-time statistics for query optimization | |
US10769123B2 (en) | Workload-driven recommendations for Columnstore and Rowstore indexes in relational databases | |
US10346401B2 (en) | Query rewriting in a relational data harmonization framework | |
WO2019127744A1 (zh) | 一种olap数据模型自动建模的方法、分类器 | |
CN103631910A (zh) | 一种分布式数据库多列复合查询的系统及方法 | |
Pirzadeh et al. | A performance study of big data analytics platforms | |
CN112685446B (zh) | 通过Elasticsearch数据库的复杂SQL查询方法、装置、处理器及存储介质 | |
Chen et al. | Fast foreign-key detection in microsoft sql server powerpivot for excel | |
US20130144815A1 (en) | Making predictions regarding evaluation of functions for a database environment | |
US7725448B2 (en) | Method and system for disjunctive single index access | |
CN107735781B (zh) | 存储查询结果的方法和装置、计算设备 | |
Peng et al. | Optimizing probabilistic query processing on continuous uncertain data | |
CN109947914A (zh) | 一种基于模板的软件缺陷自动问答方法 | |
US9378229B1 (en) | Index selection based on a compressed workload | |
Wrembel | Data warehouse performance: selected techniques and data structures | |
KR20180109379A (ko) | 관계형 데이터베이스의 조인 방법 | |
Chaudhuri et al. | Diagnosing estimation errors in page counts using execution feedback | |
Blockhaus et al. | Combining two worlds: MonetDB with multi-dimensional index structure support to efficiently query scientific data | |
CN111625553B (zh) | 一种统计信息收集优化方法及系统 | |
US10042942B2 (en) | Transforms using column dictionaries | |
Wang et al. | A provenance storage method based on parallel database |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |