数据增量更新方法技术

技术编号:28223032 阅读:15 留言:0更新日期:2021-04-28 09:50
本发明专利技术揭示了数据增量更新方法,包括:数据配置步骤,对来自消息队列的数据进行配置,包括以数据本身日期为分区进行配置的第一Flume和以数据采集日期为分区进行配置的第二Flume,经第一Flume写入为第一ODS数据,经第二Flume写入为第二ODS数据;数据初始化步骤,对DW数据进行初始化,从第一ODS数据中选取满足筛选条件的分区作为DW最新分区;数据合并步骤,将截止到当前的第二ODS数据作为最新写入数据,将DW最新分区和最新写入数据进行合并并进行标记;数据替换步骤,将合并数据写回DW最新分区覆盖原数据;更新判定步骤,在包含合并数据的DW中执行更新判定,标记参与更新判定操作;数据更新步骤,如果判断存在更新,则将带有标记的数据同步至数据库进行增量更新。标记的数据同步至数据库进行增量更新。标记的数据同步至数据库进行增量更新。

【技术实现步骤摘要】
数据增量更新方法


[0001]本专利技术涉及软件
,更具体地说,涉及以数据库和数据仓库技术。

技术介绍

[0002]数据正在成为一种重要的资源,越来越多的应用都会调用或者存储大量的数据用于应用服务,或者对保存的数据进行分析运算来提升自身的功能。海量数据的存储和管理正在成为一个重要的问题。
[0003]目前的数据平台大多采用数据库(DB)+操作数据存储器(ODS)+数据仓库(DW)的架构。图1揭示了数据平台的架构的示意图,包括数据库DB 101、操作数据存储器ODS 102和数据仓库DW 103。数据库(Database)层多为关系型数据库,用于保存底层数据以及数据之间的关联关系。操作数据存储器(Operational Data Store)介于数据库DB和数据仓库(Data Warehouse)之间,ODS可以按照主题提供集成的、可变的当前数据的集合,ODS的数据源可以来自数据库DB,也可以接入其他的数据接收系统接收外来数据。ODS可以根据数据仓库DW的要求为数据仓库提供指定数据,可以认为是数据仓库的数据过渡区。数据仓库DW更多地是面向运用,数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non

Volatile)、反映历史变化(Time Variant)的数据集合。
[0004]在这个架构体系中,数据库DB负责数据的维护和更新,所有的数据更改或者更新都需要在数据库中进行维护。数据仓库DW内的数据会随时间变化,但是不进行更改或者更新操作。由于数据库DB在底层,其性能受到硬件设备的限制,而数据仓库DW的计算能力可以通过各种手段扩充,因此数据仓库具有强大的计算能力。
[0005]于是,在存在大量高频变化数据的应用场景,比如外卖平台、电子商务平台等的应用中。由于应用需求的特点存在海量高强度变化的数据,数据仓库DW为了满足应用需求也会被配置强大的计算能力。但是在这种应用中,数据库DB对于数据的同步更新就存在很大的压力。目前的做法中,数据更新都是在数据库DB中完成,受限于关系型数据库的性能瓶颈,如果要对数据进行更新并且同步进行大量计算时,会超出数据库的能力负荷。所以只能进行相对简单的数据落库操作。这在一定程度上影响了数据平台整体的性能,在平台性能、实现成本和运行稳定性方面存在矛盾。

技术实现思路

