基于数据仓库的数据处理系统和方法

文档序号:6401002阅读:192来源:国知局
专利名称:基于数据仓库的数据处理系统和方法
技术领域
本发明涉及数据仓库集群存储,具体地,涉及对数据仓库系统中的数据的处理过程进行改进和扩展。
背景技术
目前,工业、交通、互联网等企业的数据仓库环境下,主要包含数据收集、存储、预处理和报表呈现等模块。其中预处理部分主要是指传统的ETL(Extraction-Transformation-Loading提取、转换和加载)过程,这个过程按照固定周期执行,根据制定的数据规格、标准和数据仓库模型进行数据处理。当用户查询时,需要以固定的数据模型为基础,组织数据,而后呈现。但是,这种模式对于新的数据需求反应缓慢,不能适应对各种数据信息需求快速、多变的特点,进而造成对新需求的反应滞后。因此,希望提供能够克服传统数据仓库环境对快速、多变需求反应滞后问题的数据仓库数据处理系统和方法。

发明内容
鉴于以上所述的问题,本发明对传统集群式数据仓库系统进行了改进。根据本发明的一个方面,提供了一种基于数据仓库的数据处理系统。该系统包括:临时数据模型建立单元,被配置为根据用户输入动态地建立临时数据模型;筛选收集单元,被配置为根据所述临时数据模型从所述数据仓库中筛选并收集数据;加载单元,被配置为将筛选出的数据加载到扩展存储系统中。在一个示例中,扩展存储系统可以包括加速存储数据库和/或功能扩展数据库。例如,当所筛选出的数据的量大于阈值和/或需要多表关联查询时,则所筛选出的数据可以被加载到加速存储数据库中。在另一示例中,功能扩展数据库可以对所述所筛选出的数据进行高级统计函数处理。加速存储数据库可以包括列式存储数据库,例如Infobright存储引擎。功能扩展数据库可以包括关系数据库,例如PostgreSQL数据库。在另一示例中,该数据处理系统还包括:分析计算单元,被配置为根据用户查询条件,在扩展存储系统中对筛选出的数据执行分析和计算处理并输出处理结果。分析和计算处理可以包括合并汇总处理,用于对筛选出的数据进行汇总和统计。在一个示例中,加载单元还被配置为根据扩展存储系统的存储结构来对筛选出的数据进行格式转换。在一个示例中,数据仓库可以是基于筛选收集和合并汇总集群存储和计算的数据仓库。在一个示例中,该数据处理系统还包括报表输出单元,被配置为以表格、图表格式输出所述处理结果。在一个示例中,临时数据模型包括一个或多个用户查询项和与查询项相关联的一个或多个限定条件。根据本发明的另一实施例,提供了一种基于数据仓库的数据处理方法。该方法包括:临时数据模型建立步骤,用于根据用户输入动态地建立临时数据模型;筛选收集步骤,用于根据所述临时数据模型从所述数据仓库中筛选并收集数据;加载步骤,用于将筛选出的数据加载到扩展存储系统中。在一个示例中,扩展存储系统可以包括加速存储数据库和/或功能扩展数据库。例如,如果所筛选出的数据的量大于阈值和/或需要多表关联查询,则所筛选出的数据可以被加载到加速存储数据库中。在另一示例中,功能扩展数据库可以对所述所筛选出的数据进行高级统计函数处理。在一个示例中,加速存储数据库可以包括列式存储数据库。例如,列式存储数据库可以是Infobright存储引擎。在另一示例中,功能扩展数据库可以包括关系数据库。例如,关系数据库是PostgreSQL数据库。在另一示例中,该数据处理方法还包括:根据用户查询范围,在所述扩展存储系统中对所述筛选出的数据执行分析和计算处理并输出处理结果。分析和计算处理可以包括合并汇总处理,用于对筛选出的数据进行汇总和统计。在一个示例中,加载步骤还用于根据扩展存储系统的存储结构来对所述筛选出的数据进行格式转换。在一个示例中,数据仓库可以基于筛选收集和合并汇总集群存储和计算。在另一示例中,该数据处理方法还包括以表格、图表格式输出处理结果。在一个示例中,临时数据模型包括一个或多个用户查询项和与查询项相关联的一个或多个限定条件。根据本发明的至少以上实施例,可以在集群存储数据仓库环境中,及时地响应快速、多变的数据需求,同时能够优化基于筛选收集和合并汇总集群的数据仓库系统的计算效率,并灵活扩展数据仓库接口的功能。


