CN108268612A - 一种基于olap预计算模型的预校验方法及预校验*** - Google Patents

一种基于olap预计算模型的预校验方法及预校验*** Download PDF

Info

Publication number
CN108268612A
CN108268612A CN201711479602.XA CN201711479602A CN108268612A CN 108268612 A CN108268612 A CN 108268612A CN 201711479602 A CN201711479602 A CN 201711479602A CN 108268612 A CN108268612 A CN 108268612A
Authority
CN
China
Prior art keywords
model
sentence
target query
matching
interrogation
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.)
Granted
Application number
CN201711479602.XA
Other languages
English (en)
Other versions
CN108268612B (zh
Inventor
李栋
廖胜平
李扬
韩卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Kui Chi Information Technology Co Ltd
Original Assignee
Shanghai Kui Chi Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Kui Chi Information Technology Co Ltd filed Critical Shanghai Kui Chi Information Technology Co Ltd
Priority to CN201711479602.XA priority Critical patent/CN108268612B/zh
Priority to US15/766,820 priority patent/US20230315733A1/en
Priority to PCT/CN2018/073319 priority patent/WO2019127743A1/zh
Publication of CN108268612A publication Critical patent/CN108268612A/zh
Application granted granted Critical
Publication of CN108268612B publication Critical patent/CN108268612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2423Interactive query statement specification based on a database schema
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan 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预计算模型的后反馈最大局限在于无法在模型构建前根据先验知识(即现有的业务查询需要)预判出模型的设计是否满足查询。这样可能导致需要反复地进行模型构建和查询校验过程,反复的构建浪费大量的时间和存储成本,查询校验过程需要专家花费精力对问题进行定位和对模型给出修改方法,这些过程都提高了模型的使用成本。
发明内容
本发明所要解决的技术问题是:现有技术中无法预先判定现有模型是否满足查询,导致需要反复地进行模型构建和查询校验,以至于反复的构建模型浪费大量的时间和存储成本。
为解决上面的技术问题,本发明提供了一种基于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 (10)

1.一种基于OLAP预计算模型的预校验方法,其特征在于,该预校验方法包括:
S1,获取目标查询语句;
S2,在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型,同时收集查询过程中与所述目标查询语句对应的查询日志,其中N为大于或者等于1的整数;
S3,对所述查询日志进行分析,根据分析结果判断在所述N个查询模型中是否存在匹配模型;
S4,若不存在,则根据所述分析结果、所述目标查询语句和用户设定的数据模型,确定对预选定模型进行修改的修改信息,使得修改后的所述预选定模型与所述目标查询语句相匹配。
2.根据权利要求1所述的预校验方法,其特征在于,
当所述目标查询语句的类型是由多个子查询语句组成的复杂语句时,则S2具体包括:
在所述N个查询模型中逐一查找与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志;
S3具体包括:
分别对所述多个查询日志进行分析,根据多个分析结果判断在所述N个查询模型中是否存在与任一子查询语句都匹配的模型;
S4具体包括:
若存在,则将与任一子查询语句都匹配的模型标记为所述预选定模型。
3.根据权利要求1或2所述的预校验方法,其特征在于,所述在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型包括:
根据所述目标查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及所述目标查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与所述目标查询语句匹配的模型。
4.根据权利要求2所述的预校验方法,其特征在于,在所述N个查询模型中逐一查找与每个子查询语句匹配的模型包括:
根据每个子查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及每个子查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与每个子查询语句匹配的模型。
5.根据权利要求3所述的预校验方法,其特征在于,所述S4中则根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的修改信息,以根据所述修改信息对预选定模型进行修改包括:
根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的表、度量和维度,并将所述匹配模型的表、度量和维度增加到所述预选定模型中。
6.一种基于OLAP预计算模型的预校验***,其特征在于,该预校验***包括:获取模块、查询引擎、查询校验模块;
所述获取模块,用于获取目标查询语句;
所述查询引擎,用于在预设的N个查询模型中逐一查找与所述目标查询语句匹配的模型,同时收集查询过程中与所述目标查询语句对应的查询日志,其中N为大于或者等于1的整数;
所述查询校验模块,用于对所述查询日志进行分析,根据分析结果判断在所述N个查询模型中是否存在匹配模型;还用于当不存在匹配模型时,根据所述分析结果、所述目标查询语句和用户设定的数据模型,确定对预选定模型进行修改的修改信息,使得修改后的所述预选定模型与所述目标查询语句相匹配。
7.根据权利要求6所述的预校验***,其特征在于,所述查询引擎,还用于当所述目标查询语句的类型是由多个子查询语句组成的复杂语句时,则在所述N个查询模型中逐一查找与每个子查询语句匹配的模型,同时收集查询过程中与多个子查询语句分别对应的多个查询日志。
8.根据权利要求7所述的预校验***,其特征在于,所述查询引擎,还用于分别对所述多个查询日志进行分析,根据多个分析结果判断在所述N个查询模型中是否存在与任一子查询语句都匹配的模型;
若存在,则将与任一子查询语句都匹配的模型标记为所述预选定模型。
9.根据权利要求6-8任一所述的预校验***,其特征在于,所述查询引擎,具体用于根据所述目标查询语句使用的表与在预设N个查询模型中预定义的逻辑表之间的关系,以及所述目标查询语句使用的维度与在预设N个查询模型中预定义的维度之间的关系,在预设N个查询模型中逐一查找与所述目标查询语句匹配的模型。
10.根据权利要求9所述的预校验***,其特征在于,所述查询校验模块,具体用于根据所述分析结果、所述目标查询语句和用户给定的数据模型,确定匹配模型的表、度量和维度,并将所述匹配模型的表、度量和维度增加到所述预选定模型中。
CN201711479602.XA 2017-12-29 2017-12-29 一种基于olap预计算模型的预校验方法及预校验*** Active CN108268612B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201711479602.XA CN108268612B (zh) 2017-12-29 2017-12-29 一种基于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
PCT/CN2018/073319 WO2019127743A1 (zh) 2017-12-29 2018-01-19 一种基于olap预计算模型的预校验方法及预校验***

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 true CN108268612A (zh) 2018-07-10
CN108268612B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020187021A1 (zh) * 2019-03-20 2020-09-24 跬云(上海)信息科技有限公司 数据模型匹配方法和装置
CN113407801A (zh) * 2021-06-04 2021-09-17 跬云(上海)信息科技有限公司 云计算索引推荐方法及***
CN113505276A (zh) * 2021-06-21 2021-10-15 跬云(上海)信息科技有限公司 预计算模型的评分方法、装置、设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918561A (zh) * 2021-09-10 2022-01-11 上海跬智信息技术有限公司 基于云上分析场景的混合查询方法和***、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US10210234B2 (en) * 2008-03-24 2019-02-19 Jda Software Group, 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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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预计算模型、自动建模方法及自动建模***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020187021A1 (zh) * 2019-03-20 2020-09-24 跬云(上海)信息科技有限公司 数据模型匹配方法和装置
CN113407801A (zh) * 2021-06-04 2021-09-17 跬云(上海)信息科技有限公司 云计算索引推荐方法及***
CN113407801B (zh) * 2021-06-04 2023-11-28 跬云(上海)信息科技有限公司 云计算索引推荐方法及***
CN113505276A (zh) * 2021-06-21 2021-10-15 跬云(上海)信息科技有限公司 预计算模型的评分方法、装置、设备和存储介质
WO2022267183A1 (zh) * 2021-06-21 2022-12-29 跬云(上海)信息科技有限公司 预计算模型的评分方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN108268612B (zh) 2021-05-25
US20230315733A1 (en) 2023-10-05
WO2019127743A1 (zh) 2019-07-04

Similar Documents

Publication Publication Date Title
CN108268612A (zh) 一种基于olap预计算模型的预校验方法及预校验***
JP4410681B2 (ja) 相関基準を用いてデータにアクセスする方法
US7610264B2 (en) Method and system for providing a learning optimizer for federated database systems
US7343370B2 (en) Plan generation in database query optimizers through specification of plan patterns
US8914354B2 (en) Cardinality and selectivity estimation using a single table join index
US20060074881A1 (en) Structure independent searching in disparate databases
EP1492032A3 (en) Intermediate language method and system for data source querying
EP1598756A3 (en) Method and system for indexing and searching databases
Hulgeri et al. AniPQO: Almost non-intrusive parametric query optimization for nonlinear cost functions
CN104462351B (zh) 一种面向MapReduce范型的数据查询模型与方法
CN106227788A (zh) 一种以Lucene为基础的数据库查询方法
Jeffery et al. Arnold: Declarative Crowd-Machine Data Integration.
Ramadhan et al. MusQ: a Multi-store query system for iot data using a datalog-like language
US20070219943A1 (en) Transforming SQL Queries with Table Subqueries
Mishra et al. A lightweight online framework for query progress indicators
CN102637202B (zh) 一种迭代式概念属性名称自动获取方法和***
Döhmen et al. Gitschemas: A dataset for automating relational data preparation tasks
Barioni et al. Seamlessly integrating similarity queries in SQL
US20100030733A1 (en) Transforming SQL Queries with Table Subqueries
US20090030896A1 (en) Inference search engine
CN110134686A (zh) 一种中文关键词模糊查询的索引创建方法及***
Sakr et al. An overview of graph indexing and querying techniques
Schneider et al. SimDataMapper: An Architectural Pattern to Integrate Declarative Similarity Matching into Database Applications.
Mason et al. INFER: A relational query language without the complexity of SQL
Rishe et al. Knowledge Management for Database Interoperability

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