一种自定义报表的查询方法、计算节点及查询系统技术方案

技术编号:16529063 阅读:190 留言:0更新日期:2017-11-09 20:50
本发明专利技术公开一种自定义报表的查询方法、计算节点及查询系统,所述查询方法包括:接收客户端发送的自定义报表查询请求,根据所述查询请求进行语法解析,生成逻辑计划;将所述逻辑计划转换为多个物理计划;从多个物理计划中选择最佳的物理计划;根据所述最佳的物理计划生成携带有存储插件名称的控制指令;根据存储插件名称的控制指令从存储插件系统表中读取对应存储插件的配置文件,使所述存储插件根据所述配置文件从数据源中查询数据并进行元数据解析;对存储插件的解析数据进行计算,得到对自定义报表的查询结果;对所述查询结果做全局聚合,并将聚合后的数据发送至客户端,从而实现对自定义报表的查询统计。

【技术实现步骤摘要】
一种自定义报表的查询方法、计算节点及查询系统
本专利技术涉及大数据信息查询
,特别是涉及一种自定义报表的查询方法、计算节点及查询系统。
技术介绍
传统报表统计方法只能处理结构化数据,不能处理非结构化数据,然而在真实的应用场景中,数据通常存储在各种各样的位置,数据格式也多种多样,为了解决该问题,提出了处理多种多样的数据模型。1)数据仓库(Datawarehourse)数据库已经在信息
有了广泛的应用,我们社会生活的各个部门,几乎都有各种各样的数据库保存着与我们的生活息息相关的各种数据。作为数据库的一个分支,数据仓库概念的提出,相对于数据库从时间上就近得多。美国著名信息工程专家WilliamInm博士在90年代初提出了数据仓库概念的一个表述,认为:“一个数据仓库通常是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,它用于对管理决策过程的支持。”这里的主题,是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。集成,是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。随时间变化,是指数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。2)大规模并行处理数据库(MassivelyparallelprocessingDatabase)传统数据仓库通常是单机的,只能垂直扩展而不能水平扩展,导致其扩展成本非常高昂。所谓垂直扩展就是通过增加cpu或者内存来提高机器的性能,水平扩展是指通过增加新的机器来提高整体服务性能。大规模并行处理(Massivelyparallelprocessing,MPP)有多个处理单元组成,每个处理单元有独立的操作系统,cpu,内存,和磁盘,处理单元之间通过网络互联,处理单元可以并行工作。大规模并行处理系统容易进行水平扩展,通常可以扩展到几十甚至上百个处理单元。在大规模并行处理系统之上构建的数据库叫做大规模并行处理数据库,简称为MPP数据库。MPP数据库可以将数据存储在多个独立的服务器上,可以进行并行查询,具有较好的查询性能。MMP的缺点是,架构昂贵;不适合复杂查询;可扩展性较差,通常只能扩展到几十台,最多上百台。3)Map(映射)Reduce(归约)MapReduce是一个用于处理海量数据的具有自动容错的集群编程模型。MapReduce通常由三个阶段组成,如图1所示:Map阶段:首先是读数据,数据来源可能是文本文件,表格,MySQL数据库。这些数据通常是成千上万的文件,称为shards(碎片),shards被当做一个逻辑输入源。然后Map阶段调用用户实现的函数,即Mapper(映射函数),独立且并行的处理每个shard。对于每个shard,Mapper返回多个键值对,这是Map阶段的输出。Shuffle阶段:把键值对进行归类,也就是把所有相同的键的键值对归为一类。这个步骤的输出是不同的键和该键的对应的值的数据流。Reduce阶段:输入当然是shuffle的输出。然后Reduce阶段调用用户实现的函数,即Reducer(归约函数),对每个不同的键和该键的对应的值的数据流进行独立、并行的处理。每个reducer遍历键对应的值,然后对值进行“置换”。这些置换通常指的的是值的聚合或者什么也不处理,然后把键值对写入数据库、表格或者文件中。4)Hadoop(分布式系统基础框架)/SparkHadoop/Spark是MapReduce最流行的一个开源实现。很多企业使用Hadoop实现Web索引,数据挖掘,报表统计等功能。其中,MPP数据库、MapReduce和Sql-on-hadoop都能实现报表的统计查询,其中,MPP数据库在上世纪90年代被广泛使用,后来随着数据规模的扩大,其处理性能有待提高,03年以后便出现了以MapReduce和hadoop数据仓库技术为核心的报表系统。尽管这些系统解决了大规模数据水平扩展的问题,但是在数据处理模型方面仍然具有如下缺点:不适合处理半结构化数据。具体原因如下:传统查询引擎比如Impla,Presto,Hive在查询数据之前需要知道要查询的表的元数据,这些系统通常有一个中心化元数据仓库负责存储表的元数据,其查询引擎在解析逻辑计划时会查询元数据仓库进行元数据验证,比如,如果用户要查询的列不存在或者数据类型,查询就会失败。
技术实现思路
本专利技术的目的是提供一种自定义报表的查询方法、计算节点及查询系统,可实现对报表的查询统计。为实现上述目的,本专利技术提供了如下方案:一种自定义报表的查询方法,所述查询方法包括:接收客户端发送的自定义报表查询请求,根据所述查询请求进行语法解析,生成逻辑计划;所述自定义报表查询请求中携带有用户指定数据源的存储插件名称;将所述逻辑计划转换为多个物理计划;从多个物理计划中选择最佳的物理计划;根据所述最佳的物理计划生成携带有存储插件名称的控制指令;根据存储插件名称的控制指令从存储插件系统表中读取对应存储插件的配置文件,使所述存储插件根据所述配置文件从数据源中查询数据并进行元数据解析;对存储插件的解析数据进行计算,得到对自定义报表的查询结果;对所述查询结果做全局聚合,并将聚合后的数据发送至客户端。可选的,所述存储插件系统表存储了存储插件名称与存储插件之间的映射关系,所述映射关系包括:存储插件接口、存储插件名称及存储插件对应的配置文件;所述配置文件包括:存储插件读取的数据源的路径、位置及数据源格式。可选的,所述将所述逻辑计划转换为多个物理计划,具体包括:对所述逻辑计划进行初步优化;对初步优化后的逻辑计划进行转换,得到多个物理计划。为实现上述目的,本专利技术还提供了如下方案:一种查询自定义报表的计算节点,所述计算机节点包括:查询解析器,用于接收客户端发送的自定义报表查询请求,根据所述查询请求进行语法解析,生成逻辑计划;所述自定义报表查询请求中携带有用户指定数据源的存储插件名称;优化转换器,用于将将所述逻辑计划转换为多个物理计划;优化选择器,用于从多个物理计划中选择最佳的物理计划;指令生成器,用于根据所述最佳的物理计划生成携带有存储插件名称的控制指令;执行器,用于根据存储插件名称的控制指令从存储插件系统表中读取对应存储插件的配置文件,使所述存储插件根据所述配置文件从数据源中查询数据并进行元数据解析;对存储插件的解析数据进行计算,得到对自定义报表的查询结果;聚合器,用于对查询结果做全局聚合,并将聚合后的数据发送至客户端。可选的,所述存储插件系统表存储了存储插件名称与存储插件之间的映射关系,所述映射关系包括:存储插件接口、存储插件名称及存储插件对应的配置文件;所述配置文件包括:存储插件读取的数据源的路径、位置及数据源格式。可选的,计算节点还包括:任务调度器,用于将所述控制指令分配给数据距离任务最近的执行器中。可选的,所述优化转换器将所述逻辑计划转换为多个物理计划,具体包括:对所述逻辑计划进行初步优化;对初步优化后的逻辑计划进行转换,得到多个物理计划。为实现上述目的,本专利技术还提供了本文档来自技高网
...
一种自定义报表的查询方法、计算节点及查询系统

