一种数据流架构及数据处理方法与流程

文档序号:24073911发布日期:2021-02-26 16:25阅读:109来源:国知局
一种数据流架构及数据处理方法与流程

[0001]
本发明涉及大数据系统技术领域,更具体地说,涉及一种数据流架构及数据处理方法。


背景技术:

[0002]
现有的大数据系统中数据在dw数据层进行处理后会直接进入dm数据层,由于数据从dw数据层进入dm数据层时需要进行大量的关联、统计、计算、分析等处理任务,同时还要执行数据流转任务,容易给大数据系统的内存执行造成满负荷和堵塞,甚至宕机,极大影响大数据系统的数据处理速度,以及造成数据丢失等风险。


技术实现要素:

[0003]
本发明的目的是提供一种数据流架构及数据处理方法,能够提高大数据系统的数据处理速度,有效降低数据丢失等风险。
[0004]
为了实现上述目的,本发明提供如下技术方案:
[0005]
一种数据流架构,按照数据流向依次包括ods数据层、dw数据层、dm增量数据层、dm数据层及分析展现数据层,其中:
[0006]
所述ods数据层,用于:获取新增数据;
[0007]
所述dw数据层,用于:将所述新增数据作为历史数据进行存储;
[0008]
所述dm增量数据层,用于:由所述dw数据层中获取所需的历史数据,并确定获取的历史数据为待展现数据;
[0009]
所述dm数据层,用于:将所述待展现数据传输给所述分析展现数据层;
[0010]
所述分析展现数据层,用于:对所述待展现历史数据进行展现分析。
[0011]
优选的,所述ods数据层还包括筛选模块,所述筛选模块用于:确定所述新增数据中的无效数据,并将所述无效数据删除。
[0012]
优选的,所述筛选模块包括筛选单元,所述筛选单元用于:确定所述新增数据中具有预设删除标识的数据,和/或指定数据字段为空的数据,和/或更新时间为空的数据均为无效数据。
[0013]
优选的,所述dw数据层还包括关联去重模块,所述关联去重模块用于:对所述dw数据层中已经存储的历史数据与所述新增数据进行关联分析,并基于关联分析的结果对所述dw数据层中已经存储的历史数据及所述新增数据进行去重操作。
[0014]
优选的,所述ods数据层及所述dm增量数据层均还包括清空模块,所述清空模块用于:在获取相应的数据前,对自身已经存储的数据进行清空;其中,所述ods数据层获取的相应数据为新增数据,所述dm增量数据层获取的相应数据为历史数据。
[0015]
优选的,所述ods数据层及所述dm增量数据层均还包括保存模块,所述保存模块用于:将获取的相应数据保存在预先设置的数据表中。
[0016]
优选的,所述dm增量数据层包括第一获取模块,所述第一获取模块用于:由所述dw
数据层中,获取包含的时间字段属于预设时间范围内的历史数据为待展现数据。
[0017]
优选的,所述dm增量数据层包括第二获取模块,所述第二获取模块用于:由所述dw数据层中,获取包含的业务字段属于指定业务的历史数据为待展现数据。
[0018]
优选的,所述dm增量数据层还包括关联补充模块,所述关联补充模块用于:将所述待展现数据与所述dw数据层中的历史数据进行关联分析,并基于关联分析的结果补充所述待展现数据中遗漏的数据字段。
[0019]
本发明提供的一种数据流架构及数据处理方法,该数据流架构按照数据流向依次包括ods数据层、dw数据层、dm增量数据层、dm数据层及分析展现数据层,其中:所述ods数据层,用于:获取新增数据;所述dw数据层,用于:将所述新增数据作为历史数据进行存储;所述dm增量数据层,用于:由所述dw数据层中获取所需的历史数据,并确定获取的历史数据为待展现数据;所述dm数据层,用于:将所述待展现数据传输给所述分析展现数据层;所述分析展现数据层,用于:对所述待展现历史数据进行展现分析。本申请通过dm增量数据层的设置,使得从dw数据层流出的数据先进入dm增量数据层,再从dm增量数据层流入dm数据层,不同于现有技术中数据从dw数据层直接流入dm数据层,从而有效缓解了数据从dw数据层进入dm数据层时的数据流转压力,进而能够节约更多内存来执行关联、统计、计算、分析等处理任务,加快了数据从dw数据层进入dm数据层的速度;因此,本申请能够提高大数据系统的数据处理速度,有效降低数据丢失等风险。
附图说明
[0020]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0021]
图1为本发明实施例提供的一种数据流架构的结构示意图;
[0022]
图2为本发明实施例提供的一种数据处理方法的流程图。
具体实施方式
[0023]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]
请参阅图1,其示出了本发明实施例提供的一种数据流架构的结构示意图,按照数据流向依次包括ods数据层11、dw数据层12、dm增量数据层13、dm数据层14及分析展现数据层15,其中:
[0025]
ods数据层11,用于:获取新增数据;
[0026]
dw数据层12,用于:将新增数据作为历史数据进行存储;
[0027]
dm增量数据层13,用于:由dw数据层12中获取所需的历史数据,并确定获取的历史数据为待展现数据;
[0028]
dm数据层14,用于:将待展现数据传输给分析展现数据层15;
[0029]
分析展现数据层15,用于:对待展现历史数据进行展现分析。
[0030]
本申请实施例中的数据流架构具体可以为大数据系统的数据流架构,而本申请实施例中涉及的所有数据(新增数据、历史数据、待展现数据等)均可以为教育大数据,当然也可以为根据实际需要设定的其他数据。其中,新增数据是随着时间推移产生的新的数据,该新的数据需要进行一系列处理后进行存储,以供后期进行展现分析等操作。
[0031]
本申请实施例中将大数据系统的数据流架构设计成ods(operational data store,操作性数据)数据层+dw(data warehouse,数据仓库)数据层+dm(data mart,数据集市)增量数据层+dm数据层+分析展现数据层;其中,ods数据层、dw数据层及dm增量数据层均包含于大数据系统的数据仓库中。具体来说,ods层获取新增数据,并将获取的新增数据传输给dw数据层,dw数据层将新增数据作为历史数据进行存储(因此dw数据层中存储有不同时间产生的全部的新增数据),dm增量数据层由dw数据层中获取所需的历史数据,进而将获取的所需的历史数据通过dm增量数据层传输给dm数据层,以供dm数据层对dm增量数据层传输的历史数据进行相应的展现分析。
[0032]
本申请通过dm增量数据层的设置,使得从dw数据层流出的数据先进入dm增量数据层,再从dm增量数据层流入dm数据层,不同于现有技术中数据从dw数据层直接流入dm数据层,从而有效缓解了数据从dw数据层进入dm数据层时的数据流转压力,进而能够节约更多内存来执行关联、统计、计算、分析等处理任务,加快了数据从dw数据层进入dm数据层的速度;因此,本申请能够提高大数据系统的数据处理速度,有效降低数据丢失等风险。
[0033]
本发明实施例提供的一种数据流架构,ods数据层还可以包括筛选模块,筛选模块用于:确定新增数据中的无效数据,并将无效数据删除。
[0034]
需要说明的是,新增数据中可能存在对于大数据系统来说没有用的数据(可以称之为无效数据),为了避免这部分数据占用存储资源等,本申请在获取到新增数据之后,会确定新增数据中包含的无效数据,进而将无效数据删除后,再进行后续的新增数据的存储等操作,也即在将无效数据删除后再传输给其他的数据层进行相应的处理。
[0035]
具体来说,筛选模块可以包括筛选单元,筛选单元用于:确定新增数据中具有预设删除标识的数据,和/或指定数据字段为空的数据,和/或更新时间为空的数据均为无效数据。
[0036]
其中,在产生新增数据时对于其中需要删除的数据可以为其设置预设的删除标识,如为其增加指定的字符等;因此在筛选模块中对于具有预设删除标识的数据,则可以确定其为产生时则认为是需要删除的数据,进而确定其为无效数据以对其进行删除。并且,由于新增数据中包含有各数据的字段(字段即为数据的属性,或者说数据的取值),对于预先确定出的比较重要的数据(指定数据),如果该指定数据的字段为空,则说明这个新增数据缺失重要数据的字段,因此可以确定其为无效数据以对其进行删除。另外,可以为新增数据设置相应的更新时间,如果新增数据的更新时间不为空,则对新增数据进行存储及后续处理,并且将新增数据的更新时间设置为空,如果新增数据的更新时间为空,则说明已经对这个新增数据进行过存储及后续处理,因此可以确定其为无效数据以对其进行删除。从而通过这种方式确定出需要删除的无效数据,能够删除产生时即确定需要删除的数据、缺失重要数据字段的数据及已经被进行存储等处理后的数据,从而能够保证保留的数据的有效性的同时,避免重复对同一数据的处理导致的资源浪费。
[0037]
本发明实施例提供的一种数据流架构,dw数据层还可以包括关联去重模块,关联去重模块用于:对dw数据层中已经存储的历史数据与新增数据进行关联分析,并基于关联分析的结果对dw数据层中已经存储的历史数据及新增数据进行去重操作。
[0038]
dw数据层在实现新增数据的流转时还需要对新增数据进行相应的关联、统计、计算、分析等处理任务,本申请实施例中包括关联去重的处理任务,具体来说,可以通过关联分析确定与新增数据具有的核心数据字段相同的历史数据,而具有的核心数据的字段相同的新增数据及历史数据为相同的数据,因此为了避免对相同数据的重复存储等操作,本申请通过关联分析确定出相同的新增数据及历史数据后,会对其进行去重操作,也即删除其中的至少一份数据,进而仅保留其中的一份数据。其中,核心数据字段可以为相应数据包含的全部数据的字段,也可以为预先设定的关键数据的字段(如数据为学生信息,则关键数据的字段则可以为学生编码的字段),均在本发明的保护范围之内。
[0039]
本发明实施例提供的一种数据流架构,ods数据层及dm增量数据层均还可以包括清空模块及保存模块,清空模块用于:在获取相应的数据前,对自身已经存储的数据进行清空;保存模块用于:将获取的相应数据保存在预先设置的数据表中;其中,ods数据层获取的相应数据为新增数据,dm增量数据层获取的相应数据为历史数据。
[0040]
需要说明的是,本申请在数据流入ods数据层及dm增量数据层之前,会先将ods数据层及dm增量数据层里已经存储的数据进行清空,从而避免了这两个数据层中过期的、不必要的数据对存储空间的占用,能够保证具有充足的存储空间实现需要流入的数据的存储,进而提高了数据处理速度。另外,为了方便实现数据的存储,本申请实施例中可以在ods数据层及dm增量数据层中设置相应的数据表来实现流入的数据的存储,进而利用流入的数据直接覆盖需流入的数据层的数据表,从而进一步提高了数据处理效率。
[0041]
在另一种具体实现方式中,本申请在dw数据层中还可以根据新增数据结合历史数据进行相应的计算、统计、分析等,进而得到相应的新增数据,而dm增量数据层从dw数据层中获取的可以为ods数据层获取的新增数据、dw数据层中历史数据和/或根据新增数据进行相应计算、统计、分析等后得到的新增数据,当然根据实际需要进行的其他设置也均在本发明的保护范围之内。其中,根据新增数据结合历史数据进行相应的计算、统计、分析等,可以是计算相同数据的全部属性的和、获取属性相同的数据的数量或者基于相同数据的不同属性实现数据分布的分析,如计算全部学生某学科的总分数、获取学生中男生的数量、分析学生中某学科属于不同分数段的人数分布等。
[0042]
本发明实施例提供的一种数据流架构,dm增量数据层包括第一获取模块及第二获取模块,第一获取模块用于:由dw数据层中,获取包含的时间字段属于预设时间范围内的历史数据为待展现数据;第二获取模块用于:由dw数据层中,获取包含的业务字段属于指定业务的历史数据为待展现数据。
[0043]
需要说明的是,本申请实施例在由dw数据层中获取所需的历史数据时,可以是根据日期时间以及具体的业务计算分析统计后得到的;具体来说,历史数据中可以包括表示对应历史数据产生时间的时间字段及表示对应历史数据所属业务的业务字段,从而在需要时能够获取时间字段在预先根据实际需要设定的一定时间范围内的数据和/或业务字段属于指定业务的历史数据为待展现数据,从而通过核心字段的判定准确获取到需要实现展现分析的历史数据。对此进行举例说明,dw数据层中存储的数据包括各个年份学生的人数,则
可以通过获取时间字段属于2019年的历史数据,从而得到2019年的学生人数;dw数据层中存储的数据包括各个年级学生的学生信息,包括学生姓名、学生性别、学生年龄、学生所处年级、学生所学科目等,因此可以通过获取业务字段属于学生性别的历史数据,从而得到全部学生的学生性别。
[0044]
本发明实施例提供的一种数据流架构,dm增量数据层还可以包括关联补充模块,关联补充模块用于:将待展现数据与dw数据层中的历史数据进行关联分析,并基于关联分析的结果补充待展现数据中遗漏的数据字段。
[0045]
需要说明的是,为了保证后续需要进行展现分析的数据的完整性,本申请在dm增量数据层获取到待展现数据后,还可以对待展现数据进行关联分析,从而获取到其中遗漏的数据字段;具体来说,可以通过关联分析确定dw数据层中与待展现数据具有的核心数据字段相同的历史数据,而具有的核心数据的字段相同的待展现数据及历史数据为相同的数据,因此可以利用与待展现数据中历史数据包含的全部数据字段将待展现数据中缺失的数据字段进行补充,从而提高了展现分析的数据的完整性。其中,核心数据字段可以为预先设定的关键数据的字段,当然根据实际需要进行的其他设定也均在本发明的保护范围之内。
[0046]
在一种具体应用场景中,本发明实施例提供的一种数据流架构的数据处理流程可以包括:数据在进入大数据系统数据流架构的时候,首先在ods数据层对ods数据层中的数据表进行清空,然后对新增数据进行筛选,并将每次筛选后保留的有效数据保存到专用于存放增量的ods数据层的数据表中,再使用此数据表中的数据在dw数据层中与相关数据进行关联(实现去重操作);dm增量数据层在接收dw数据层传输的新增关联数据之前,该dm增量数据层对其包含的历史数据表进行清空,然后,dw层再将关联后的数据传输至dm增量数据层,dm增量数据层得到所需的数据后保存到专用于存放增量的dm增量数据层包含的数据表中,必要时再使用此数据表中的数据与相关数据进行关联(实现遗漏的数据字段的补充);其中,dw数据层可以根据来自ods数据层中数据的核心数据(如数据的新增日期等)进行筛选,以确定只将来源于ods数据层的新增数据关联后的数据传输至dm增量数据层。从而大大提高执行效率,减少大数据系统内存执行的压力,同时也不会造成ods数据层及dm增量数据层中数据量过大的问题。
[0047]
如图2所示,本发明实施例还提供了一种数据处理方法,该数据处理方法基于数据流架构实现,数据流架构按照数据流向依次包括ods数据层、dw数据层、dm增量数据层、dm数据层及分析展现数据层;该数据处理方法可以包括:
[0048]
s11:ods数据层获取新增数据;
[0049]
s12:dw数据层将新增数据作为历史数据进行存储;
[0050]
s13:dm增量数据层由dw数据层中获取所需的历史数据,并确定获取的历史数据为待展现数据;
[0051]
s14:dm数据层将待展现数据传输给分析展现数据层;
[0052]
s15:分析展现数据层对待展现数据进行展现分析。
[0053]
需要说明的是,本发明实施例提供的一种数据处理方法中相关部分的说明请参见本发明实施例提供的一种数据流架构中对应部分的详细说明,在此不再赘述。本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
[0054]
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1