CN107273413A - 中间表的创建方法、查询方法及相关装置 - Google Patents
中间表的创建方法、查询方法及相关装置 Download PDFInfo
- Publication number
- CN107273413A CN107273413A CN201710308694.9A CN201710308694A CN107273413A CN 107273413 A CN107273413 A CN 107273413A CN 201710308694 A CN201710308694 A CN 201710308694A CN 107273413 A CN107273413 A CN 107273413A
- Authority
- CN
- China
- Prior art keywords
- inquiry
- inquiry request
- frequency
- multiclass
- request
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 26
- 230000015654 memory Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 description 12
- 238000006116 polymerization reaction Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- 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
-
- 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
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种中间表的创建方法、查询方法及相关装置,涉及数据处理领域。其中,所述中间表的创建方法包括:确定多类查询请求各自对应的查询频度;至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求;基于所述基准查询请求创建中间表。本发明实施例提供的技术方案能够提高查询处理的性能。
Description
技术领域
本发明实施例涉及数据库以及查询领域,更为具体而言,涉及一种中间表的创建方法、查询方法及相关装置。
背景技术
OLAP(联机分析处理)系统是数据仓库系统最主要的应用,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观易懂的形式将查询结果提供给决策人员。
在大数据领域,为了支持灵活的OLAP业务分析场景,不得不直接基于事实表(facttable)进行查询处理。但是这样难以保证查询性能,随着数据的积累增长,查询处理越来越成为瓶颈。
针对这种情况,一种解决方案是维护一些中间表,以支持业务分析应用,但也带来额外的流程处理和开发工作,同时也造成灵活性的下降。并且,对于查询领域而言,如何创建中间表来进一步提高查询性能的研究具有重要意义。
发明内容
为了解决现有的资源分配技术所存在的缺陷,本发明实施例提供一种中间表的创建方法、查询方法及相关装置,能提高查询处理的性能。
第一方面,本发明实施例中提供了一种中间表的创建方法,该方法具体包括:
至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求;
基于所述基准查询请求创建中间表。
可选地,在该实施例的一种实现方式中,所述确定多类查询请求各自对应的查询频度,包括:
基于事实表和分组字段对查询请求进行聚类;
根据聚类结果确定所述多类查询请求及其对应的查询频度。
可选地,在该实施例的一种实现方式中,所述至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求,包括:
根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求;或,根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求,根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
可选地,在该实施例的一种实现方式中,所述根据所述基准查询请求创建中间表,包括:在所述中间表的查询结果列中,生成聚合指标结果。
第二方面,本发明实施例提供了一种查询方法,该查询方法具体可以包括:
接收查询请求;
响应于所述查询请求,基于采用前述实施例或其实现方式的中间表创建方法创建的中间表进行查询。
可选地,在该实施例的一种实现方式中,将所述查询请求进行转换处理得到用于查询所述中间表的查询语句。
第三方面,本发明实施例提供了一种用于创建中间表的装置,该装置包括:
频度确定模块,用于确定多类查询请求各自对应的查询频度;
基准确定模块,用于至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求;
创建模块,用于基于所述基准查询请求创建中间表。
可选地,在该实施例的一种实现方式中,所述频度确定模块包括:
聚类子模块,用于基于事实表和分组字段对查询请求进行聚类;
确定子模块,用于根据所述聚类子模块的聚类结果确定所述多类查询请求及其对应的查询频度。
可选地,在该实施例的一种实现方式中,所述基准确定模块包括:
第一基准确定子模块,用于根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求;或,
第二基准确定子模块,用于根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求,并根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
可选地,在该实施例的一种实现方式中,所述创建模块包括:
结果子模块,用于在所述中间表的查询结果列中,生成聚合指标结果。
第四方面,本发明实施例还提供一种查询装置,包括:
接收模块,用于接收查询请求;
查询模块,用于响应于所述查询请求,基于采用前述中间表创建方法创建的中间表进行查询。
可选地,所述查询装置还可以包括转换模块,用于将所述查询请求进行转换处理得到用于查询所述中间表的查询语句。
采用本发明各种实施例,能够提高查询处理的性能。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例的一种中间表的创建方法的流程示意图;
图2示出了根据本发明实施例的一种创建、使用与维护中间表的过程示意图;
图3示出了根据本发明实施例的一种中间表创建装置的框图;
图4示出了根据本发明实施例的一种中间表创建装置的频度确定模块的框图;
图5示出了根据本发明实施例的一种中间表创建装置的基准确定模块的框图;
图6示出了根据本发明实施例的一种查询装置的框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了根据本发明实施例的一种中间表的创建方法的流程示意图。参照图1,所述方法包括:
10:确定多类查询请求各自对应的查询频度。
可选地,在本实施例的一种实现方式中,采用以下方式实现处理10:基于事实表和分组字段对查询请求(例如,收集到的诸多查询请求)进行聚类,得到所述多类查询请求及其对应的查询频度。
12:至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求。换言之,在本实施例中,将各类查询请求的查询频度作为选取条件之一而不必然是唯一。
14:基于所述基准查询请求创建中间表。
采用本实施例提供的方法创建中间表,有利于有效提升查询处理的性能。
可选地,在本实施例的一种实现方式中,采用以下方式实现处理12:根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求。
可选地,在本实施例的一种实现方式中,采用以下方式实现处理12:根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求;根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
可选地,在本实施例的一种实现方式中,在处理14中,在查询结果列的生成上,生成多种(例如,所有)聚合指标结果,例如,Count(计数)、Sum(求和)等。
图2示出了根据本发明实施例的一种创建、使用与维护中间表的过程示意图。下面结合图2对各个阶段进行详细说明。本领域技术人员应当理解,创建、使用与维护中的每一个阶段,均可以作为单独的实施例应用于具体场景中。
整体而言,在本实施例中,通过提供一种自适应的中间表生成方法,可以解决现有技术在查询结果缓存方面的局限性;用户的每次查询请求不用严格的保持一致,仅在事实表和分组(即,Group by)字段上保持一致即可;通过自动改写查询语句并进行等价交换,从而更充分地利用中间表来优化查询处理的性能。下面进行具体的说明。
首先,对如图2所示的收集查询请求进行说明。
在查询请求的不断处理中,可以收集查询请求的频度。查询请求之间可能存在细微的差别,比如分组(Group by)字段和过滤条件不同。基于相同的事实表,查询可以用事实表和分组字段来进行唯一标识,这样,就可以聚合类似查询请求。
一种查询请求的示例如下:
select a,b,count(distinct id)as c
from table
group by a,b;
示例性地,可以基于(table,a,b)来标识一个查询请求。
接下来,对如图2所示的中间表的选择与创建进行说明。
在得到查询请求和对应的请求频度以后,可以基于请求频度较高的查询创建中间表。此外,可以通过对查询进行选择,以减少创建的中间表的数量。在本申请中,考虑到一般情况下,包含更多分组字段的中间表可以用于支持更少分组字段的查询请求。所以,按照分组字段的覆盖范围(包含不同字段的数量)进行倒排序,保留范围更大(包含更多字段)和记录数更少的中间表。比如对比(table,a,b,d)和(table,a,b)两个查询请求,可以保留(table,a,b,d)来创建中间表。
此外,在查询结果列的生成上,可以生成所有的聚合指标结果,比如Count、Sum,以便后续查询请求的利用。
接下来,对如图2所示的中间表的创建进行说明。
示例性地,中间表采用以下方式创建:
create materialized view table_a_b as
select a,b,count(distinct id)as c
from table
group by a,b;
接下来,对如图2所示的中间表的使用进行说明。
对于分析应用来说,比较理想的一种实施方式就是中间表可以透明使用。分析应用不用显式指定中间表来进行查询,而是由系统来维护中间表的生存周期。在这种场景下,需要查询引擎改写当前的查询请求,利用中间表优化查询,从而提升查询处理性能。在OLAP(联机分析处理)查询中,查询改写的基本步骤就是先选择合适的中间表,其分组字段范围需要大于查询的需求。
示例性地,采用以下方式实现中间表的使用:
select a,b,c
from table_a_b;
另外,还可以通过调整查询结果列的一些表达式,从而利用中间表提供的聚合指标结果进行等价变换,比如利用Count(计数)和Sum(求和)来计算Avg(平均值)。
接下来,对如图2所示的中间表的维护进行说明,采用下文所述的维护方式,能够实现中间表的自动维护。
对于中间表而言,如何在数据变更时自动进行维护也是业界关注的问题。在本实施例的一种实现方式中,可以定期进行维护。而由于历史数据变更较少,可以将数据按时间先后放入不同分区中,从而减少数据变化带来的维护工作。在本实施例的另一种实现方式中,在数据(包括表结构)变更时直接标记中间表失效,这样后续的查询请求将直接基于事实表进行。
另外,由于中间表的请求频度也在不断变化中,可以将高频的中间表缓存到内存,而对于低频的中间表则定时进行清理,以节省存储空间。当然,这种清理的过程也可以是将中间表数据迁移到更便宜的存储系统中,以便需要时再装载进来,以节省中间表计算生成的时间。
以上结合附图,对根据本发明实施例的一种中间表的创建方法进行了说明,此外,还对根据本发明实施例的一种中间表的使用方法以及维护方法进行了说明。本发明在保护上述方面的同时,还提供一种查询方法,在该方法中,响应于接收到的查询请求,基于采用上述方法创建的中间表进行查询处理。换言之,本发明中,除了正常的事实表之外,还采用前述方法创建中间表,以提高查询处理的性能。
可选地,在本实施例的查询方法的一种实现方式中,在接收到查询请求后,可以对查询请求进行等价变化,以便得到适于查询中间表的查询语句。具体而言,可以对查询请求进行转换处理得到用于查询所述中间表的查询语句。例如,对聚合指标进行等价变换。
下面结合附图对根据本发明实施例的一种用于创建中间表的装置进行说明。如图3所示,是根据本发明实施例的一种中间表创建装置的框图的一例。参照图3,该装置包括频度确定模块30、基准确定模块32和创建模块34。下面进行详细说明。
在本实施例中,频度确定模块30用于确定多类查询请求各自对应的查询频度。
可选地,在本实施例的一种实现方式中,如图4所示,频度确定模块30包括:聚类子模块和确定子模块。
其中,聚类子模块用于基于事实表和分组字段对查询请求进行聚类;确定子模块,用于根据所述聚类子模块的聚类结果确定所述多类查询请求及其对应的查询频度。
在本实施例中,基准确定模块32用于至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求。
可选地,在本实施例的一种实现方式中,如图5所示,基准确定模块32包括第一基准确定子模块,和/或,第二基准确定子模块。
其中,第一基准确定子模块用于根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求。
第二基准确定子模块用于根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求,并根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
在本实施例中,创建模块34用于基于所述基准查询请求创建中间表。
可选地,在本实施例的一种实现方式中,根据基准查询请求的查询结果创建中间表,并在查询结果列中,生成聚合指标结果。例如,创建模块34可以具有结果子模块,该结果子模块用于在中间表的查询结果列中,生成所述聚合指标结果。
图6是根据本发明实施例的一种查询装置的框图。参照图6,查询装置包括接收模块和查询模块。
其中,接收模块用于接收查询请求;查询模块用于响应于所述接收模块接收到的查询请求,采用本发明前述实施例提供的创建中间表的方法创建的中间表进行查询的查询模块。
可选地,在本实施例的一种实现方式中,查询装置还包括转换模块,用于将接收模块接收到的查询请求进行转换处理得到用于查询所述中间表的查询语句。
此外,本发明的一种实施例还提供一种数据库,该数据库包括现有的事实表以及采用本发明前述实施例提供的创建中间表的方法创建的中间表。相应地,可以基于该数据库提供查询服务。
此外,本发明的一种实施例还提供一种数据维护系统,该系统包括:如前所述的查询装置、用于创建中间表的中间表创建装置以及存储所述中间表和事实表的存储装置。
采用本发明提供的方法实施例、装置实施例或系统实施例,具有以下优点:
基于查询结果创建中间表,更接近查询请求的最终需求,可以有效提升查询处理的性能;
对于分析应用而言,可以基于事实表提交查询请求,并由系统主动利用中间表进行优化,这样可以支持灵活的OLAP业务分析场景;
自动维护中间表,能够减少日常的开发和维护工作。
在与本发明相关的另一种可能的设计中,前述查询装置可以包括处理器和存储器。
其中,所述存储器用于存储支持所述数据处理装置执行上述各个模块/子模块所执行的处理的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
其中,所述程序包括一条或多条计算机指令,所述一条或多条计算机指令供所述处理器调用执行。
更具体而言,所述处理器通过执行所述计算机指令以用于实现以下处理:
接收查询请求;响应于所述查询请求,基于本发明实施例提供的方法创建的中间表进行查询。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
本发明公开A1、一种中间表的创建方法,包括:
确定多类查询请求各自对应的查询频度;
至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求;
基于所述基准查询请求创建中间表。
A2、如A1所述的方法中,所述所述确定多类查询请求各自对应的查询频度,包括:
基于事实表和分组字段对查询请求进行聚类;
根据聚类结果确定所述多类查询请求及其对应的查询频度。
A3、如A1或A2所述的方法中,所述至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求,包括:
根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求;
或,
根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求,
根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
A4、如A1所述的方法中,所述根据所述基准查询请求创建中间表,包括:
在所述中间表的查询结果列中,生成聚合指标结果。
本发明公开了B5,一种查询方法,包括:
接收查询请求;
响应于所述查询请求,基于采用本发明公开的A1-A4中任一项所述的方法创建的中间表进行查询。
B6、如B5所述的方法,还包括:将所述查询请求进行转换处理得到用于查询所述中间表的查询语句。
本发明还公开了C7、一种用于创建中间表的装置,包括:
频度确定模块,用于确定多类查询请求各自对应的查询频度;
基准确定模块,用于至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求;
创建模块,用于基于所述基准查询请求创建中间表。
C8、如C7所述的装置中,所述频度确定模块包括:
聚类子模块,用于基于事实表和分组字段对查询请求进行聚类;
确定子模块,用于根据所述聚类子模块的聚类结果确定所述多类查询请求及其对应的查询频度。
C9、如C7或C8所述的装置中,所述基准确定模块包括:
第一基准确定子模块,用于根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求;或,
第二基准确定子模块,用于根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求,并根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
C10、如C7所述的装置,所述创建模块包括:
结果子模块,用于在所述中间表的查询结果列中,生成聚合指标结果。
本发明还公开了D11、一种查询装置,包括:
接收模块,用于接收查询请求;
查询模块,用于响应于所述查询请求,基于采用A1-A4中任一项所述的方法创建的中间表进行查询。
D12、如D11所述的装置,还包括:转换模块,用于将所述查询请求进行转换处理得到用于查询所述中间表的查询语句。
本发明还公开了E1、一种中间表的创建装置,包括一个或多个存储器和一个或多个处理器;
其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器用于通过执行所述计算机指令以实现以下处理:
确定多类查询请求各自对应的查询频度;
至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求;
基于所述基准查询请求创建中间表。
E2、如E1所述的中间表的创建装置中,所述处理器通过执行所述计算机指令以执行以下处理:
基于事实表和分组字段对查询请求进行聚类;
根据聚类结果确定所述多类查询请求及其对应的查询频度。
E3、如E1或E2所述的中间表的创建装置中,所述处理器通过执行所述计算机指令以执行以下处理:
根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求;
或,
根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求,
根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
E4、如E1所述的中间表的创建装置中,所述处理器通过执行所述计算机指令以执行以下处理:
在所述中间表的查询结果列中,生成聚合指标结果。
本发明还公开了F5、一种查询装置,包括一个或多个存储器和一个或多个处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器用于通过执行所述计算机指令以执行以下处理:
接收查询请求;
响应于所述查询请求,基于采用A1-A4中任一项所述的方法创建的中间表进行查询。
F6、如F5所述的装置,所述处理还用于执行所述计算机指令以执行以下处理:将所述查询请求进行转换处理得到用于查询所述中间表的查询语句。
Claims (10)
1.一种中间表的创建方法,其特征在于,包括:
确定多类查询请求各自对应的查询频度;
至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求;
基于所述基准查询请求创建中间表。
2.如权利要求1所述的方法,其特征在于,所述确定多类查询请求各自对应的查询频度,包括:
基于事实表和分组字段对查询请求进行聚类;
根据聚类结果确定所述多类查询请求及其对应的查询频度。
3.如权利要求1或2所述的方法,其特征在于,所述至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求,包括:
根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求;
或,
根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求,
根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
4.一种查询方法,其特征在于,所述方法包括:
接收查询请求;
响应于所述查询请求,基于采用如权利要求1-3中任一项所述的方法创建的中间表进行查询。
5.一种用于创建中间表的装置,其特征在于,包括:
频度确定模块,用于确定多类查询请求各自对应的查询频度;
基准确定模块,用于至少以各类查询请求的查询频度为选取条件从所述多类查询请求中选取基准查询请求;
创建模块,用于基于所述基准查询请求创建中间表。
6.如权利要求5所述的装置,其特征在于,所述频度确定模块包括:
聚类子模块,用于基于事实表和分组字段对查询请求进行聚类;
确定子模块,用于根据所述聚类子模块的聚类结果确定所述多类查询请求及其对应的查询频度。
7.如权利要求5或6所述的装置,其特征在于,所述基准确定模块包括:
第一基准确定子模块,用于根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求作为所述基准查询请求;或
第二基准确定子模块,用于根据所述多类查询请求的查询频度从所述多类查询请求中选取查询频度大于设定值的查询请求,并根据分组字段从查询频度大于设定值的查询请求中选取分组字段满足预设条件的查询请求作为所述基准查询请求。
8.一种查询装置,其特征在于,所述装置包括:
接收模块,用于接收查询请求;
查询模块,用于响应于所述查询请求,基于采用如权利要求1-3中任一项所述的方法创建的中间表进行查询。
9.一种中间表的创建装置,包括一个或多个存储器和一个或多个处理器,其中,
所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器用于通过执行所述计算机指令以实现如权利要求1-3中任一项所述的方法。
10.一种查询装置,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理器调用执行;所述处理器用于通过执行所述计算机指令以实现如权利要求4所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710308694.9A CN107273413B (zh) | 2017-05-04 | 2017-05-04 | 中间表的创建方法、查询方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710308694.9A CN107273413B (zh) | 2017-05-04 | 2017-05-04 | 中间表的创建方法、查询方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273413A true CN107273413A (zh) | 2017-10-20 |
CN107273413B CN107273413B (zh) | 2020-07-31 |
Family
ID=60074375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710308694.9A Expired - Fee Related CN107273413B (zh) | 2017-05-04 | 2017-05-04 | 中间表的创建方法、查询方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273413B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189810A (zh) * | 2018-08-28 | 2019-01-11 | 拉扎斯网络科技(上海)有限公司 | 查询方法、装置、电子设备及计算机可读存储介质 |
CN109271402A (zh) * | 2018-09-04 | 2019-01-25 | 拉扎斯网络科技(上海)有限公司 | 数据管理方法、装置、设备及计算机存储介质 |
CN110597851A (zh) * | 2019-09-20 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种基于大数据的数据处理及报表展示方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479223A (zh) * | 2010-11-25 | 2012-05-30 | 中国移动通信集团浙江有限公司 | 数据查询方法及系统 |
CN102937980A (zh) * | 2012-10-18 | 2013-02-20 | 亿赞普(北京)科技有限公司 | 一种集群数据库数据查询方法 |
CN106557578A (zh) * | 2016-11-23 | 2017-04-05 | 中国工商银行股份有限公司 | 历史数据查询方法及系统 |
-
2017
- 2017-05-04 CN CN201710308694.9A patent/CN107273413B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479223A (zh) * | 2010-11-25 | 2012-05-30 | 中国移动通信集团浙江有限公司 | 数据查询方法及系统 |
CN102937980A (zh) * | 2012-10-18 | 2013-02-20 | 亿赞普(北京)科技有限公司 | 一种集群数据库数据查询方法 |
CN106557578A (zh) * | 2016-11-23 | 2017-04-05 | 中国工商银行股份有限公司 | 历史数据查询方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189810A (zh) * | 2018-08-28 | 2019-01-11 | 拉扎斯网络科技(上海)有限公司 | 查询方法、装置、电子设备及计算机可读存储介质 |
CN109189810B (zh) * | 2018-08-28 | 2021-07-02 | 拉扎斯网络科技(上海)有限公司 | 查询方法、装置、电子设备及计算机可读存储介质 |
CN109271402A (zh) * | 2018-09-04 | 2019-01-25 | 拉扎斯网络科技(上海)有限公司 | 数据管理方法、装置、设备及计算机存储介质 |
CN110597851A (zh) * | 2019-09-20 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种基于大数据的数据处理及报表展示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107273413B (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jensen | Reducing the run-time complexity of multiobjective EAs: The NSGA-II and other algorithms | |
CN110401657B (zh) | 一种访问日志的处理方法及装置 | |
CN102541858B (zh) | 基于映射和规约的数据均衡性处理方法、装置及系统 | |
CN107273413A (zh) | 中间表的创建方法、查询方法及相关装置 | |
CN107609130A (zh) | 一种选择数据查询引擎的方法及服务器 | |
CN106095878A (zh) | 基于分库分表的数据库操作装置及方法 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN106202092A (zh) | 数据处理的方法及系统 | |
EP1654647B1 (en) | A method of assigning objects to processing units | |
CN110311965A (zh) | 一种云计算环境下的任务调度方法及系统 | |
CN110221920A (zh) | 部署方法、装置、存储介质及系统 | |
CN103997515B (zh) | 一种分布式云中计算中心选择方法及其应用 | |
CN105786619A (zh) | 虚拟机分配方法及装置 | |
CN111260288B (zh) | 订单管理方法、装置、介质及电子设备 | |
CN111950830B (zh) | 一种任务分配方法和装置 | |
US20140257785A1 (en) | Hana based multiple scenario simulation enabling automated decision making for complex business processes | |
CN105872082B (zh) | 基于容器集群负载均衡算法的细粒度资源响应系统 | |
CN105791166A (zh) | 一种负载均衡分配的方法及系统 | |
CN105893156B (zh) | 存储计算系统中的请求处理方法及存储计算系统 | |
Miao et al. | Efficient flow-based scheduling for geo-distributed simulation tasks in collaborative edge and cloud environments | |
CN101071489A (zh) | 工作流管理系统及实现工作过程自动化的方法 | |
WO2022088515A1 (zh) | 一种海量数据处理并发任务自适应测控方法及系统 | |
CN108256694A (zh) | 基于重复遗传算法的模糊时间序列预测系统、方法及装置 | |
CN111432082B (zh) | 客服的客户分配方法及装置 | |
CN107609129A (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 | ||
CB02 | Change of applicant information |
Address after: Building N3, building 12, No. 27, Jiancai Chengzhong Road, Haidian District, Beijing 100086 Applicant after: Beijing Xingxuan Technology Co.,Ltd. Address before: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202 Applicant before: Beijing Xiaodu Information Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200731 |
|
CF01 | Termination of patent right due to non-payment of annual fee |