分布式数据仓库中的数据更新方法和装置的制造方法_3

文档序号:8922624阅读:来源:国知局
型的初始化版本号、所述升级序号以及所述层级名称,设置所述层级数据模型的当前版本号。
[0064]下面结合图1b所示的层级数据模型进行说明。
[0065]该层级数据模型依次包括:维度数据层(DIM)、缓冲数据层(Buffering DataModel,BDM)、基础数据层(Fundamental Data Model, FDM)、通用数据层(General DataModel,GDM)和聚合数据层(Aggregative Data Model,ADM)。
[0066]其中,维度数据层用于从所述源系统中抓取所述升级过程关联的维度数据,并装载到所述维度数据层中新建的数据表中;缓冲数据层用于从所述源系统中抓取对应的更新数据,并装载到所述缓冲数据层中新建的数据表中;基础数据层用于从所述缓冲数据层获取所述更新数据,并装载到所述基础数据层中新建的数据表中;通用数据层用于按照业务主题,对所述基础数据层中的所述更新数据进行业务加工处理,得到所述更新数据对应的业务主题数据,并装载到所述通用数据层中新建的数据表中;聚合数据层用于对所述基础数据层中的所述更新数据或者所述通用数据层中的所述业务主题数据,根据所述维度数据进行聚合,并将聚合数据装载到所述聚合数据层中新建的数据表中。
[0067]示例性地,请参阅图lc,假设源系统升级前的源数据表为两张,名称分别为“表X”和“表Y”,分布式数据仓库中的层级数据模型的数据缓冲层中相应的有两张原始数据表,名称分别为“表I”和“表2”,分布式数据仓库中的缓冲数据层的初始版本号设置为JD_BDM_VI,其中,名称为“表X”的源数据表中的数据与名称为“表I”的原始数据表中的数据一致,名称为“表I”的原始数据表的初始版本号为JD_V1_0,名称为“表Y”的源数据表中的数据与名称为“表2”的原始数据表中的数据一致,名称为“表2”的原始数据表的初始版本号为JD_V1_0 ;相应的,分布式数据仓库中的基础数据层的初始版本号设置为JD_FDM_V1,该层中,名称为“表I”的数据表的初始版本号为JD_V1_0,名称为“表2”的数据表的初始版本号为JD_V1_0 ;相应的,分布式数据仓库中的通用数据层的初始版本号设置为JD_GDM_V1,该层中,名称为“表I”的数据表的初始版本号为JD_V1_0,名称为“表2”的数据表的初始版本号为JD_V1_0 ;相应的,分布式数据仓库中的聚合数据层的初始版本号设置为JD_ADM_V1,该层中,名称为“表I”的数据表的初始版本号为JD_V1_0,名称为“表2”的数据表的初始版本号为JD_V1_0 ;相应的,分布式数据仓库中的维度数据层的初始版本号设置为JD_DIM_VI,该层中,名称为“表I”的数据表的初始版本号为JD_V1_0,名称为“表2”的数据表的初始版本号为JD_V1_0。
[0068]请参阅图ld,假设在源系统第一次升级过程中,名称为“表X”的源数据表中的数据发生变化,升级类型为“数据表结构变更”,用标识4表征,缓冲数据层的版本号为JD_BDM_V2,将抓取的所述更新数据输入所述层级数据模型,则经过缓冲数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V2_4 ;基础数据层的版本号为JD_FDM_V2,经过基础数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V2_4 ;通用数据层的版本号为JD_GDM_V2,经过通用数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V2_4 ;聚合数据层的版本号为JD_ADM_V2,经过聚合数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V2_4 ;维度数据层的版本号为JD_DIM_V2,经过维度数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V2_4。
[0069]请参阅图le,假设在源系统第二次升级过程中,名称为“表X”的源数据表中的数据发生变化,升级类型为“数据表的数据含义变更”,用标识5表征,缓冲数据层的版本号为JD_BDM_V3,将抓取的所述更新数据输入所述层级数据模型,则经过缓冲数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V3_5 ;基础数据层的版本号为JD_FDM_V3,经过基础数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V3_5 ;通用数据层的版本号为JD_GDM_V3,经过通用数据层后,得到更新的数据表,名称仍沿用“表I ”,版本号为JD_V3_5;聚合数据层的版本号为JD_ADM_V3,经过聚合数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V3_5 ;维度数据层的版本号为JD_DIM_V3,经过维度数据层后,得到更新的数据表,名称仍沿用“表I ”,版本号为JD_V3_5。
[0070]在源系统的每一次升级过程中,动态设置缓冲数据层的版本号,与缓冲数据层有血缘关系的基础数据层、通用数据层、聚合数据层以及维度数据层都会进行版本号动态更新,同时,更新各层级的数据,只记录当前升级过程对应的更新数据;并根据各层级数据模型的当前版本号,以及所述源系统的升级类型,动态设置各层级中当前更新后的数据表的当前版本号,最终,在源系统每次升级后,形成一棵完成的版本进化树。而当前更新后的数据表的名称则沿用所述更新数据所属的源数据表的名称所映射到的所述分布式数据仓库中对应的原始数据表的名称,保持静态不变,因此,通过分布式数据仓库中的名称相同的数据表的不同版本号,即可查询确定在源系统每次升级过程中,分布式数据仓库中的对应数据表的动态更新过程和源系统的相应的升级类型,可以为不同数据分析口径提供支持;此夕卜,对分布式数据仓库的数据模型的版本号进行动态更新,弱化了源系统频繁升级对分布式数据仓库的数据模型的影响。
[0071 ] 在上述实例中,所述层级数据模型还可包括:
[0072]临时数据层,用于存储所述通用数据层执行业务加工处理操作的中间数据,和/或所述聚合数据层执行聚合操作的中间数据。
[0073]实施例二
[0074]请参阅图2,为本发明实施例二提供的一种分布式数据仓库中的数据更新装置的结构示意图。该装置包括:数据模型版本初始化模块210、数据表版本初始化模块220、更新要素获取模块230、数据表更新模块240、数据表名称配置模块250、数据模型版本配置模块260和数据表版本配置模块270。
[0075]其中,数据模型版本初始化模块210用于设置分布式数据处理平台中的分布式数据仓库的数据模型的初始版本号;数据表版本初始化模块220用于根据所述数据模型的初始化版本号,设置所述分布式数据仓库中的原始数据表的初始版本号,其中,所述分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致;更新要素获取模块230用于在源系统的源数据表的升级过程中,从所述源系统中抓取对应的更新数据以及所述更新数据所属的源数据表的名称,确定所述源系统的升级类型和升级序号;数据表更新模块240用于将抓取的所述更新数据输入所述数据模型,得到当前更新后的数据表;数据表名称配置模块250用于根据所述更新数据所属的源数据表的名称,确定所述分布式数据仓库中对应的原始数据表的名称,作为所述当前更新后的数据表的名称;数据模型版本配置模块260用于根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号;数据表版本配置模块270用于根据所述数据模型的当前版本号,以及所述源系统的升级类型,设置所述当前更新后的数据表的当前版本号。
[0076]在上述方案中,所述数据模型可以为层级数据模型;
[0077]所述数据模型版本初始化模块210具体可用于:根据所述层级数据模型的层级名称,设置所述层级数据模型的初始化版本号;
[0078]所述数据模型版本配置模块260具体可用于:根据所述层级数据模型的初始化版本号、所述升级序号以及所述层级名称,设置所述层级数据模型的当前版本号。
[0079]在上述方案中,在所述数据模型为层级数据模型时,可依次包括:维度数据层、缓冲数据层、基础数据层、通用数据层和聚合数据层。
[0080]其中,维度数据层用于从所述源系统中抓取所述升级过程关联的维度数据,并装载到所述维度数据层中新建的数据
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1