CN104899257A - 分布式数据仓库中的数据更新方法和装置 - Google Patents

分布式数据仓库中的数据更新方法和装置 Download PDF

Info

Publication number
CN104899257A
CN104899257A CN201510254402.9A CN201510254402A CN104899257A CN 104899257 A CN104899257 A CN 104899257A CN 201510254402 A CN201510254402 A CN 201510254402A CN 104899257 A CN104899257 A CN 104899257A
Authority
CN
China
Prior art keywords
data
version number
tables
model
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510254402.9A
Other languages
English (en)
Other versions
CN104899257B (zh
Inventor
孙冬
董月红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510254402.9A priority Critical patent/CN104899257B/zh
Publication of CN104899257A publication Critical patent/CN104899257A/zh
Application granted granted Critical
Publication of CN104899257B publication Critical patent/CN104899257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning

Abstract

本发明提供一种分布式数据仓库中的数据更新方法和装置。该方法包括:设置分布式数据仓库的数据模型的初始版本号;设置分布式数据仓库中的原始数据表的初始版本号;在源系统升级过程中,抓取对应的更新数据以及更新数据所属的源数据表的名称,确定源系统的升级类型和升级序号;将更新数据输入数据模型得到当前更新后的数据表;根据所述名称,确定分布式数据仓库中对应的原始数据表的名称,作为当前更新后的数据表的名称;根据数据模型的初始版本号以及升级序号,设置数据模型的当前版本号;根据数据模型的当前版本号以及升级类型,设置当前更新后的数据表的当前版本号,可确定分布式数据仓库中对应数据表的每次动态更新过程和源系统的升级类型。

Description

分布式数据仓库中的数据更新方法和装置
技术领域
本发明实施例涉及数据仓库技术领域,尤其涉及一种分布式数据仓库中的数据更新方法和装置。
背景技术
以电子商务为例,随着电子商务的发展,京东、淘宝、亚马逊等电子商务公司日常运营中生成以及累积的大量用户、商品和生产相关的数据,呈现爆发式增长,数据结构也开始多元化,数据含有的信息量越来越多,这些公司对数据化运营也越来越关注。数据库用于对数据进行分处理工作,发挥着巨大的作用。大数据时代的降临,数据库转成为分布式架构,以满足爆发式增长的计算及存储的需求。分布式数据仓库一般使用列式存储,并以文件的形式保存数据,因此,采用分布式数据仓库可提高了大数据的存储及计算性能。随着前端的源系统的频繁升级,后台运行的分布式数据处理平台中分布式数据仓库中的数据也需要及时更新,因此,分布式数据仓库中的数据更新的技术应运而生。
现有的分布式数据仓库中的数据更新技术,一般是,通过分布式数据处理平台抓取源系统升级对应的全量数据;删除分布式数据仓库中的与所述全量数据对应的原始数据表;根据所述全量数据调整分布式数据仓库的已有的数据模型,并利用调整后的数据模型对全量数据进行转换,最后将转换后的数据装载到在分布式数据仓库中新建的数据表中。
上述分布式数据仓库中的数据更新技术存在以下缺陷:第一、抓取的数据量巨大,对源系统的正常运行带来较大的影响;第二、无法保留源系统的升级前的数据,且通过分布式数据仓库中更新后的数据无法确定源系统升级所导致的数据的具体变更;第三、随着源系统的不断升级,分布式数据仓库的数据的频繁更新会消耗大量的计算和存储资源。
发明内容
本发明实施例提供一种分布式数据仓库中的数据更新方法和装置,以优化分布式数据仓库中的数据的更新方式。
第一方面,本发明实施例提供了一种分布式数据仓库中的数据更新方法,包括:
设置分布式数据处理平台中的分布式数据仓库的数据模型的初始版本号;
根据所述数据模型的初始化版本号,设置所述分布式数据仓库中的原始数据表的初始版本号,其中,所述分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致;
在源系统的源数据表的升级过程中,从所述源系统中抓取对应的更新数据以及所述更新数据所属的源数据表的名称,确定所述源系统的升级类型和升级序号;
将抓取的所述更新数据输入所述数据模型,得到当前更新后的数据表;
根据所述更新数据所属的源数据表的名称,确定所述分布式数据仓库中对应的原始数据表的名称,作为所述当前更新后的数据表的名称;
根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号;
根据所述数据模型的当前版本号,以及所述源系统的升级类型,设置所述当前更新后的数据表的当前版本号。
第二方面,本发明实施例提供了一种分布式数据仓库中的数据更新装置,包括:
数据模型版本初始化模块,用于设置分布式数据处理平台中的分布式数据仓库的数据模型的初始版本号;
数据表版本初始化模块,用于根据所述数据模型的初始化版本号,设置所述分布式数据仓库中的原始数据表的初始版本号,其中,所述分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致;
更新要素获取模块,用于在源系统的源数据表的升级过程中,从所述源系统中抓取对应的更新数据以及所述更新数据所属的源数据表的名称,确定所述源系统的升级类型和升级序号;
数据表更新模块,用于将抓取的所述更新数据输入所述数据模型,得到当前更新后的数据表;
数据表名称配置模块,用于根据所述更新数据所属的源数据表的名称,确定所述分布式数据仓库中对应的原始数据表的名称,作为所述当前更新后的数据表的名称;
数据模型版本配置模块,用于根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号;
数据表版本配置模块,用于根据所述数据模型的当前版本号,以及所述源系统的升级类型,设置所述当前更新后的数据表的当前版本号。
本发明实施例提供的分布式数据仓库中的数据更新方法和装置,在源系统升级前,通过设置对分布式数据仓库的数据模型的初始版本号,以及分布式数据仓库中的原始数据表的初始版本号,使得通过分布式数据仓库中的原始数据表的初始版本号,即可查询分布式数据仓库中的原始数据表,由于分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致,因此可以确定源系统升级前的源数据表中的数据;在源系统的升级过程中,只抓取对应的更新数据,相对于现有技术中抓取全量数据而言,使得抓取的数据量大大减少,因此,减小了对源系统的正常运行的影响,同时,将源系统的升级对应的更新数据记录到当前更新后的数据表中,避免了现有技术中由大量删除操作所导致的对分布式数据仓库的计算和储存的影响;在源系统每次升级过程中,将源系统的升级对应的更新数据记录到当前更新后的数据表中,并根据所述数据模型的初始版本号以及所述升级序号,动态设置所述数据模型的当前版本号,并根据所述数据模型的当前版本号,以及所述源系统的升级类型,动态设置所述当前更新后的数据表的当前版本号,而当前更新后的数据表的名称则沿用所述更新数据所属的源数据表的名称所映射到的所述分布式数据仓库中对应的原始数据表的名称,保持静态不变,因此,通过分布式数据仓库中的名称相同的数据表的不同版本号,即可查询确定在源系统每次升级过程中,分布式数据仓库中的对应数据表的动态更新过程和源系统的相应的升级类型,可以为不同数据分析口径提供支持;此外,对分布式数据仓库的数据模型的版本号进行动态更新,弱化了源系统频繁升级对分布式数据仓库的数据模型的影响。
附图说明
为了更清楚地说明本发明,下面将对本发明中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a为本发明实施例一提供的一种分布式数据仓库中的数据更新方法的流程示意图;
图1b为本发明实施例一提供的一种层级数据模型的示意图;
图1c为本发明实施例一提供的分布式数据仓库中的数据更新实例中源系统升级前的分布式数据仓库中的数据模型以及对应的数据表的版本号的设置效果图;
图1d为本发明实施例一提供的分布式数据仓库中的数据更新实例中源系统第一次升级后的分布式数据仓库中的数据模型以及对应的数据表的版本号的设置效果图;
图1e为本发明实施例一提供的分布式数据仓库中的数据更新实例中源系统第二次升级后的分布式数据仓库中的数据模型以及对应的数据表的版本号的设置效果图;
图2为本发明实施例二提供的一种分布式数据仓库中的数据更新装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案作进一步详细描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
请参阅图1a,为本发明实施例一提供的一种分布式数据仓库中的数据更新方法的流程示意图。本发明实施例的方法可以由配置以硬件和/或软件实现的分布式数据仓库中的数据更新装置来执行,该更新装置典型的是配置于分布式数据处理平台中,通常,分布式数据处理平台包括多个处理器,呈分布式设置,该实现配置具体可配置在所述分布式数据处理平台中的某个处理器中。
该方法包括:步骤110~步骤170。
步骤110、设置分布式数据处理平台中的分布式数据仓库的数据模型的初始版本号。
步骤120、根据所述数据模型的初始化版本号,设置所述分布式数据仓库中的原始数据表的初始版本号,其中,所述分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致。
步骤110和步骤120在源系统的源数据表升级之前执行。源系统运行在前端,分布式数据处理平台运行在后台,其中,对于不同的应用领域,前端的源系统要升级的源数据表不同。例如,在电子商务领域,当卖家对商品价格进行优惠调整,买家购买商品生成订单时,前端的源系统中的源数据表中的应收价格需要相应升级。
需要说明的是,在源系统和分布式数据处理平台开发完成,将源系统中的源数据表和分布式数据处理平台中的原始数据表进行数据表映射之后,源系统中的源数据表中的数据与分布式数据处理平台中的分布式数据表中的原始数据表中的数据一致。在这种情况下,执行步骤110和步骤120。
示例性地,将分布式数据仓库中的数据模型的初始版本号设置为:公司简称_数据模型名称_Vn,其中,n为自然数1;将所述分布式数据仓库中的原始数据表的初始版本号设置为:公司简称_Vn_m,其中,m为自然数0。对于电子商务平台京东而言,具体可以将分布式数据仓库中的数据模型的初始版本号设置为:JD_M_V1,将所述分布式数据仓库中的原始数据表的初始版本号设置为:JD_V1_0。
需要说明的是,分布式数据仓库中的多张原始数据表的初始版本号均相同,但是,多张原始数据表的名称各不相同。
通过分布式数据仓库中的原始数据表的初始版本号,即可查询分布式数据仓库中的原始数据表,由于所述分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致,因此可以确定源系统升级前的源数据表中的数据。
步骤130、在源系统的源数据表的升级过程中,从所述源系统中抓取对应的更新数据以及所述更新数据所属的源数据表的名称,确定所述源系统的升级类型和升级序号。
在源系统的源数据表的升级过程中,只抓取对应的更新数据,相对于现有技术中抓取全量数据(不仅包括更新数据,还包括未更新数据)而言,使得抓取的数据量大大减少,因此,减小了对源系统的正常运行的影响。
本步骤中,所述源系统的升级类型可包括下述至少一项:
源系统的业务升级、数据存储模式变更、数据库类型升级、数据表结构变更,以及数据表的数据含义变更。
其中,源系统业务升级可包括:数据表的名称和/或字段的含义发生变化;源系统的数据存储模式变更可包括:由单表存储变成分库分表存储;源系统的数据库类型升级可包括:如oracle库升级为mysql库;源系统的数据表结构变更可包括:添加字段数量和/或调整字段类型等;源系统的数据表的数据含义变更,例如,某字段数据记录的是应收数据,现变成为记录应收数据减优惠数据。
步骤140、将抓取的所述更新数据输入所述数据模型,得到当前更新后的数据表。
数据模型用于将源系统的升级对应的更新数据记录到新建的数据表(也即当前更新后的数据表)中。
步骤150、根据所述更新数据所属的源数据表的名称,确定所述分布式数据仓库中对应的原始数据表的名称,作为所述当前更新后的数据表的名称。
步骤160、根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号。
其中,升级序号代表升级次数,源系统每升级一次,数据模型的当前版本号相应更新一次。
示例性地,将分布式数据仓库中的数据模型的初始版本号设置为:公司简称_数据模型名称_Vn,其中,n为自然数1;则第一次升级后,数据模型的当前版本号更新为:公司简称_数据模型名称_V2;第二次升级后,数据模型的当前版本号更新为:公司简称_数据模型名称_V3,以此类推。
步骤170、根据所述数据模型的当前版本号,以及所述源系统的升级类型,设置所述当前更新后的数据表的当前版本号。
前已述及,所述源系统的升级类型可包括多种类型,在设置所述当前更新后的数据表的当前版本号时,可以用不同的标识代表不同的升级类型。
示例性地,假设源系统升级前的源数据表为两张,名称分别为“表X”和“表Y”,分布式数据仓库中相应的有两张原始数据表,名称分别为“表1”和“表2”,分布式数据仓库中的数据模型的初始版本号设置为JD_M_V1,其中,名称为“表X”的源数据表中的数据与名称为“表1”的原始数据表中的数据一致,名称为“表1”的原始数据表的初始版本号为JD_V1_0,名称为“表Y”的源数据表中的数据与名称为“表2”的原始数据表中的数据一致,名称为“表2”的原始数据表的初始版本号为JD_V1_0。
假设在源系统第一次升级过程中,名称为“表X”的源数据表中的数据发生变化,升级类型为“数据表结构变更”,用标识4表征,抓取相应的更新数据,将抓取的所述更新数据输入所述数据模型,得到当前更新后的数据表,根据所述更新数据所属的源数据表的名称“表X”,确定所述分布式数据仓库中对应的原始数据表的名称“表1”,作为所述当前更新后的数据表的名称,也即当前更新后的数据表的名称为“表1”;根据所述数据模型的初始版本号“JD_M_V1”以及所述升级序号1(表示第一次升级),设置所述数据模型的当前版本号“JD_M_V2”;根据所述数据模型的当前版本号“JD_M_V2”,以及所述源系统的升级类型,设置所述当前更新后的数据表的当前版本号“JD_V2_升级类型标识”,也即“JD_V2_4”。
本实施例的技术方案,在源系统升级前,通过设置对分布式数据仓库的数据模型的初始版本号,以及分布式数据仓库中的原始数据表的初始版本号,使得通过分布式数据仓库中的原始数据表的初始版本号,即可查询分布式数据仓库中的原始数据表,由于分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致,因此可以确定源系统升级前的源数据表中的数据;在源系统的升级过程中,只抓取对应的更新数据,相对于现有技术中抓取全量数据而言,使得抓取的数据量大大减少,因此,减小了对源系统的正常运行的影响,同时,将源系统的升级对应的更新数据记录到当前更新后的数据表中,避免了现有技术中由大量删除操作所导致的对分布式数据仓库的计算和储存的影响;在源系统每次升级过程中,将源系统的升级对应的更新数据记录到当前更新后的数据表中,并根据所述数据模型的初始版本号以及所述升级序号,动态设置所述数据模型的当前版本号,并根据所述数据模型的当前版本号,以及所述源系统的升级类型,动态设置所述当前更新后的数据表的当前版本号,而当前更新后的数据表的名称则沿用所述更新数据所属的源数据表的名称所映射到的所述分布式数据仓库中对应的原始数据表的名称,保持静态不变,因此,通过分布式数据仓库中的名称相同的数据表的不同版本号,即可查询确定在源系统每次升级过程中,分布式数据仓库中的对应数据表的动态更新过程和源系统的相应的升级类型,可以为不同数据分析口径提供支持;此外,对分布式数据仓库的数据模型的版本号进行动态更新,弱化了源系统频繁升级对分布式数据仓库的数据模型的影响。
本实施例对步骤150和步骤160的执行顺序不进行限制。
实例
在上述方案中,所述数据模型可以为层级数据模型;
设置所述数据模型的初始版本号,具体可以包括:
根据所述层级数据模型的层级名称,设置所述层级数据模型的初始化版本号;
相应的,根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号,具体可以包括:
根据所述层级数据模型的初始化版本号、所述升级序号以及所述层级名称,设置所述层级数据模型的当前版本号。
下面结合图1b所示的层级数据模型进行说明。
该层级数据模型依次包括:维度数据层(DIM)、缓冲数据层(Buffering DataModel,BDM)、基础数据层(Fundamental Data Model,FDM)、通用数据层(General Data Model,GDM)和聚合数据层(Aggregative Data Model,ADM)。
其中,维度数据层用于从所述源系统中抓取所述升级过程关联的维度数据,并装载到所述维度数据层中新建的数据表中;缓冲数据层用于从所述源系统中抓取对应的更新数据,并装载到所述缓冲数据层中新建的数据表中;基础数据层用于从所述缓冲数据层获取所述更新数据,并装载到所述基础数据层中新建的数据表中;通用数据层用于按照业务主题,对所述基础数据层中的所述更新数据进行业务加工处理,得到所述更新数据对应的业务主题数据,并装载到所述通用数据层中新建的数据表中;聚合数据层用于对所述基础数据层中的所述更新数据或者所述通用数据层中的所述业务主题数据,根据所述维度数据进行聚合,并将聚合数据装载到所述聚合数据层中新建的数据表中。
示例性地,请参阅图1c,假设源系统升级前的源数据表为两张,名称分别为“表X”和“表Y”,分布式数据仓库中的层级数据模型的数据缓冲层中相应的有两张原始数据表,名称分别为“表1”和“表2”,分布式数据仓库中的缓冲数据层的初始版本号设置为JD_BDM_V1,其中,名称为“表X”的源数据表中的数据与名称为“表1”的原始数据表中的数据一致,名称为“表1”的原始数据表的初始版本号为JD_V1_0,名称为“表Y”的源数据表中的数据与名称为“表2”的原始数据表中的数据一致,名称为“表2”的原始数据表的初始版本号为JD_V1_0;相应的,分布式数据仓库中的基础数据层的初始版本号设置为JD_FDM_V1,该层中,名称为“表1”的数据表的初始版本号为JD_V1_0,名称为“表2”的数据表的初始版本号为JD_V1_0;相应的,分布式数据仓库中的通用数据层的初始版本号设置为JD_GDM_V1,该层中,名称为“表1”的数据表的初始版本号为JD_V1_0,名称为“表2”的数据表的初始版本号为JD_V1_0;相应的,分布式数据仓库中的聚合数据层的初始版本号设置为JD_ADM_V1,该层中,名称为“表1”的数据表的初始版本号为JD_V1_0,名称为“表2”的数据表的初始版本号为JD_V1_0;相应的,分布式数据仓库中的维度数据层的初始版本号设置为JD_DIM_V1,该层中,名称为“表1”的数据表的初始版本号为JD_V1_0,名称为“表2”的数据表的初始版本号为JD_V1_0。
请参阅图1d,假设在源系统第一次升级过程中,名称为“表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。
请参阅图1e,假设在源系统第二次升级过程中,名称为“表X”的源数据表中的数据发生变化,升级类型为“数据表的数据含义变更”,用标识5表征,缓冲数据层的版本号为JD_BDM_V3,将抓取的所述更新数据输入所述层级数据模型,则经过缓冲数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V3_5;基础数据层的版本号为JD_FDM_V3,经过基础数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V3_5;通用数据层的版本号为JD_GDM_V3,经过通用数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V3_5;聚合数据层的版本号为JD_ADM_V3,经过聚合数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V3_5;维度数据层的版本号为JD_DIM_V3,经过维度数据层后,得到更新的数据表,名称仍沿用“表1”,版本号为JD_V3_5。
在源系统的每一次升级过程中,动态设置缓冲数据层的版本号,与缓冲数据层有血缘关系的基础数据层、通用数据层、聚合数据层以及维度数据层都会进行版本号动态更新,同时,更新各层级的数据,只记录当前升级过程对应的更新数据;并根据各层级数据模型的当前版本号,以及所述源系统的升级类型,动态设置各层级中当前更新后的数据表的当前版本号,最终,在源系统每次升级后,形成一棵完成的版本进化树。而当前更新后的数据表的名称则沿用所述更新数据所属的源数据表的名称所映射到的所述分布式数据仓库中对应的原始数据表的名称,保持静态不变,因此,通过分布式数据仓库中的名称相同的数据表的不同版本号,即可查询确定在源系统每次升级过程中,分布式数据仓库中的对应数据表的动态更新过程和源系统的相应的升级类型,可以为不同数据分析口径提供支持;此外,对分布式数据仓库的数据模型的版本号进行动态更新,弱化了源系统频繁升级对分布式数据仓库的数据模型的影响。
在上述实例中,所述层级数据模型还可包括:
临时数据层,用于存储所述通用数据层执行业务加工处理操作的中间数据,和/或所述聚合数据层执行聚合操作的中间数据。
实施例二
请参阅图2,为本发明实施例二提供的一种分布式数据仓库中的数据更新装置的结构示意图。该装置包括:数据模型版本初始化模块210、数据表版本初始化模块220、更新要素获取模块230、数据表更新模块240、数据表名称配置模块250、数据模型版本配置模块260和数据表版本配置模块270。
其中,数据模型版本初始化模块210用于设置分布式数据处理平台中的分布式数据仓库的数据模型的初始版本号;数据表版本初始化模块220用于根据所述数据模型的初始化版本号,设置所述分布式数据仓库中的原始数据表的初始版本号,其中,所述分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致;更新要素获取模块230用于在源系统的源数据表的升级过程中,从所述源系统中抓取对应的更新数据以及所述更新数据所属的源数据表的名称,确定所述源系统的升级类型和升级序号;数据表更新模块240用于将抓取的所述更新数据输入所述数据模型,得到当前更新后的数据表;数据表名称配置模块250用于根据所述更新数据所属的源数据表的名称,确定所述分布式数据仓库中对应的原始数据表的名称,作为所述当前更新后的数据表的名称;数据模型版本配置模块260用于根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号;数据表版本配置模块270用于根据所述数据模型的当前版本号,以及所述源系统的升级类型,设置所述当前更新后的数据表的当前版本号。
在上述方案中,所述数据模型可以为层级数据模型;
所述数据模型版本初始化模块210具体可用于:根据所述层级数据模型的层级名称,设置所述层级数据模型的初始化版本号;
所述数据模型版本配置模块260具体可用于:根据所述层级数据模型的初始化版本号、所述升级序号以及所述层级名称,设置所述层级数据模型的当前版本号。
在上述方案中,在所述数据模型为层级数据模型时,可依次包括:维度数据层、缓冲数据层、基础数据层、通用数据层和聚合数据层。
其中,维度数据层用于从所述源系统中抓取所述升级过程关联的维度数据,并装载到所述维度数据层中新建的数据表中;缓冲数据层用于从所述源系统中抓取对应的更新数据,并装载到所述缓冲数据层中新建的数据表中;基础数据层用于从所述缓冲数据层获取所述更新数据,并装载到所述基础数据层中新建的数据表中;通用数据层用于按照业务主题,对所述基础数据层中的所述更新数据进行业务加工处理,得到所述更新数据对应的业务主题数据,并装载到所述通用数据层中新建的数据表中;聚合数据层用于对所述基础数据层中的所述更新数据或者所述通用数据层中的所述业务主题数据,根据所述维度数据进行聚合,并将聚合数据装载到所述聚合数据层中新建的数据表中。
进一步的,所述层级数据模型还可包括:
临时数据层,用于存储所述通用数据层执行业务加工处理操作的中间数据,和/或所述聚合数据层执行聚合操作的中间数据。
在上述方案中,所述源系统的升级类型可包括下述至少一项:
源系统的业务升级、数据存储模式变更、数据库类型升级、数据表结构变更,以及数据表的数据含义变更。
本发明实施例提供的分布式数据仓库的数据更新装置可执行本发明任意实施例所提供的分布式数据仓库的数据更新方法,具备执行方法相应的功能模块和有益效果。
最后应说明的是:以上各实施例仅用于说明本发明的技术方案,而非对其进行限制;实施例中优选的实施方式,并非对其进行限制,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分布式数据仓库中的数据更新方法,其特征在于,包括:
设置分布式数据处理平台中的分布式数据仓库的数据模型的初始版本号;
根据所述数据模型的初始化版本号,设置所述分布式数据仓库中的原始数据表的初始版本号,其中,所述分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致;
在源系统的源数据表的升级过程中,从所述源系统中抓取对应的更新数据以及所述更新数据所属的源数据表的名称,确定所述源系统的升级类型和升级序号;
将抓取的所述更新数据输入所述数据模型,得到当前更新后的数据表;
根据所述更新数据所属的源数据表的名称,确定所述分布式数据仓库中对应的原始数据表的名称,作为所述当前更新后的数据表的名称;
根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号;
根据所述数据模型的当前版本号,以及所述源系统的升级类型,设置所述当前更新后的数据表的当前版本号。
2.根据权利要求1所述的方法,其特征在于,所述数据模型为层级数据模型;
设置所述数据模型的初始版本号,包括:
根据所述层级数据模型的层级名称,设置所述层级数据模型的初始化版本号;
根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号,包括:
根据所述层级数据模型的初始化版本号、所述升级序号以及所述层级名称,设置所述层级数据模型的当前版本号。
3.根据权利要求1所述的方法,其特征在于,所述数据模型为层级数据模型,依次包括:
维度数据层,用于从所述源系统中抓取所述升级过程关联的维度数据,并装载到所述维度数据层中新建的数据表中;
缓冲数据层,用于从所述源系统中抓取对应的更新数据,并装载到所述缓冲数据层中新建的数据表中;
基础数据层,用于从所述缓冲数据层获取所述更新数据,并装载到所述基础数据层中新建的数据表中;
通用数据层,用于按照业务主题,对所述基础数据层中的所述更新数据进行业务加工处理,得到所述更新数据对应的业务主题数据,并装载到所述通用数据层中新建的数据表中;
聚合数据层,用于对所述基础数据层中的所述更新数据或者所述通用数据层中的所述业务主题数据,根据所述维度数据进行聚合,并将聚合数据装载到所述聚合数据层中新建的数据表中。
4.根据权利要求3所述的方法,其特征在于,所述层级数据模型还包括:
临时数据层,用于存储所述通用数据层执行业务加工处理操作的中间数据,和/或所述聚合数据层执行聚合操作的中间数据。
5.根据权利要求1-4任一所述的方法,其特征在于,所述源系统的升级类型,包括下述至少一项:
源系统的业务升级、数据存储模式变更、数据库类型升级、数据表结构变更,以及数据表的数据含义变更。
6.一种分布式数据仓库中的数据更新装置,其特征在于,包括:
数据模型版本初始化模块,用于设置分布式数据处理平台中的分布式数据仓库的数据模型的初始版本号;
数据表版本初始化模块,用于根据所述数据模型的初始化版本号,设置所述分布式数据仓库中的原始数据表的初始版本号,其中,所述分布式数据仓库中的原始数据表中的数据与源系统升级前的源数据表中的数据一致;
更新要素获取模块,用于在源系统的源数据表的升级过程中,从所述源系统中抓取对应的更新数据以及所述更新数据所属的源数据表的名称,确定所述源系统的升级类型和升级序号;
数据表更新模块,用于将抓取的所述更新数据输入所述数据模型,得到当前更新后的数据表;
数据表名称配置模块,用于根据所述更新数据所属的源数据表的名称,确定所述分布式数据仓库中对应的原始数据表的名称,作为所述当前更新后的数据表的名称;
数据模型版本配置模块,用于根据所述数据模型的初始版本号以及所述升级序号,设置所述数据模型的当前版本号;
数据表版本配置模块,用于根据所述数据模型的当前版本号,以及所述源系统的升级类型,设置所述当前更新后的数据表的当前版本号。
7.根据权利要求6所述的装置,其特征在于,所述数据模型为层级数据模型;
所述数据模型版本初始化模块具体用于:根据所述层级数据模型的层级名称,设置所述层级数据模型的初始化版本号;
所述数据模型版本配置模块具体用于:根据所述层级数据模型的初始化版本号、所述升级序号以及所述层级名称,设置所述层级数据模型的当前版本号。
8.根据权利要求6所述的装置,其特征在于,所述数据模型为层级数据模型,依次包括:
维度数据层,用于从所述源系统中抓取所述升级过程关联的维度数据,并装载到所述维度数据层中新建的数据表中;
缓冲数据层,用于从所述源系统中抓取对应的更新数据,并装载到所述缓冲数据层中新建的数据表中;
基础数据层,用于从所述缓冲数据层获取所述更新数据,并装载到所述基础数据层中新建的数据表中;
通用数据层,用于按照业务主题,对所述基础数据层中的所述更新数据进行业务加工处理,得到所述更新数据对应的业务主题数据,并装载到所述通用数据层中新建的数据表中;
聚合数据层,用于对所述基础数据层中的所述更新数据或者所述通用数据层中的所述业务主题数据,根据所述维度数据进行聚合,并将聚合数据装载到所述聚合数据层中新建的数据表中。
9.根据权利要求8所述的装置,其特征在于,所述层级数据模型还包括:
临时数据层,用于存储所述通用数据层执行业务加工处理操作的中间数据,和/或所述聚合数据层执行聚合操作的中间数据。
10.根据权利要求6-9任一所述的装置,其特征在于,所述源系统的升级类型,包括下述至少一项:
源系统的业务升级、数据存储模式变更、数据库类型升级、数据表结构变更,以及数据表的数据含义变更。
CN201510254402.9A 2015-05-18 2015-05-18 分布式数据仓库中的数据更新方法和装置 Active CN104899257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510254402.9A CN104899257B (zh) 2015-05-18 2015-05-18 分布式数据仓库中的数据更新方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510254402.9A CN104899257B (zh) 2015-05-18 2015-05-18 分布式数据仓库中的数据更新方法和装置

Publications (2)

Publication Number Publication Date
CN104899257A true CN104899257A (zh) 2015-09-09
CN104899257B CN104899257B (zh) 2018-04-13

Family

ID=54031920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510254402.9A Active CN104899257B (zh) 2015-05-18 2015-05-18 分布式数据仓库中的数据更新方法和装置

Country Status (1)

Country Link
CN (1) CN104899257B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447172A (zh) * 2015-12-07 2016-03-30 北京先进数通信息技术股份公司 一种Hadoop平台下的数据处理方法和系统
CN105512283A (zh) * 2015-12-04 2016-04-20 国网江西省电力公司信息通信分公司 数据质量管理控制方法及装置
CN105718565A (zh) * 2016-01-20 2016-06-29 北京京东尚科信息技术有限公司 数据仓库模型的构建方法和构建装置
CN106649771A (zh) * 2016-12-27 2017-05-10 广州杰赛科技股份有限公司 数据库的数据模型更新方法和系统
WO2017166815A1 (zh) * 2016-03-30 2017-10-05 杭州海康威视数字技术股份有限公司 一种用于分布式数据库系统的更新数据的方法及装置
CN107590158A (zh) * 2016-07-08 2018-01-16 北京京东尚科信息技术有限公司 一种获取数据源变更信息的方法和装置
CN109582330A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 数据模型升级方法、装置、设备及可读存储介质
CN112231410A (zh) * 2020-10-23 2021-01-15 中国平安人寿保险股份有限公司 适用于大数据的数据处理方法、装置、设备及介质
CN112256802A (zh) * 2020-10-20 2021-01-22 威海上和软件科技有限公司 一种海洋微生物信息的自动采集方法和设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359999A (zh) * 2007-07-30 2009-02-04 中兴通讯股份有限公司 一种网元数据同步的方法及装置
CN101483568A (zh) * 2009-02-04 2009-07-15 深圳华为通信技术有限公司 UPnP设备的升级方法、控制设备及系统
US20120078942A1 (en) * 2010-09-27 2012-03-29 International Business Machines Corporation Supporting efficient partial update of hierarchically structured documents based on record storage
CN102855305A (zh) * 2012-08-20 2013-01-02 大唐移动通信设备有限公司 数据升级方法与装置
US20130138695A1 (en) * 2011-11-30 2013-05-30 Autodesk, Inc. Database versioning system
US20140143284A1 (en) * 2012-11-20 2014-05-22 Gerard McCaffrey Zero downtime schema evolution
CN104410672A (zh) * 2014-11-12 2015-03-11 华为技术有限公司 网络功能虚拟化应用升级的方法、转发业务的方法及装置
CN104426601A (zh) * 2013-09-10 2015-03-18 上海贝尔股份有限公司 光网络终端中自动检测并报告软件回退方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359999A (zh) * 2007-07-30 2009-02-04 中兴通讯股份有限公司 一种网元数据同步的方法及装置
CN101483568A (zh) * 2009-02-04 2009-07-15 深圳华为通信技术有限公司 UPnP设备的升级方法、控制设备及系统
US20120078942A1 (en) * 2010-09-27 2012-03-29 International Business Machines Corporation Supporting efficient partial update of hierarchically structured documents based on record storage
US20130138695A1 (en) * 2011-11-30 2013-05-30 Autodesk, Inc. Database versioning system
CN102855305A (zh) * 2012-08-20 2013-01-02 大唐移动通信设备有限公司 数据升级方法与装置
US20140143284A1 (en) * 2012-11-20 2014-05-22 Gerard McCaffrey Zero downtime schema evolution
CN104426601A (zh) * 2013-09-10 2015-03-18 上海贝尔股份有限公司 光网络终端中自动检测并报告软件回退方法和装置
CN104410672A (zh) * 2014-11-12 2015-03-11 华为技术有限公司 网络功能虚拟化应用升级的方法、转发业务的方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512283A (zh) * 2015-12-04 2016-04-20 国网江西省电力公司信息通信分公司 数据质量管理控制方法及装置
CN105512283B (zh) * 2015-12-04 2019-05-03 国网江西省电力公司信息通信分公司 数据质量管理控制方法及装置
CN105447172A (zh) * 2015-12-07 2016-03-30 北京先进数通信息技术股份公司 一种Hadoop平台下的数据处理方法和系统
CN105718565A (zh) * 2016-01-20 2016-06-29 北京京东尚科信息技术有限公司 数据仓库模型的构建方法和构建装置
CN105718565B (zh) * 2016-01-20 2019-07-02 北京京东尚科信息技术有限公司 数据仓库模型的构建方法和构建装置
US11176110B2 (en) 2016-03-30 2021-11-16 Hangzhou Hikvision Digital Technology Co., Ltd. Data updating method and device for a distributed database system
WO2017166815A1 (zh) * 2016-03-30 2017-10-05 杭州海康威视数字技术股份有限公司 一种用于分布式数据库系统的更新数据的方法及装置
CN107590158A (zh) * 2016-07-08 2018-01-16 北京京东尚科信息技术有限公司 一种获取数据源变更信息的方法和装置
CN107590158B (zh) * 2016-07-08 2020-12-22 北京京东尚科信息技术有限公司 一种获取数据源变更信息的方法和装置
CN106649771B (zh) * 2016-12-27 2019-10-25 广州杰赛科技股份有限公司 数据库的数据模型更新方法和系统
CN106649771A (zh) * 2016-12-27 2017-05-10 广州杰赛科技股份有限公司 数据库的数据模型更新方法和系统
CN109582330A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 数据模型升级方法、装置、设备及可读存储介质
CN109582330B (zh) * 2018-09-29 2021-08-03 创新先进技术有限公司 数据模型升级方法、装置、设备及可读存储介质
CN112256802A (zh) * 2020-10-20 2021-01-22 威海上和软件科技有限公司 一种海洋微生物信息的自动采集方法和设备
CN112231410A (zh) * 2020-10-23 2021-01-15 中国平安人寿保险股份有限公司 适用于大数据的数据处理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN104899257B (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN104899257A (zh) 分布式数据仓库中的数据更新方法和装置
US8886598B1 (en) Tag-based synchronization
CN101673287A (zh) 一种sql语句生成方法及系统
CN107977396B (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
CN101901265B (zh) 一种虚拟试验数据对象化管理系统
US9977799B2 (en) System and method of dynamic data object upgrades
US10242044B2 (en) System and method of rolling upgrades of data traits
US8442865B2 (en) Ecommerce marketplace integration techniques
CN103578015A (zh) 一种商品属性导航的实现方法及装置
CN102004954A (zh) 一种产品信息系统和产品设计系统的信息集成方法
CN103914290A (zh) 一种操作命令处理方法及装置
CN102393860A (zh) 数据库数据迁移系统
CN110019111A (zh) 数据处理方法、装置、存储介质以及处理器
CN114416868B (zh) 一种数据同步方法、装置、设备及存储介质
CN109634585B (zh) 一种基于表单自适应展示和更新服务端数据的方法
CN102109990A (zh) 报表智能化显示系统及方法
CN111666098A (zh) 基于业务组件创建toB工程的方法及系统
CN116719799A (zh) 环保数据治理方法、装置、计算机设备和存储介质
CN106547763A (zh) 数据库的创建方法及装置
CN111813880B (zh) 一种国土空间规划项目管理方法、系统及存储介质
US9898493B2 (en) Runtime generation of a mapping table for uploading data into structured data marts
CN107870908B (zh) 一种信息获取方法及装置
CN102722543A (zh) 一种用于文件储存的方法
CN108595488B (zh) 数据迁移方法和装置
CN102902707B (zh) 不同版本二进制数据兼容的方法及数据版本转换系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant