CN109992630B - 数据模型匹配方法和装置 - Google Patents

数据模型匹配方法和装置 Download PDF

Info

Publication number
CN109992630B
CN109992630B CN201910213877.1A CN201910213877A CN109992630B CN 109992630 B CN109992630 B CN 109992630B CN 201910213877 A CN201910213877 A CN 201910213877A CN 109992630 B CN109992630 B CN 109992630B
Authority
CN
China
Prior art keywords
target data
data sets
olap
model
data packet
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
Application number
CN201910213877.1A
Other languages
English (en)
Other versions
CN109992630A (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.)
Yunyun Shanghai Information Technology Co ltd
Original Assignee
Yunyun Shanghai 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 Yunyun Shanghai Information Technology Co ltd filed Critical Yunyun Shanghai Information Technology Co ltd
Priority to CN201910213877.1A priority Critical patent/CN109992630B/zh
Publication of CN109992630A publication Critical patent/CN109992630A/zh
Priority to US17/051,011 priority patent/US20220004560A1/en
Priority to PCT/CN2020/077706 priority patent/WO2020187021A1/zh
Application granted granted Critical
Publication of CN109992630B publication Critical patent/CN109992630B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据模型匹配方法和装置。该方法包括确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联;基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个数据分组中包括至少一个目标数据集;对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;将每个数据分组对应的第一OLAP模型输出。本申请可以解决了相关技术中OLAP查询系统包括的OLAP模型需求数量大以及OLAP模型利用率低的技术问题。

Description

