本发明专利技术提供一种数据仓库数据处理方法,包括:从业务系统中抽取出原始数据并生成源系统数据表;对源系统数据表去冗余并对数据记历史,建立历史数据表;建立事实数据表对历史数据表的数据进行归类;对事实数据表的数据进行汇总,建立汇总数据表;统计两个或两个以上汇总数据表之间的指标数据,建立统计数据表;基于事实数据表、汇总数据表、统计数据表的数据,建立应用数据表。本发明专利技术提供的数据仓库数据处理方法,避免了通用维度模型层中每一层级内部的任务相互依赖,使得任务的并行数目达到最大,计算机资源能够被有效利用,从而提高数据仓库数据处理的效率。本发明专利技术还提供了相应的数据仓库数据处理系统,能够实现本发明专利技术的数据仓库数据处理方法。
【技术实现步骤摘要】
本专利技术涉及数据库领域,尤其涉及一种数据仓库数据处理方法和系统。
技术介绍
数据库(Database )是按照数据结构来组织、存储和管理数据的仓库。对数据库数据的处理大致分为两类:一类是操作型处理,这类处理通常用于对数据库中的少数记录进行查询、修改;另一类是分析型处理,这类处理一般用于对历史数据进行分析,使得数据能够应用于决策,所述分析型处理后得到的面向主题的、集成的、与时间相关的、不可修改的数据集合可以称为数据仓库。数据仓库的任务主要是把信息加以整理归纳和重组,并及时提供给决策人员。目前数据仓库的数据处理通常通过分布式系统来实现,所述分布式系统可以将多台计算机联合起来,构成计算机群,并行处理大规模的数据,同时在多台计算机上运行不同任务。目前数据仓库中对数据进行处理一般建立在ETL数据处理理论的基础上的,ETL是指Extract1n (抽取)、Transformat1n (转换)、和Loading (加载)。具体的ETL操作包括:将业务系统中的数据抽取出来,并将不同数据源的数据按照业务需要进行转换和整合,得出目标数据,然后将目标数据加载到数据仓库中。数据仓库一般是以数据表的结构存储数据,每个数据表对应一个数据对象。数据表是指一系列二维数组的集合,通常用来代表和储存数据对象之间的关系。数据库表可以由纵向的列和横向的行组成,例如一个有关作者信息的名为“作者”的表中,每个列包含的是所有作者的某个特定类型的信息,比如“姓氏”,而每行则包含了某个特定作者的所有信息:姓、名、住址等等。对于特定的数据库表,列的数目一般事先固定,各列之间可以由列名来识别。在数据仓库数据处理过程中,通常将建立或生成一个数据表作为一个任务,所述任务的初始状态可以是未完成状态;对每一个任务设置一个任务状态标识来表不该任务的任务状态,例如用“O”表示任务状态为未完成,用“I”表示任务状态为完成。若需要第一个任务完成后才能执行第二个任务,那么所述第一个任务称为父任务,所述第二个任务称为子任务。对于数据仓库数据处理过程,父任务和子任务分别占用调度系统的一个调度层级。调度系统可以记录各个任务之间的依赖关系。通常,数据仓库数据处理过程中,子任务每隔预定时间,主动查询其依赖的父任务的任务状态。若父任务的任务状态均为已完成状态,则可以执行子任务。常用的数据处理方法包括称为Inmon的企业信息化工厂式的数据处理方法和称为Kimball的维度数据仓库总线体系结式的数据处理方法构。所述Inmon的企业信息化工厂式的数据处理方法,该数据处理方法通过ETL将业务源系统的数据经过抽取、转换之后加载到企业数据仓库,在此企业数据仓库基础层上建立面向主题的数据集市。在主题数据集市的基础上,提供应用层服务。所述企业数据仓库基础模型遵循实体-联系模型(简称E-R模型)的原则来设计。所述企业数据仓库基础层基于原始数据的性质,尽可能保存粒度最细的数据。所述方法在数据集市中采用维度设计的方法。另一种称为Kimball的维度数据仓库总线体系结构式的数据处理方法,该数据处理方法主要从业务源系统根据ETL理论建立维度数据仓库基础层。所述维度数据基础层根据维度建模的原则来设计,由一系列的星型模型和多维数据集组成。在维度数据模型的基础上建立面向主题的数据集市,数据集市同样采用维度建模的原则,对基础层重新进行维度定义和聚合。再在主题集市的基础上,建立各种应用层服务。上述两种数据仓库数据处理方法实现时将数据仓库划分为四层结构,分别为:源系统数据处理层、企业数据仓库数据处理层、通用维度模型数据处理层和应用数据处理层。源系统数据处理层用于从业务系统抽取原始数据,所述源系统数据处理层一般占用调度系统的一个调度层级;企业数据仓库数据处理层用于以关系模型存储各类业务数据,实现海量数据的集中、稳定、有序存贮,所述企业数据仓库数据处理层一般占用调度系统的一个或两个调度层级;通用维度模型数据处理层用于根据主题应用存贮数据集合,所述通用维度模型数据处理层对数据处理时任务比较复杂,一般需要占用调度系统的多个调度层级;应用数据处理层主要用于向用户提供业务数据,所述应用数据处理层一般占用调度系统的一个层级。在实现本申请过程中,专利技术人发现现有技术中至少存在如下问题:由于通用维度模型数据处理层在对数据进行处理时任务比较复杂,通用维度模型数据处理层级中的任务在该层级内部相互依赖,这样通用维度模型层在处理数据时实际会占用调度系统的多个调度层级。例如通用维度模型层中的任务可能既包含对基础信息进行描述,也包含对信息进行汇总、统计等,而对信息进行汇总依赖于对基础信息进行描述,对信息进行统计又依赖于对信息进行汇总。这样,可能多个任务依赖少数几个任务,那么在某个时间段,所述通用维度模型层中可能只有所述少数几个任务在执行,下游节点的所述多个任务都在等待所述少数几个任务结束,这样分布式系统环境下的计算机资源不能被有效利用,数据仓库的数据处理效率不高。
技术实现思路
本专利技术的目的在于提高一种数据仓库数据处理方法和系统,以提高数据处理效率。一种数据仓库数据处理方法,包括:从业务系统中抽取出原始数据并生成源系统数据表;对源系统数据表去冗余并对数据记历史,建立历史数据表;建立事实数据表对历史数据表的数据进行归类;对事实数据表的数据进行汇总,建立汇总数据表;统计两个或两个以上汇总数据表之间的指标数据,建立统计数据表;基于事实数据表、汇总数据表、统计数据表的数据,建立应用数据表。优选方案中,所述数据处理方法还包括:对历史数据表中的底层数据进行分析归类,建立归类数据表;相应地,所述建立事实数据表对历史数据表的数据进行归类,包括:建立事实数据表对历史数据表和/或归类数据表的数据进行归类。优选方案中,所述建立一个数据表称为一个当前任务;每一任务的初始任务状态为未完成状态。优选方案中,设置一状态标识来表不每一任务的任务状态。优选方案中,在所述建立任一数据表之前,还包括:查询当前任务所依赖的父任务的任务状态;若父任务的状态均为完成状态,执行当前任务;若父任务的状态中至少有一个父任务是未完成状态,在预定时间间隔后,重新查询当前任务所依赖的父任务的任务状态。一种数据仓库数据处理系统,包括:源系统数据处理单元、企业数据仓库第一处理单元、通用维度模型第一处理单元、通用维度模型第二处理单元、通用维度模型第三处理单元、应用数据处理单元;其中,所述源系统数据处理单元,用于从各个业务系统中抽取出原始数据,生成一个或一个以上的源系统数据表;所述企业数据仓库第一处理单元,用于对源系统数据处理单元中的源系统数据表去冗余并对数据记历史,产生与源系统数据表相对应的一个或一个以上的历史数据表;所述通用维度模型第一处理单元,用于建立一个或一个以上的事实表对企业数据仓库第一处理单元的数据进行归类;所述通用维度模型第二处理单元,用于对通用维度模型第一处理单元的数据进行汇总,生成至少一个汇总数据表;所述通用维度模型第三处理单元,用于统计通用维度模型第二处理单元中表与表的指标数据,生成至少一个统计数据表;所述应用数据处理单元,用于根据通用维度模型第一处理单元、通用维度模型第二处理单元、通用维度模型第三处理单元的数据生成应用数据表。优选方案中,所述企业数据仓库第一处理单元调用源本文档来自技高网...
【技术保护点】
一种数据仓库数据处理方法,其特征在于,包括:从业务系统中抽取出原始数据并生成源系统数据表;对源系统数据表去冗余并对数据记历史,建立历史数据表;建立事实数据表对历史数据表的数据进行归类;对事实数据表的数据进行汇总,建立汇总数据表;统计两个或两个以上汇总数据表之间的指标数据,建立统计数据表;基于事实数据表、汇总数据表、统计数据表的数据,建立应用数据表。
【技术特征摘要】
【专利技术属性】
技术研发人员:徐玉鹏,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。