从下面结合附图对本发明的具体实施方式
的描述中可以更好地理解本发明,其中:图1示例性地示出了根据本发明实施例的数据仓库数据处理系统。图2示例性地示出了根据本发明实施例的数据仓库数据处理流程。图3示例性地示出了以程序代码实现的本发明的临时模型的设置示例。图4(a)和图4(b)示例性地示出了利用图3所示的临时数据模型得到的数据的显示示例。
具体实施例方式下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。在传统的数据仓库环境中,通常通过将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库中,成为联机分析处理、数据挖掘的基础。在对数据仓库中的数据进行分析处理和挖掘的过程中,传统上都是利用固定模型来组织数据,因此无法满足实时、多变的数据需求。此外,在利用模型组织数据的过程中,通常使用筛选收集-合并汇总,即,map-reduce分布式计算模式,筛选收集过程用于按照用户需要对数据仓库中的数据进行筛选和收集,合并汇总过程用于对筛选出的数据进行汇总和统计。在该模式中,筛选收集后的中间数据被存储在分布式节点的普通缓存结构中,从而导致后续合并汇总操作的处理量大、时间长、效率低。因此,需要对传统的数据仓库环境中的数据处理过程进行改进。图1示例性地示出了根据本发明实施例的数据仓库数据处理系统100。该数据仓库数据处理系统100包括临时数据模型建立单元110、数据仓库120、筛选收集单元130、加载单元140以及扩展存储系统150。临时数据模型建立单元110可以被配置为根据用户输入动态地建立临时数据模型。在一个示例中,临时数据模型可以包括一个或多个用户查询项和与查询项相关联的一个或多个限定条件。例如,临时数据模型建立单元110可以从用户获得用户通过输入装置键入的与数据仓库中一种或多种信息项相关联的关键词。在另一示例中,临时数据模型建立单兀Iio可以从系统中的诸如信息项列表选择一种或多种信息项作为输入。在另一不例中,临时数据模型可以是一组表结构以及其中数据,表结构可以根据需求灵活定义。信息项的示例例如可以是但不限于工业过程控制中的质量、模型、进度等,通讯条件和信号质量,环境监控过程中的环境状况信息,交通监控中的区域、路段交通流量,全局或局部气象信息、互联网中关于游戏客户端、用户的各种信息等。例如,限定条件可以是工业过程控制中的指定过程,交通控制中的指定路段,在线游戏中的指定游戏,等等。如上面提到的,在传统的基于数据仓库的数据处理技术中,都是以某种固定的数据模型为基础来组织数据的,由于这种模式的修改非常耗时且再次运行时处理量巨大,因此对于实时的数据需求反应缓慢,而且不能满足多样化的、灵活多变的数据需求。而本发明通过根据用户需求,动态地建立临时数据模型,不仅可以满足灵活的数据需求,而且临时模型的处理量小,运行时间短,能够实时地快速地对数据需求作出反应。另一方面,传统的固定模型会产生大量中间数据,因此需要大量的缓存进行存储。而本发明的临时数据模型只有用户所需的数据种类和范围,因此产生的中间数据量大大减少,进而能够减少所需要的存储量。数据仓库120存储有随时间变化的、历史的、存档的、归纳的、计算的数据。传统上,与一般的数据库相比,对数据仓库中的数据的访问的响应时间通常较长,甚至以小时作为计量单位。例如,数据仓库120可以基于集群式存储和计算,例如基于筛选收集-合并汇总集群存储和计算的系统架构,诸如由Apache基金会开发的分布式系统架构Hadoop,该架构可伴随着数据仓库工具Hive的使用。筛选收集单元130可以被配置为根据临时数据模型中的查询项和限定条件来从数据仓库120中筛选数据,用于填充临时数据模型。例如,筛选收集单元130可以利用筛选收集-合并汇总计算模型中效率较高的筛选收集阶段,来从数据仓库中筛选和收集数据。加载单元140可以被配置为将由筛选收集单元130筛选出的数据与临时数据模型相关联地加载到扩展存储系统150中。根据另一实施例,加载单元140还可以被配置为根据扩展存储系统的存储结构来对筛选出的数据进行格式转换。扩展存储系统150可以被配置为存储由加载单元140加载的筛选数据。扩展存储系统150例如可以包括加速存储数据库或功能扩展数据库,其是对传统上用于存储筛选数据的普通缓存存储系统的改进和扩展。
在一个示例中,如果所筛选出的数据的量大于阈值并需要多表关联查询,则将所筛选出的数据加载到例如加速存储数据库中,以便对数据进行快速地联接(join),例如多表关联查询。例如,加速存储数据库包括列式存储数据库。列式存储数据库在物理存储上基于列存储,该结构便于在列上对数据进行轻量级压缩,列上多个相同的值只需存储一份。由于列式存储和压缩的特点,对列式存储数据库的查询变得快速,因为数据被压缩在一起,在每次读取时可以获得更多数据。列式存储数据库的示例可以包括由Infobright公司开发的Infobright存储引擎。在另一示例中,功能扩展数据库可以对所筛选出的数据进行高级统计函数处理。功能扩展数据库的示例可以包括关系数据库,例如对象关系型数据库管理系统PostgreSQL。在传统技术中,通过筛选收集操作筛选出来的数据被存储在分布式节点中的普通缓存中。这种传统的存储结构使得后续的联接、查询、分析、汇总、统计等处理操作非常低效。通过使用扩展存储系统150,可以极大地优化基于传统集群存储计算的数据仓库系统的
计算效率。因此,在一个示例中,加载单元140可以被配置为对要加载的数据进行判断。如果数据量很大并需要复杂的联接操作,加载单元140就可以将数据载入到加速存储数据库中,以充分利用其高效地联接性能,从而规避了传统筛选收集-合并汇总计算模型中比较耗时的合并汇总阶段,提高了整体的计算效率。例如,加载单元140可以按列来存储筛选数据,并对值相同的列进行轻量级压缩。而对于需要使用某些高级统计函数的数据,加载单元140可以将数据载入到功能扩展数据库中,以利用其丰富的统计函数来满足相应需求,从而在一定程度上扩展传统数据仓库的功能。在另一示例中,根据本发明实施例的数据仓库处理系统100还可以进一步包括分析计算单元160。该分析计算单元160可以被配置为根据用户的查询范围,例如某个时间段期间,在扩展存储系统150中对筛选出的数据执行分析和计算处理,并输出处理结果。分析和计算处理可以包括合并汇总处理,用于对筛选出的数据进行汇总和统计。例如,分析计算单元160可以根据报表配置利用SQL语句、根据临时数据模型来从扩展存储数据库中提取要展示的数据。在诸如列式存储之类的加速存储数据库的情况下,可以利用数据操纵语言命令,仅仅对列所对应的数据库页链(page chain)进行数据扫描,而不进行全局访问,因此降低了数据操纵操作的输入输出量。报表配置可以包含查询数据的筛选条件、图表展示格式的定义,以及从临时数据模型中提取展示数据的SQL语句。相比于传统的数据仓库技术,由于扩展存储系统150的使用,使得分析计算单元的计算效率得到显著提高和/或可以通过扩展存储系统中丰富的高级统计函数来实现多种扩展功能。图2示例性地示出了根据本发明实施例的数据仓库数据处理流程200。下面对流程200的主要步骤进行描述。在步骤SI中,该流程响应于用户触发或对参数表中参数的选择而手动或自动地启动。在步骤S2中,根据所获得的输入动态地建立临时数据模型。相比于传统数据仓库处理中使用的固定模型,临时数据模型的动态建立能够满足快速、多变的数据需求。在步骤S3中,根据临时数据模型中的一个或多个用户查询项以及与查询项相关联的一个或多个限定条件来从数据仓库中筛选数据。在步骤S4,将筛选出的数据加载到扩展存储系统中。例如,如果筛选出的数据量很大并需要复杂的联接操作,则可以将数据载入到加速存储数据库中进行处理;而如果需要对筛选出的数据进行某些高级统计处理,就可以将数据载入到功能扩展数据库中。此外,本发明实施例的数据仓库数据处理方法200还可以包括步骤S5,在该步骤中,根据用户的查询范围,例如某个时间段期间,在扩展存储系统中对筛选出的数据执行分析和计算处理,诸如汇总和统计,并输出处理结果。例如,处理结果可以通过显示装置、音频装置等输出装置以图像、统计图表、文本、音频等形式输出给用户。本发明的上述系统和方法可以利用软件、硬件、固件或其组合来实现。图3示出了以程序代码实现本发明的临时模型的设置示例。如图3所示,在query标签配置中,例如,建立了关于某路段交通流量的如下的动态临时模型:dynamicETL = " ht_dau_trend [#start_date#_#end_date#—#snid#_#roadid#]"该示例性临时模型配置首先指明了临时模型的名称“ht_daU_trend” (路段交通流量趋势),而后,设置了 一系列的筛选参数“ [#start_date#_#end_date#_#snid#_#roadid#] ”,其中,start_date表不查询开始日期,end_date表不查询结束日期,snid表示查询平台ID,并且roadid表示路段ID。这些参数通过下面的parameter标签获得,用户最初提交请求时会选择这些参数。系统运行时,能够识别该临时模型的标识,并通过扩展,使临时模型可以直接接收用户输入的查询范围,进而驱动基于临时模型的数据仓库数据处理过程执行。例如,该处理过程会根据该临时数据模型从数据仓库存储集群中,根据用户选择的参数(例如,某路段的交通流量),将原始数据通过筛选收集过程选取出来,再将这些数据根据不同需要载入到扩展存储数据库中,例如加速存储数据库,这里例如是Infobright存储引擎。随后,系统还可以利用分析计算单元等,根据指定时间段(例如,开始日期、结束日期)从扩展存储数据库(如图3所示的dataSource = " infobright")中统计并展示数据。图4 (a)和4 (b)是利用图3所示的临时数据模型从数据仓库中汇总统计数据而得到的输出的显示示例。具体地,图4(a)示出了指定时间段中的交通流量统计量的表格,其中,第一列表示指定时间段,第二列表示该路段的交通流量。图4(b)示出了该时段期间的交通流量趋势的曲线图,其中,横轴表示指定时间段,纵轴表示该路段的交通流量。在本发明中,通过建立临时数据模型,并利用扩展存储来改进传统的筛选收集-合并汇总存储计算模型,可以灵活、快速地对数据仓库中的海量数据进行联机分析处理和挖掘。以上已经参考本发明的具体实施例来描述了本发明,但是本领域技术人员均了解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由所附权利要求或其等同物限定的本发明的精神和范围。根据需要可以用硬件或软件来执行步骤。注意,在不脱离本发明范围的前提下,可向本说明书中给出的流程图添加步骤、从中去除步骤或修改其中的步骤。一般来说,流程图只是用来指示用于实现功能的基本操作的一种可能的序列。
本发明的实施例可利用编程的通用数字计算机、利用专用集成电路、可编程逻辑器件、现场可编程门阵列、光的、化学的、生物的、量子的或纳米工程的系统、组件和机构来实现。一般来说,本发明的功能可由本领域已知的任何手段来实现。可以使用分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或者通过任何其他手段。还将意识到,根据特定应用的需要,附图中示出的要素中的一个或多个可以按更分离或更集成的方式来实现,或者甚至在某些情况下被去除或被停用。实现可存储在机器可读介质中的程序或代码以允许计算机执行上述任何方法,也在本发明的精神和范围之内。此外,附图中的任何信号箭头应当被认为仅是示例性的,而不是限制性的,除非另有具体指示。当术语被预见为使分离或组合的能力不清楚时,组件或者步骤的组合也将被认为是已经记载了。
权利要求
1.一种基于数据仓库的数据处理系统,该系统包括: 临时数据模型建立单元,被配置为根据用户输入动态地建立临时数据模型; 筛选收集单元,被配置为根据所述临时数据模型从所述数据仓库中筛选并收集数据;以及 加载单元,被配置为将筛选出的数据加载到扩展存储系统中。
2.如权利要求1所述的数据处理系统,其中,所述扩展存储系统包括加速存储数据库。
3.如权利要求2所述的数据处理系统,其中,如果所述所筛选出的数据的量大于阈值和/或需要多表关联查询,则将所述所筛选出的数据加载到所述加速存储数据库中。
4.如权利要求1所述的数据处理系统,其中,所述扩展存储系统包括功能扩展数据库。
5.如权利要求4所述的数据处理系统,其中,所述功能扩展数据库对所述所筛选出的数据进行高级统计函数处理。
6.如权利要求2所述的数据处理系统,其中,所述加速存储数据库包括列式存储数据库。
7.如权利要求6所述的数据处理系统,其中,所述列式存储数据库是Infobright存储引擎。
8.如权利要求4所述的数据处理系统,其中,所述功能扩展数据库包括关系数据库。
9.如权利要求8 所述的数据处理系统,其中,所述关系数据库是PostgreSQL数据库。
10.如权利要求1所述的数据处理系统,还包括:分析计算单元,被配置为根据用户查询范围,在所述扩展存储系统中对所述筛选出的数据执行分析和计算处理并输出处理结果O
11.如权利要求10所述的数据处理系统,其中,所述分析和计算处理包括合并汇总处理,用于对所述筛选出的数据进行汇总和统计。
12.如权利要求1所述的数据处理系统,其中,所述加载单元还被配置为根据所述扩展存储系统的存储结构来对所述筛选出的数据进行格式转换。
13.如权利要求1所述的数据处理系统,其中,所述数据仓库基于筛选收集和合并汇总集群存储和计算。
14.如权利要求10所述的数据处理系统,还包括报表输出单元,被配置为以表格、图表格式输出所述处理结果。
15.如权利要求1所述的数据处理系统,其中,所述临时数据模型包括一个或多个用户查询项和与查询项相关联的一个或多个限定条件。
16.一种基于数据仓库的数据处理方法,该方法包括: 临时数据模型建立步骤,用于根据用户输入动态地建立临时数据模型; 筛选收集步骤,用于根据所述临时数据模型从所述数据仓库中筛选并收集数据;以及 加载步骤,用于将筛选出的数据加载到扩展存储系统中。
17.如权利要求16所述的数据处理方法,其中,所述扩展存储系统包括加速存储数据库。
18.如权利要求17所述的数据处理方法,其中,如果所述所筛选出的数据的量大于阈值和/或需要多表关联查询,则将所述所筛选出的数据加载到所述加速存储数据库中。
19.如权利要求16所述的数据处理方法,其中,所述扩展存储系统包括功能扩展数据库。
20.如权利要求19所述的数据处理方法,其中,所述功能扩展数据库对所述所筛选出的数据进行高级统计函数处理。
21.如权利要求17所述的数据处理方法,其中,所述加速存储数据库包括列式存储数据库。
22.如权利要求21所述的数据处理方法,其中,所述列式存储数据库是Infobright存储引擎。
23.如权利要求19所述的数据处理方法,其中,所述功能扩展数据库包括关系数据库。
24.如权利要求23所述的数据处理方法,其中,所述关系数据库是PostgreSQL数据库。
25.如权利要求16所述的数据处理方法,还包括:根据用户查询范围,在所述扩展存储系统中对所述筛选出的数据执行分析和计算处理并输出处理结果。
26.如权利要求25所述的数据处理方法,其中,所述分析和计算处理包括合并汇总处理,用于对所述筛选出的数据进行汇总和统计。
27.如权利要求16所述的数据处理系统,其中,所述加载步骤还用于根据所述扩展存储系统的存储结构来对所述筛选出的数据进行格式转换。
28.如权利要求16所述的数据处理方法,其中,所述数据仓库基于筛选收集和合并汇总集群存储和计算。
29.如权利要求25所述的数据处理方法,还包括以表格、图表格式输出所述处理结果。
30.如权利要求16所述的数据处理方法,其中,所述临时数据模型包括一个或多个用户查询项和与查询项相关联的一个或多个限定条件。
全文摘要
本发明公开了一种基于数据仓库的数据处理系统和方法。该数据处理系统包括临时数据模型建立单元,被配置为根据用户输入动态地建立临时数据模型;筛选收集单元,被配置为根据所述临时数据模型从所述数据仓库中筛选并收集数据;以及加载单元,被配置为将筛选出的数据加载到扩展存储系统中。
文档编号G06F17/30GK103218415SQ20131010124
公开日2013年7月24日 申请日期2013年3月27日 优先权日2013年3月27日
发明者白冬立, 乔万里, 黄建, 张丽丽, 张岩, 魏来, 马小珩, 潘飞 申请人:互爱互动(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1