数据模型匹配方法和装置
技术领域
本申请涉及数据模型匹配技术领域,具体而言,涉及一种数据模型匹配方法和装置。
背景技术
在当今数据化的时代,如何通过OLAP(Online Analytical Processing,联机分析处理)分析海量、复杂的数据以辅助商业决策,是商务智能和数据分析领域的重要课题;而数据模型就是OLAP分析的基础。OLAP分析的架构底层是数据仓库,包含一系列数据表;建模人员根据业务分析需求,基于这些表设计数据模型供分析人员使用;最终,分析人员的分析操作都会转化为一系列针对数据表的SQL(Structured Query Language,结构化查询语言)查询。数据模型给数据表赋予了业务含义,解耦了数据底层和业务需求的关系,如何有效地关联查询于模型,最大限度的利用OLAP分析来服务业务,是其中非常重要的一个部分。
由于查询引擎中OLAP模型的选择和匹配逻辑比较固定,使得整个过程中对目标模型有着严格的要求,无法适配等价或相近模型。使得系统中的OLAP模型数量会随着查询的不断增加,会对整体系统的存储、管理和运维方面带来困难和挑战。
针对相关技术中OLAP查询系统包括的OLAP模型需求数量大以及OLAP模型利用率低的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据模型匹配方法和装置,以解决相关技术中OLAP查询系统包括的OLAP模型需求数量大以及OLAP模型利用率低的问题。
为了实现上述目的,第一方面,本申请提供了一种数据模型匹配方法,该方法应用于OLAP查询系统中,该方法包括:
确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联;
基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个数据分组中包括至少一个目标数据集;
对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;
将每个数据分组对应的第一OLAP模型输出。
可选地,确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联之后,该方法还包括:
确定数据库中是否存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型;
当数据库中不存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型时,执行基于目标数据集之间的有序关联对至少二个目标数据集进行分解的步骤。
可选地,该方法还包括:
当数据库中存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型时,将第二OLAP模型输出。
可选地,该方法还包括:
当数据分组中仅包括一个目标数据集时,将该数据分组中仅包括的一个目标数据集作为对应该数据分组的第一OLAP模型。
可选地,在将每个数据分组对应的第一OLAP模型输出之前,方法还包括:
确认是否存在未匹配出对应的第一OLAP模型的数据分组;
当存在未匹配出对应的第一OLAP模型的数据分组时,重新执行基于目标数据集之间的有序关联对至少二个目标数据集进行分解的步骤,以得到与上一次分解不同的数据分组。
第二方面,本申请还提供了一种数据模型匹配装置,该装置应用于OLAP查询系统中,该装置包括:
第一确定模块,用于确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联;
分解模块,用于基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个数据分组中包括至少一个目标数据集;
第一匹配模块,用于对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;
第一输出模块,用于将每个数据分组对应的第一OLAP模型输出。
可选地,该装置还包括第二确定模块;
第二确定模块,用于确定数据库中是否存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型;
分解模块,用于当数据库中不存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型时,执行基于目标数据集之间的有序关联对至少二个目标数据集进行分解。
可选地,该装置还包括:
设置模块,用于当数据分组中仅包括一个目标数据集时,将该数据分组中仅包括的一个目标数据集作为对应该数据分组的第一OLAP模型。
第三方面,本申请还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现如上述的数据模型匹配方法。
第四方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机代码,当计算机代码被执行时,上述的数据模型匹配方法被执行。
在本申请提供的数据模型匹配方法中,通过确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联;基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个数据分组中包括至少一个目标数据集;对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;将每个数据分组对应的第一OLAP模型输出。通过上述方法,可以针对查询指令,对所需要查询的至少二个目标数据集进行有序关联分解,在对于每个分解得到的数据分组进行OLAP模型匹配,进而输出对应该查询指令的多个相关联的OLAP模型,这样,能够大幅度提高对于查询指令进行OLAP模型匹配的成功率,能够极大提高OLAP模型查询匹配的支持度,进而为执行查询指令保留了通过OLAP模型进行预计算带来的分析加速优势;而且,通过上述方法同时放大了OLAP数据模型的适用范围,降低了OLAP模型需求数量,提高了OLAP模型利用率,最大限度地复用已有OLAP模型;从而解决了相关技术中OLAP查询系统包括的OLAP模型需求数量大以及OLAP模型利用率低的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例提供的一种数据模型匹配方法的流程示意图;
图2是本申请实施例提供的一种目标数据集之间有序关联的示意图;
图3是本申请实施例提供的另一种数据模型匹配方法的流程示意图;
图4是本申请实施例提供的一种最优OLAP模型的示意图;
图5是本申请实施例提供的一种次优OLAP模型分解的示意图;
图6是本申请实施例提供的一种数据模型匹配装置的结构示意图;
图7是本申请实施例提供的另一种数据模型匹配装置的结构示意图;
图8是本申请实施例提供的另一种数据模型匹配装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本申请的一个方面,本申请实施例提供了一种数据模型匹配方法,该方法应用于OLAP查询系统中,图1是本申请实施例提供的一种数据模型匹配方法的流程示意图,如图1所示,该方法包括如下的步骤100至步骤400:
100,确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联。
其中,查询指令可以由用户通过用户端输入用于查询业务的指令,该查询指令至少包括一个指令字符序列,例如,该查询指令为一个针对SQL业务的SQL查询指令,该查询指令中包含有多个目标数据集的信息以及目标数据集之间的关联信息,进而可以根据关联信息确定目标数据集之间的有序关联,其中,有序关联即为带有关联方向的关联方式,例如,有序关联至少包括单向关联和/或双向关联。
举例说明,查询指令为一个针对SQL业务的SQL查询指令,该查询指令中包含有A、B、C和D四个目标数据集的信息以及目标数据集之间的关联信息,A与B之间的关联信息为INNER JOIN,A与D之间的关联信息为LEFT JOIN,B与C之间的关联信息为LEFT JOIN,因此,可以确定A与D之间的有序关联为A向D的单向关联,B与C之间的有序关联为B向C的单向关联,而A与B之间的关联信息INNER JOIN属于等价关联,即“A INNER JOIN B”和“B INNERJOIN A”可以有统一的表达方式,则A、B、C和D四个目标数据集之间的有序关联如图2所示。
需要说明的是,步骤100中,查询指令所需要查询目标数据集数量可以为至少三个,因为,当一个查询指令所需目标数据集为一个或两个包含有有序关联的目标数据集时,OLAP查询系统可以较为容易匹配出唯一的全局最优OLAP模型,而三个或三个以上的包含有有序关联的目标数据集在OLAP查询系统中不存在对应的最优OLAP模型可能性相对较高。
200,基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个数据分组中包括至少一个目标数据集。
具体的,基于目标数据集之间的有序关联对查询指令所需的全部对应的目标数据集(至少两个目标数据集)进行分解,得到至少两个数据分组,每个数据分组中包括至少一个目标数据集;由于是基于目标数据集之间的有序关联进行分解的,那么当数据分组中包括的目标数据集数量为两个或两个以上时,同一数据分组中的目标数据集之间是存在有序关联的,且不同的数据分组之间由于存在两个数据分组中包括的目标数据集之间是存在有序关联的,也保证了数据分组之间存在有序关联,同时也保证了每个数据分组包括的目标数据集数量均小于查询指令所需的全部对应的目标数据集,因此,每个数据分组更容易匹配到对应的OLAP模型。
举例说明,一个查询指令所需要A、B、C和D四个目标数据集,且A、B、C和D四个目标数据集之间存在如图2所示有序关联,基于A、B、C和D四个目标数据集之间的有序关联对A、B、C和D四个目标数据集进行分解,得到两个数据分组,第一个数据分组包括A和D,第二个数据分组包括B和C,两个数据分组之间的关联是通过通过A和B之间的双向关联实现的。且A和B之间的双向关联,也便于后续OLAP模型之间的数据处理,因此,可以基于目标数据集之间的双向关联进行分解。
300,对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型。
具体的,对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联匹配出对应的该数据分组的第一OLAP模型,具体过程例如可以包括:基于数据分组包括的目标数据集确定仅包含全部目标数据集的OLAP模型,对于每个仅包含有数据分组包括的目标数据集的OLAP模型,将OLAP模型中包含目标数据集是否符合数据分组包括的目标数据集之间的有序关联,当符合时,输出该OLAP模型作为对应该数据分组的第一OLAP模型。
400,将每个数据分组对应的第一OLAP模型输出。
具体的,当每个数据分组均匹配出对应的第一OLAP模型后,将每个数据分组对应的第一OLAP模型输出。这样,能够大幅度提高对于查询指令进行OLAP模型匹配的成功率,极大提高OLAP模型查询匹配的支持度,进而为执行查询指令保留了通过OLAP模型进行预计算带来的分析加速优势;而且,通过上述方法同时放大了OLAP数据模型的适用范围,降低了OLAP模型需求数量,提高了OLAP模型利用率,最大限度地复用已有OLAP模型。
在一个可行的实施方式中,图3是本申请实施例提供的另一种数据模块匹配方法的流程示意图,如图3所示,在步骤100,确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联之后,该方法还包括如下的步骤110和步骤120:
110,确定数据库中是否存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型;
当数据库中不存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型时,执行步骤200,基于目标数据集之间的有序关联对至少二个目标数据集进行分解;
120,当数据库中存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型时,将第二OLAP模型输出。
具体的,在确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联之后,先在数据库匹配是否存在与查询指令所需要查询的全部目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型(其中,第二OLAP模型作为最优OLAP模型),当数据库中存在第二OLAP模型时,直接将第二OLAP模型输出,当数据库中不存在第二OLAP模型时,执行步骤200,以基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,并通过步骤300得到每个数据分组对应的第一OLAP模型(其中,第一OLAP模型作为次优OLAP模型),并通过步骤400将每个数据分组对应的第一OLAP模型输出。
举例说明,一个查询指令所需要A、B、C和D四个目标数据集,且A、B、C和D四个目标数据集之间存在如图2所示有序关联,当数据库中存在对应该查询指令的第二OLAP模型,将第二OLAP模型作为最优OLAP模型输出,如图4所示,当数据库中不存在第二OLAP模型时,通过步骤200,基于A、B、C和D四个目标数据集之间的有序关联对A、B、C和D四个目标数据集进行分解,得到两个数据分组,第一个数据分组包括A和D,第二个数据分组包括B和C,并通过步骤300得到包括A和D的第一个数据分组对应的第一OLAP模型作为次优OLAP模型-1,以及包括B和C的第二个数据分组对应的第一OLAP模型作为次优OLAP模型-2,如图5所示,再通过步骤400,将第一个数据分组对应的第一OLAP模型(次优OLAP模型-1)以及第二个数据分组对应的第一OLAP模型作(次优OLAP模型-2)输出。
在一个可行的实施方式中,该方法还包括:
当数据分组中仅包括一个目标数据集时,将该数据分组中仅包括的一个目标数据集作为对应该数据分组的第一OLAP模型。
具体的,当数据分组中仅包括一个目标数据集时,可以将该数据分组中仅包括的一个目标数据集作为对应该数据分组的第一OLAP模型,并与其他数据分组对应的第一OLAP模型一同输出。
在一个可行的实施方式中,在步骤400,将每个数据分组对应的第一OLAP模型输出之前,该方法还包括:
确认是否存在未匹配出对应的第一OLAP模型的数据分组;
当存在未匹配出对应的第一OLAP模型的数据分组时,重新执行步骤200,基于目标数据集之间的有序关联对至少二个目标数据集进行分解,以得到与上一次分解不同的数据分组。
具体的,当存在未匹配出对应的第一OLAP模型的数据分组时,可以确定该数据分组无法匹配到对应的第一OLAP模型,因此,需要重新执行步骤200,以得到与上一次分解不同的数据分组,需要说明的是,在重新执行步骤200时,可以直接未匹配出对应的第一OLAP模型的数据分组进行分解,得到至少两个数据分组(这至少两个数据分组可以视为未匹配出对应的第一OLAP模型的数据分组的子分组),进而继续执行步骤300,以得到这两个数据分组分别对应的第一OLAP模型,本领域的技术人员也可以重新对对查询指令所需的全部对应的目标数据集(至少两个目标数据集)进行重新分解。
在本申请提供的数据模型匹配方法中,通过步骤100,确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联;步骤200,基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个数据分组中包括至少一个目标数据集;步骤300,对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;步骤400,将每个数据分组对应的第一OLAP模型输出。通过上述方法,可以针对查询指令,对所需要查询的至少二个目标数据集进行有序关联分解,在对于每个分解得到的数据分组进行OLAP模型匹配,进而输出对应该查询指令的多个相关联的OLAP模型,这样,能够大幅度提高对于查询指令进行OLAP模型匹配的成功率,能够极大提高OLAP模型查询匹配的支持度,进而为执行查询指令保留了通过OLAP模型进行预计算带来的分析加速优势;而且,通过上述方法同时放大了OLAP数据模型的适用范围,降低了OLAP模型需求数量,提高了OLAP模型利用率,最大限度地复用已有OLAP模型;从而解决了相关技术中OLAP查询系统包括的OLAP模型需求数量大以及OLAP模型利用率低的技术问题。
基于相同的技术构思,本申请还提供了一种数据模型匹配装置,该装置应用于OLAP查询系统中,图6是本申请实施例提供的一种数据模型匹配装置的结构示意图,如图6所示,该装置包括:
第一确定模块10,用于确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联;
分解模块20,用于基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个数据分组中包括至少一个目标数据集;
第一匹配模块30,用于对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;
第一输出模块40,用于将每个数据分组对应的第一OLAP模型输出。
可选地,图7是本申请实施例提供的另一种数据模型匹配装置的结构示意图,如图7所示,该装置还包括第二确定模块50;
第二确定模块50,用于确定数据库中是否存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型;
分解模块20,用于当数据库中不存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型时,执行基于目标数据集之间的有序关联对至少二个目标数据集进行分解。
可选地,图8是本申请实施例提供的另一种数据模型匹配装置的结构示意图,如图8所示,该装置还包括第二输出模块60和第三确定模块70:
第二输出模块60,用于当数据库中存在与查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联对应的第二OLAP模型时,将第二OLAP模型输出;
第三确定模块70,用于确认是否存在未匹配出对应的第一OLAP模型的数据分组;
分解模块20,用于当存在未匹配出对应的第一OLAP模型的数据分组时,基于目标数据集之间的有序关联对至少二个目标数据集进行重新分解,以得到与上一次分解不同的数据分组。
可选地,该装置还包括:
设置模块,用于当数据分组中仅包括一个目标数据集时,将该数据分组中仅包括的一个目标数据集作为对应该数据分组的第一OLAP模型。
在本申请提供的数据模型匹配装置中,通过第一确定模块10,用于确定出查询指令所需要查询的至少二个目标数据集以及目标数据集之间的有序关联;分解模块20,用于基于目标数据集之间的有序关联对至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个数据分组中包括至少一个目标数据集;第一匹配模块30,用于对于每个数据分组,基于该数据分组包括的目标数据集和目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;第一输出模块40,用于将每个数据分组对应的第一OLAP模型输出。这样,可以针对查询指令,对所需要查询的至少二个目标数据集进行有序关联分解,在对于每个分解得到的数据分组进行OLAP模型匹配,进而输出对应该查询指令的多个相关联的OLAP模型,进而,能够大幅度提高对于查询指令进行OLAP模型匹配的成功率,能够极大提高OLAP模型查询匹配的支持度,为执行查询指令保留了通过OLAP模型进行预计算带来的分析加速优势;而且,通过上述方法同时放大了OLAP数据模型的适用范围,降低了OLAP模型需求数量,提高了OLAP模型利用率,最大限度地复用已有OLAP模型;从而解决了相关技术中OLAP查询系统包括的OLAP模型需求数量大以及OLAP模型利用率低的技术问题。
基于相同的技术构思,本申请实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的数据模型匹配方法。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机代码,当计算机代码被执行时,上述的数据模型匹配方法被执行。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本申请所涉及的计算机程序可以存储于计算机可读存储介质中,所述计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体装置、虚拟装置、优盘、移动硬盘、磁碟、光盘、计算机存储器、只读计算机存储器(Read-Only Memory,ROM)、随机存取计算机存储器(Random Access Memory,RAM)、电载波信号、电信信号以及其他软件分发介质等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据模型匹配方法,其特征在于,所述方法应用于联机分析处理OLAP查询系统中,所述方法包括:
确定出查询指令所需要查询的至少二个目标数据集以及所述目标数据集之间的有序关联;
基于所述目标数据集之间的有序关联对所述至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个所述数据分组中包括至少一个所述目标数据集,当所述目标数据集之间存在双向关联时,基于目标数据集之间的双向关联进行分解;
对于每个所述数据分组,基于该数据分组包括的所述目标数据集和所述目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;
将每个所述数据分组对应的第一OLAP模型输出。
2.根据权利要求1所述的数据模型匹配方法,其特征在于,所述确定出查询指令所需要查询的至少二个目标数据集以及所述目标数据集之间的有序关联之后,所述方法还包括:
确定数据库中是否存在与所述查询指令所需要查询的至少二个目标数据集以及所述目标数据集之间的有序关联对应的第二OLAP模型;
当数据库中不存在与所述查询指令所需要查询的至少二个目标数据集以及所述目标数据集之间的有序关联对应的第二OLAP模型时,执行所述基于所述目标数据集之间的有序关联对所述至少二个目标数据集进行分解的步骤。
3.根据权利要求2所述的数据模型匹配方法,其特征在于,所述方法还包括:
当数据库中存在与所述查询指令所需要查询的至少二个目标数据集以及所述目标数据集之间的有序关联对应的第二OLAP模型时,将所述第二OLAP模型输出。
4.根据权利要求1所述的数据模型匹配方法,其特征在于,所述方法还包括:
当所述数据分组中仅包括一个所述所述目标数据集时,将该数据分组中仅包括的一个所述所述目标数据集作为对应该数据分组的第一OLAP模型。
5.根据权利要求4所述的数据模型匹配方法,其特征在于,在所述将每个所述数据分组对应的第一OLAP模型输出之前,所述方法还包括:
确认是否存在未匹配出对应的所述第一OLAP模型的所述数据分组;
当存在未匹配出对应的所述第一OLAP模型的所述数据分组时,重新执行所述基于所述目标数据集之间的有序关联对所述至少二个目标数据集进行分解的步骤,以得到与上一次分解不同的所述数据分组。
6.一种数据模型匹配装置,其特征在于,所述装置应用于OLAP查询系统中,所述装置包括:
第一确定模块,用于确定出查询指令所需要查询的至少二个目标数据集以及所述目标数据集之间的有序关联;
分解模块,用于基于所述目标数据集之间的有序关联对所述至少二个目标数据集进行分解,得到至少两个数据分组,其中,每个所述数据分组中包括至少一个所述目标数据集,当所述目标数据集之间存在双向关联时,基于目标数据集之间的双向关联进行分解;
第一匹配模块,用于对于每个所述数据分组,基于该数据分组包括的所述目标数据集和所述目标数据集之间的有序关联在数据库中匹配出对应的该数据分组的第一OLAP模型;
第一输出模块,用于将每个所述数据分组对应的第一OLAP模型输出。
7.根据权利要求6所述的数据模型匹配装置,其特征在于,所述装置还包括第二确定模块;
所述第二确定模块,用于确定数据库中是否存在与所述查询指令所需要查询的至少二个目标数据集以及所述目标数据集之间的有序关联对应的第二OLAP模型;
所述分解模块,用于当数据库中不存在与所述查询指令所需要查询的至少二个目标数据集以及所述目标数据集之间的有序关联对应的第二OLAP模型时,执行所述基于所述目标数据集之间的有序关联对所述至少二个目标数据集进行分解。
8.根据权利要求6所述的数据模型匹配装置,其特征在于,所述装置还包括:
设置模块,用于当所述数据分组中仅包括一个所述所述目标数据集时,将该数据分组中仅包括的一个所述所述目标数据集作为对应该数据分组的第一OLAP模型。
9.一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现如权利要求1-5任一项所述的数据模型匹配方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如权利要求1-5任一项所述的数据模型匹配方法被执行。
CN201910213877.1A 2019-03-20 2019-03-20 数据模型匹配方法和装置 Active CN109992630B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910213877.1A CN109992630B (zh) 2019-03-20 2019-03-20 数据模型匹配方法和装置
US17/051,011 US20220004560A1 (en) 2019-03-20 2020-03-04 Data model matching method and device
PCT/CN2020/077706 WO2020187021A1 (zh) 2019-03-20 2020-03-04 数据模型匹配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910213877.1A CN109992630B (zh) 2019-03-20 2019-03-20 数据模型匹配方法和装置