[0006]本专利技术提出一种数据增量更新方法,在利用数据仓库的计算能力进行更新判定,挑选出发生变化的数据给数据库进行增量更新。
[0007]根据本专利技术的一实施例,提出一种数据增量更新方法,用于在由数据库、操作数据存储器(ODS)和数据仓库(DW)构成的存储架构中对数据进行增量更新,该数据增量更新方法包括:
[0008]数据配置步骤,对来自消息队列的数据进行配置,包括以数据本身日期为分区进行配置的第一Flume和以数据采集日期为分区进行配置的第二Flume,经第一Flume写入DW
的数据为第一ODS数据,经第二Flume写入DW的数据为第二ODS数据;
[0009]数据初始化步骤,对DW数据进行初始化,从经第一Flume写入DW的第一ODS数据中选取满足筛选条件的分区作为DW最新分区;
[0010]数据合并步骤,将截止到当前的经第二Flume写入DW的第二ODS数据作为最新写入数据,将DW最新分区和最新写入数据进行合并,合并过程中对DW最新分区和最新写入数据进行标记;
[0011]数据替换步骤,将合并数据写回DW最新分区覆盖原数据;
[0012]更新判定步骤,在包含所述合并数据的DW中执行更新判定操作,判断是否存在更新,所述标记参与所述更新判定操作;
[0013]数据更新步骤,如果在更新判定步骤中判断存在更新,则将带有所述标记的数据同步至数据库进行增量更新。
[0014]在一个实施例中,数据配置步骤中,第一Flume或者第二Flume的分区粒度与计算粒度相关。
[0015]在一个实施例中,数据合并步骤中,筛选条件是可能的更新所对应的最远日期与当前日期的时间间隔。
[0016]在一个实施例中,数据合并步骤中,将DW最新分区和最新写入数据进行合并包括进行去重计算,剔除不满足筛选条件的数据。
[0017]在一个实施例中,合并过程中设置标志tag对DW最新分区和最新写入数据进行标记,其中最新写入数据tag为1,DW最新分区tag为0。
[0018]在一个实施例中,更新判定步骤中执行的更新判定操作包括聚合操作,所述标志tag参与聚合操作。
[0019]在一个实施例中,数据更新步骤中,经聚合后tag>0的数据被同步至数据库进行增量更新。
[0020]在一个实施例中,该数据增量更新方法还包括数据恢复步骤,如果该数据增量更新方法出现错误或中途终止,则进行数据恢复。
[0021]在一个实施例中,数据恢复步骤包括:
[0022]以满足筛选条件的全量第一ODS数据对DW数据进行恢复;
[0023]将DW数据全量同步至数据库对数据库数据进行恢复。
[0024]本专利技术的数据增量更新方法利用数据仓库的运算能力来判定是否存在数据更新,并且标记出发生改变的数据,这些带标记的数据被提供给数据库,数据库仅对带标记的数据进行更新,大大节省数据更新所占用的资源。
附图说明
[0025]图1揭示了数据平台的架构的示意图。
[0026]图2揭示了根据本专利技术的一实施例的数据增量更新方法的流程图。
[0027]图3揭示了根据本专利技术的一实施例的数据增量更新方法的执行过程示意图。
具体实施方式
[0028]图2揭示了根据本专利技术的一实施例的数据增量更新方法的流程图。参考图2所示,
该数据增量更新方法用于在由数据库、操作数据存储器和数据仓库构成的存储架构中对数据进行增量更新,该数据增量更新方法包括:
[0029]S1、数据配置步骤。在数据配置步骤中对来自消息队列,比如Kafka队列的数据进行配置。在一个实施例中,数据按照两种方式进行配置,分别是以数据本身日期为分区进行配置的第一Flume和以数据采集日期为分区进行配置的第二Flume。经第一Flume写入DW的数据为第一ODS数据,经第二Flume写入DW的数据为第二ODS数据。第一Flume或者第二Flume的分区粒度与计算粒度相关。计算粒度可以是“日”、“小时”等。
[0030]S2、数据初始化步骤。数据初始化步骤中对DW数据进行初始化,从经第一Flume写入DW的第一ODS数据中选取满足筛选条件的分区作为DW最新分区。筛选条件是可能的更新所对应的最远日期与当前日期的时间间隔。比如,可以将筛选条件设置为最近90天,则会从经第一Flume写入DW的第一ODS数据中选取数据日期为最近90天的数据。
[0031]S3、数据合并步骤。数据合并步骤中将截止到当前的经第二Flume写入DW的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据增量更新方法,用于在由数据库、操作数据存储器(ODS)和数据仓库(DW)构成的存储架构中对数据进行增量更新,其特征在于,该数据增量更新方法包括:数据配置步骤,对来自消息队列的数据进行配置,包括以数据本身日期为分区进行配置的第一Flume和以数据采集日期为分区进行配置的第二Flume,经第一Flume写入DW的数据为第一ODS数据,经第二Flume写入DW的数据为第二ODS数据;数据初始化步骤,对DW数据进行初始化,从经第一Flume写入DW的第一ODS数据中选取满足筛选条件的分区作为DW最新分区;数据合并步骤,将截止到当前的经第二Flume写入DW的第二ODS数据作为最新写入数据,将DW最新分区和最新写入数据进行合并,合并过程中对DW最新分区和最新写入数据进行标记;数据替换步骤,将合并数据写回DW最新分区覆盖原数据;更新判定步骤,在包含所述合并数据的DW中执行更新判定操作,判断是否存在更新,所述标记参与所述更新判定操作;数据更新步骤,如果在更新判定步骤中判断存在更新,则将带有所述标记的数据同步至数据库进行增量更新。2.如权利要求1所述的数据增量更新方法,其特征在于,所述数据配置步骤中,第一Flume或者第二Flume的分区粒度...

【专利技术属性】
技术研发人员:王泰舟
申请(专利权)人:食亨上海科技服务有限公司
类型:发明
国别省市:

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

1