【技术保护点】
一种自定义报表的查询方法,其特征在于,所述查询方法包括:接收客户端发送的自定义报表查询请求,根据所述查询请求进行语法解析,生成逻辑计划;所述自定义报表查询请求中携带有用户指定数据源的存储插件名称;将所述逻辑计划转换为多个物理计划;从多个物理计划中选择最佳的物理计划;根据所述最佳的物理计划生成携带有存储插件名称的控制指令;根据存储插件名称的控制指令从存储插件系统表中读取对应存储插件的配置文件,使所述存储插件根据所述配置文件从数据源中查询数据并进行元数据解析;对存储插件的解析数据进行计算,得到对自定义报表的查询结果;对所述查询结果做全局聚合,并将聚合后的数据发送至客户端。

【技术特征摘要】
1.一种自定义报表的查询方法,其特征在于,所述查询方法包括:接收客户端发送的自定义报表查询请求,根据所述查询请求进行语法解析,生成逻辑计划;所述自定义报表查询请求中携带有用户指定数据源的存储插件名称;将所述逻辑计划转换为多个物理计划;从多个物理计划中选择最佳的物理计划;根据所述最佳的物理计划生成携带有存储插件名称的控制指令;根据存储插件名称的控制指令从存储插件系统表中读取对应存储插件的配置文件,使所述存储插件根据所述配置文件从数据源中查询数据并进行元数据解析;对存储插件的解析数据进行计算,得到对自定义报表的查询结果;对所述查询结果做全局聚合,并将聚合后的数据发送至客户端。2.根据权利要求1所述的自定义报表的查询方法,其特征在于,所述存储插件系统表存储了存储插件名称与存储插件之间的映射关系,所述映射关系包括:存储插件接口、存储插件名称及存储插件对应的配置文件;所述配置文件包括:存储插件读取的数据源的路径、位置及数据源格式。3.根据权利要求1所述的自定义报表的查询方法,其特征在于,所述将所述逻辑计划转换为多个物理计划,具体包括:对所述逻辑计划进行初步优化;对初步优化后的逻辑计划进行转换,得到多个物理计划。4.一种查询自定义报表的计算节点,其特征在于,所述计算机节点包括:查询解析器,用于接收客户端发送的自定义报表查询请求,根据所述查询请求进行语法解析,生成逻辑计划;所述自定义报表查询请求中携带有用户指定数据源的存储插件名称;优化转换器,用于将将所述逻辑计划转换为多个物理计划;优化选择器,用于从多个物理计划中选择最佳的物理计划;指令生成器,用于根据所述最佳的物理计划生成携带有存储插件名称的控制指令;执行器,用...

【专利技术属性】
技术研发人员:王震坡刘鹏龙超华孙逢春涂昊然侯毅
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1