Publications (2)

Publication Number Publication Date
CN109992630A CN109992630A (zh) 2019-07-09
CN109992630B true CN109992630B (zh) 2021-04-30

Family

ID=67130679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910213877.1A Active CN109992630B (zh) 2019-03-20 2019-03-20 数据模型匹配方法和装置

Country Status (3)

Country Link
US (1) US20220004560A1 (zh)
CN (1) CN109992630B (zh)
WO (1) WO2020187021A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992630B (zh) * 2019-03-20 2021-04-30 跬云(上海)信息科技有限公司 数据模型匹配方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182405A (zh) * 2013-05-22 2014-12-03 阿里巴巴集团控股有限公司 一种连接查询方法及装置
CN105787052A (zh) * 2016-02-26 2016-07-20 广州品唯软件有限公司 数据处理模型建立方法及基于数据处理模型数据筛选方法
CN107992503A (zh) * 2016-10-26 2018-05-04 微软技术许可有限责任公司 数据分析中的查询处理

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2519015A1 (en) * 2005-09-13 2007-03-13 Cognos Incorporated System and method of providing relational set operations for olap data sources
US8335754B2 (en) * 2009-03-06 2012-12-18 Tagged, Inc. Representing a document using a semantic structure
CN104050202B (zh) * 2013-03-15 2019-03-15 伊姆西公司 用于搜索数据库的方法和装置
CN108268612B (zh) * 2017-12-29 2021-05-25 上海跬智信息技术有限公司 一种基于olap预计算模型的预校验方法及预校验系统
CN109992630B (zh) * 2019-03-20 2021-04-30 跬云(上海)信息科技有限公司 数据模型匹配方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182405A (zh) * 2013-05-22 2014-12-03 阿里巴巴集团控股有限公司 一种连接查询方法及装置
CN105787052A (zh) * 2016-02-26 2016-07-20 广州品唯软件有限公司 数据处理模型建立方法及基于数据处理模型数据筛选方法
CN107992503A (zh) * 2016-10-26 2018-05-04 微软技术许可有限责任公司 数据分析中的查询处理

Also Published As

Publication number Publication date
US20220004560A1 (en) 2022-01-06
WO2020187021A1 (zh) 2020-09-24
CN109992630A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN104885078B (zh) 用于大规模并行处理数据库集群中的两阶段查询优化的方法
CN109977175B (zh) 数据配置查询方法和装置
CN105335403B (zh) 数据库访问方法及装置、数据库系统
CN104408159B (zh) 一种数据关联、加载、查询方法及装置
CN105824957A (zh) 分布式内存列式数据库的查询引擎系统及查询方法
CN103440288A (zh) 一种大数据存储方法及装置
CN103646073A (zh) 一种基于HBase表的条件查询优化方法
CN109144997A (zh) 数据关联方法、装置及存储介质
CN103778251B (zh) 面向大规模rdf图数据的sparql并行查询方法
Ngu et al. B+-tree construction on massive data with Hadoop
CN105574052A (zh) 数据库查询方法及装置
CN104809130A (zh) 数据查询的方法、设备及系统
CN106599052A (zh) 一种基于ApacheKylin的数据查询系统及其方法
CN104756101A (zh) 执行具有多个集合操作符的查询
CN108009270A (zh) 一种基于分布式内存计算的文本检索方法
CN111753063A (zh) 一种应答方法、装置、服务器及存储介质
CN108829651A (zh) 一种公文处理的方法、装置、终端设备及存储介质
CN114756629B (zh) 基于sql的多源异构数据交互分析引擎及方法
CN109992630B (zh) 数据模型匹配方法和装置
CN112182031B (zh) 数据查询方法及装置、存储介质、电子装置
CN110245137A (zh) 一种索引的处理方法、装置及设备
CN108228787A (zh) 按照多级类目处理信息的方法和装置
CN110471968A (zh) Etl任务的发布方法、装置、设备及存储介质
CN110427388A (zh) 一种数据处理方法及装置、存储介质
CN115982230A (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
GR01 Patent grant
GR01 Patent grant