[发明专利]数据处理设备和操作数据处理设备的方法有效
申请号: | 201580083383.6 | 申请日: | 2015-09-28 |
公开(公告)号: | CN108027819B | 公开(公告)日: | 2020-10-23 |
发明(设计)人: | 亚历山大·弗拉基米罗维奇·斯莱萨连科;康斯坦丁·亚历山德罗维奇·克尼日尼克 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F9/455 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;李稷芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 设备 操作 方法 | ||
1.一种数据处理设备(100),用于从存储库(107)中提取数据以响应查询,其特征在于,包括:
转换器(101),用于将所述查询转换成高级语言查询;
优化器(103),用于基于所述存储库(107)的配置来优化所述高级语言查询以生成优化查询,所述存储库(107)包括与抽象表同构的基于行的表、基于列的表和混合表,如果查询结合了多个表,且对于所述多个表的内容存在过滤条件,所述优化器(103)执行所述高级语言查询的进一步高级优化中的谓词下推优化,检查谓词并将过滤操作符移到查询执行树的根部。
2.根据权利要求1所述的数据处理设备(100),其特征在于,所述优化器(103)用于通过执行所述高级语言查询的同构专业化并基于所述存储库(107)的所述配置来优化所述高级语言查询。
3.根据权利要求2所述的数据处理设备(100),其特征在于,所述优化器(103)用于通过执行作为所述高级语言查询的阶段评估的一部分的所述高级语言查询的同构专业化并基于所述存储库(107)的所述配置来优化所述高级语言查询。
4.根据权利要求3所述的数据处理设备(100),其特征在于,所述优化器(103)用于通过所述高级语言查询的基于图形的中间表示来执行作为所述高级语言查询的阶段评估的一部分的所述高级语言查询的同构专业化。
5.根据权利要求4所述的数据处理设备(100),其特征在于,所述优化器(103)还用于执行所述高级语言查询的基于图形的中间表示的进一步低级优化步骤,通用子表达式消除、代码融合、循环展开、数据结构转换、积极内联、持续传播和/或不可达代码去除。
6.根据权利要求5所述的数据处理设备(100),其特征在于,所述优化器(103)还用于在编译和代码生成框架的环境中执行所述高级语言查询的基于图形的中间表示的进一步低级优化步骤。
7.根据权利要求1-6任一项所述的数据处理设备(100),其特征在于,所述优化器(103)用于以高级语言优化查询的形式生成所述优化查询。
8.根据权利要求7所述的数据处理设备(100),其特征在于,所述数据处理设备(100)还包括执行器(105),用于通过执行所述优化查询从所述存储库(107)中提取数据。
9.根据权利要求8所述的数据处理设备(100),其特征在于,所述存储库(107)的所述配置由所述存储库(107)内的数据表的配置来定义。
10.根据权利要求9所述的数据处理设备(100),其特征在于,所述优化器(103)还用于从与所述存储库(107)的数据一同存储的数据中或从单独的元数据存储库中获得关于所述存储库(107)的所述配置的信息。
11.根据权利要求1-6任一项所述的数据处理设备(100),其特征在于,所述高级语言查询是Scala查询。
12.根据权利要求11所述的数据处理设备(100),其特征在于,所述查询是SQL查询。
13.一种操作数据处理设备(100)的方法(200),其特征在于,用于从存储库(107)中提取数据以响应查询,其中所述方法(200)包括以下步骤:
(201)将所述查询转换为高级语言查询;
(203)基于所述存储库(107)的配置来优化所述高级语言查询以生成优化查询,所述存储库(107)包括与抽象表同构的基于行的表、基于列的表和混合表,如果查询结合了多个表,且对于所述多个表的内容存在过滤条件,执行所述高级语言查询的进一步高级优化中的谓词下推优化,检查谓词并将过滤操作符移到查询执行树的根部。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580083383.6/1.html,转载请声明来源钻瓜专利网。