数据管理方法、装置及存储介质与流程

专利检索2022-05-11  1



1.本发明涉及数据处理技术领域,尤其涉及一种数据管理方法、装置及存储介质。


背景技术:

2.在通常的应用中,数据源把数据推送到ods层进行数据合并和去重,之后对 ods层的数据进行规范化处理生成dw层,按需求生成asd层或者直接推送数据到 es,为前端应用服务器提供数据。通过以上的方式,可以进行数据处理、传输,但是现有的方案中,并无法对增量数据和减量数据进行有效管理。


技术实现要素:

3.本发明实施例提供一种数据管理方法、装置及存储介质,能够根据一段时间的数据处理量生成相应的增量分区表和减量分区表,可以通过增量分区表和减量分区表不同层的增量数据和失效数据进行管理,方便问题溯源排查。
4.本发明实施例的第一方面,提供一种数据管理方法,包括:
5.将接收到的预设时间段内ods变化数据与原始的ods全量数据比对,得到ods 数据增量分区表和/或ods数据减量分区表;
6.基于所述ods数据增量分区表和/或ods数据减量分区表对所述ods全量数据更新处理生成新的ods全量数据;
7.对所述ods数据增量分区表和/或ods数据减量分区表进行第一预设处理得到dwd数据增量分区表和/或dwd数据减量分区表;
8.基于dwd数据增量分区表和/或dwd数据减量分区表对原始的dwd全量数据更新处理生成新的dwd全量数据;
9.对所述dwd数据增量分区表和/或dwd数据减量分区表进行第二预设处理得到ads数据增量聚合分区表和/或ads数据减量聚合分区表;
10.响应于发送请求,将所述dwd数据增量分区表和/或ads数据增量聚合分区表对应的数据发送。
11.可选地,在第一方面的一种可能实现方式中,响应于发送请求,将所述dwd 数据增量分区表和/或ads数据增量聚合分区表对应的数据发送包括:
12.接收发送请求,预设脚本基于dwd数据增量分区表和/或ads数据增量聚合分区表与dwd全量数据和/或ads全量数据比对将新增数据发送至目标位置;
13.预设脚本基于dwd数据减量分区表和/或ads数据减量聚合分区表与dwd全量数据和/或ads全量数据比对将相应的减量数据删除。
14.可选地,在第一方面的一种可能实现方式中,将接收到的预设时间段内ods 变化数据与原始的ods全量数据比对,得到ods数据增量分区表和/或ods数据减量分区表包括:
15.将ods变化数据与ods全量数据比对,确定ods变化数据中相对于ods全量数据新增的子数据,基于新增的子数据生成ods数据增量分区表;
16.将ods变化数据与ods全量数据比对,确定ods变化数据中相对于ods全量数据减少的子数据,基于减少的子数据生成ods数据减量分区表。
17.可选地,在第一方面的一种可能实现方式中,将ods变化数据与ods全量数据比对,确定ods变化数据中相对于ods全量数据新增的子数据,基于新增的子数据生成ods数据增量分区表包括:
18.确定全量数据新增的子数据,将新增的子数据中的预设字段以第一预设形式命名,对具有第一预设形式命名的子数据统计得到ods数据增量分区表。
19.可选地,在第一方面的一种可能实现方式中,将ods变化数据与ods全量数据比对,确定ods变化数据中相对于ods全量数据减少的子数据,基于减少的子数据生成ods数据减量分区表包括:
20.确定全量数据减少的子数据,将减少的子数据中的预设字段以第二预设形式命名,对具有第二预设形式命名的子数据统计得到ods数据减量分区表。
21.可选地,在第一方面的一种可能实现方式中,对所述ods数据增量分区表和 /或ods数据减量分区表进行第一预设处理得到dwd数据增量分区表和/或dwd数据减量分区表包括:
22.基于所述ods数据增量分区表获取相应的ods增量数据;
23.基于所述ods数据减量分区表获取相应的ods减量数据;
24.对所述ods增量数据和/或ods减量数据进行数据规范化、字段合并、系统字段删除、多表合并中的任意一项或多项操作生成dwd数据增量分区表和/或dwd 数据减量分区表。
25.可选地,在第一方面的一种可能实现方式中,对所述dwd数据增量分区表和/或dwd数据减量分区表进行第二预设处理得到ads数据增量聚合分区表和/或 ads数据减量聚合分区表包括:
26.基于所述dwd数据增量分区表获取相应的dwd增量数据;
27.基于所述dwd数据减量分区表获取相应的dwd减量数据;
28.对所述dwd增量数据和/或dwd减量数据进行数据聚合、企业标签、企业画像中的任意一项或多项操作生成ads数据增量聚合分区表和/或ads数据减量聚合分区表。
29.可选地,在第一方面的一种可能实现方式中,所述预设时间段包括一日、一周、一月、一季度以及一年中的任意一个。
30.本发明实施例的第二方面,提供一种数据管理装置,包括:
31.ods模块,用于将接收到的预设时间段内ods变化数据与原始的ods全量数据比对,得到ods数据增量分区表和/或ods数据减量分区表;
32.ods更新模块,用于基于所述ods数据增量分区表和/或ods数据减量分区表对所述ods全量数据更新处理生成新的ods全量数据;
33.dwd处理模块,用于对所述ods数据增量分区表和/或ods数据减量分区表进行第一预设处理得到dwd数据增量分区表和/或dwd数据减量分区表;
34.dwd更新模块,基于dwd数据增量分区表和/或dwd数据减量分区表对原始的 dwd全量数据更新处理生成新的dwd全量数据;
35.ads处理模块,用于对所述dwd数据增量分区表和/或dwd数据减量分区表进行第二
预设处理得到ads数据增量聚合分区表和/或ads数据减量聚合分区表;
36.发送模块,用于响应于发送请求,将所述dwd数据增量分区表和/或ads 数据增量聚合分区表对应的数据发送。
37.本发明实施例的第三方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能设计的所述方法。
38.本发明提供的一种数据管理方法、装置及存储介质,通过本数据治理流程可以实现数据的更新,提高数据质量,并将数据推送到es,为前端应用服务器提供更准确的数据,提高前端用户页面的访问速度,极大的提升用户体验。
39.本发明的技术方案,能够根据数据变化,生成相应的数据增量分区表和数据减量分区表的数据,使得在不同的数据管理、存储层对数据管理时更加的易于管理。
附图说明
40.图1为数据管理方法的第一种实施方式的流程图;
41.图2为数据管理方法的第二种实施方式的流程图;
42.图3为数据管理装置的第一种实施方式的结构图。
具体实施方式
43.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
45.应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
46.应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
47.应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含a、b和c”、“包含a、b、c”是指 a、b、c三者都包含,“包含a、b或c”是指包含a、b、c三者之一,“包含a、b 和/或c”是指包含a、b、c三者中任1个或任2个或3个。
48.应当理解,在本发明中,“与a对应的b”、“与a相对应的b”、“a与b 相对应”或者“b与
a相对应”,表示b与a相关联,根据a可以确定b。根据a 确定b并不意味着仅仅根据a确定b,还可以根据a和/或其他信息确定b。a与b 的匹配,是a与b的相似度大于或等于预设的阈值。
49.取决于语境,如在此所使用的“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。
50.下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
51.本发明中的英语词汇、简写释义
52.ods:操作性数据(operational data store)简称ods,作为数据库到数据仓库的一种过渡形式,与数据仓库在物理结构上不同。ods存储的是当前的数据情况,给使用者提供当前的状态,提供即时性的、操作性的、集成的全体信息的需求。
53.dw:数据仓库。
54.hive:hive是hadoop集群最常用的数据分析工具,只要运行sql就可以分析海量数据。
55.es数据库:es是elasticsearch,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。
56.如图1所示,本发明提供一种数据管理方法,数据管理方法具体包括:
57.步骤s110、将接收到的预设时间段内ods变化数据与原始的ods全量数据比对,得到ods数据增量分区表和/或ods数据减量分区表。预设时间段可以是一日、一周、一月、一季度等等。
58.本发明的实例中,优选的,在hive集群中,将数据源的每日数据落入ods_ftp 分区表,保留每日的源数据,体现hadoop平台的数据存储优越性,存储便宜,并且安全,降低了数据遗失的概率。
59.其中,步骤s110包括:
60.将ods变化数据与ods全量数据比对,确定ods变化数据中相对于ods全量数据新增的子数据,基于新增的子数据生成ods数据增量分区表。
61.在本发明的实施例中,优选的,将ods变化数据与ods全量数据做交叉比对,计算出哪些数据是预设时间段内新增的,哪些数据是预设时间段内删除的,并将体现数据变化的字段命名为use_flag。
62.将ods变化数据与ods全量数据比对,确定ods变化数据中相对于ods全量数据减少的子数据,基于减少的子数据生成ods数据减量分区表。
63.在一个可能的实施方式中,将ods变化数据与ods全量数据比对,确定ods 变化数据中相对于ods全量数据新增的子数据,基于新增的子数据生成ods数据增量分区表包括:
64.确定全量数据新增的子数据,将新增的子数据中的预设字段以第一预设形式命名,对具有第一预设形式命名的子数据统计得到ods数据增量分区表。
65.在一个可能的实施方式中,将ods变化数据与ods全量数据比对,确定ods 变化数据中相对于ods全量数据减少的子数据,基于减少的子数据生成ods数据减量分区表包括:
66.确定全量数据减少的子数据,将减少的子数据中的预设字段以第二预设形式命名,对具有第二预设形式命名的子数据统计得到ods数据减量分区表。
67.本发明的实施例中,通过以下方式对use_flag进行规划标识,得到不同字段的字
段码值,包括:
68.新增数据(字码段为1);
69.删除数据(字码段为9);
70.即新增的子数据相应的字码段为1,删除的子数据相应的字码段为9。此时,第一预设形式为1,第二预设形式为9。
71.步骤s120、基于所述ods数据增量分区表和/或ods数据减量分区表对所述ods 全量数据更新处理生成新的ods全量数据。
72.本发明中的数据处理方法在得到ods数据增量分区表和/或ods数据减量分区表后,会根据ods数据增量分区表和/或ods数据减量分区表对ods全量数据更新处理生成新的ods全量数据,使得ods层能够对先前存储的ods全量数据更新。
73.步骤s130、对所述ods数据增量分区表和/或ods数据减量分区表进行第一预设处理得到dwd数据增量分区表和/或dwd数据减量分区表。
74.其中,步骤s130包括:
75.基于所述ods数据增量分区表获取相应的ods增量数据。本发明会根据ods 数据增量分区表得到ods层相较于其ods原始数据中的ods增量数据。
76.基于所述ods数据减量分区表获取相应的ods减量数据。本发明会根据ods 数据减量分区表得到ods层相较于其ods原始数据中的ods减量数据。
77.对所述ods增量数据和/或ods减量数据进行数据规范化、字段合并、系统字段删除、多表合并中的任意一项或多项操作生成dwd数据增量分区表和/或dwd 数据减量分区表。
78.在本发明的实施例中,优选的,本发明会通过etl对ods增量数据和/或ods 减量数据进行数据规范化、字段合并、系统字段删除、多表合并等处理得到dwd 数据增量分区表和/或dwd数据减量分区表。
79.步骤s140、基于dwd数据增量分区表和/或dwd数据减量分区表对原始的dwd 全量数据更新处理生成新的dwd全量数据。
80.本发明中的数据处理方法在得dwd数据增量分区表和/或dwd数据减量分区表后,会根据dwd数据增量分区表和/或dwd数据减量分区表对dwd全量数据更新处理生成新的ods全量数据,使得ods层能够对先前存储的ods全量数据更新。
81.步骤s150、对所述dwd数据增量分区表和/或dwd数据减量分区表进行第二预设处理得到ads数据增量聚合分区表和/或ads数据减量聚合分区表。
82.其中,步骤s150包括:
83.基于所述dwd数据增量分区表获取相应的dwd增量数据。本发明会根据dwd 数据增量分区表得到dwd层相较于其dwd原始数据中的dwd增量数据。
84.基于所述dwd数据减量分区表获取相应的dwd减量数据。本发明会根据dwd 数据减量分区表得到dwd层相较于其dwd原始数据中的dwd减量数据。
85.对所述dwd增量数据和/或dwd减量数据进行数据聚合、企业标签、企业画像中的任意一项或多项操作生成ads数据增量聚合分区表和/或ads数据减量聚合分区表。
86.步骤s160、响应于发送请求,将所述dwd数据增量分区表和/或ads数据增量聚合分区表对应的数据发送。本发明在得到dwd数据增量分区表和/或ads数据增量聚合分区表后,
会得到相应的数据后发送至应用数据库,实现对数据库中的数据进行更新。
87.其中,在步骤s160中,包括:
88.接收发送请求,预设脚本基于dwd数据增量分区表和/或ads数据增量聚合分区表与dwd全量数据和/或ads全量数据比对将新增数据发送至目标位置;
89.预设脚本基于dwd数据减量分区表和/或ads数据减量聚合分区表与dwd全量数据和/或ads全量数据比对将相应的减量数据删除。
90.如图2所示,本发明提供的方法应用于具有3层结构的数据库中,包括ods 层、dw层以及ads层,企业日更数据通过hadoop分布式文件系统发送至ods层进行处理,在ods层将企业日更数据(ods变化数据)与ods原数据比对,企业日更新数据经过数据合并、数据去重、失效数据筛选,会对企业日更新数据进行筛选得到增量数据(ods增量数据)以及失效数据(ods减量数据),ods层会对增量数据和失效数据进行数据合并。ods层会接收原始批量数据(ods全量数据) 后,基于增量数据和失效数据对原始批量数据得到更新后的全量数据。
91.ods层会将全量数据、ods数据增量分区表和/或ods数据减量分区表发送至 dw层,dw层会对接收到的数据进行数据规范化、字段合并、系统字段删除、多源表合并等处理,对处理后的数据根据ods数据增量分区表和/或ods数据减量分区表得到dwd增量数据和/或dwd减量数据、dwd数据增量分区表和/或dwd数据减量分区表,本发明会对dwd增量数据和/或dwd减量数据与原始的dwd全量数据更新处理生成新的dwd全量数据。dwd全量数据可以直接发送至数据库。
92.dwd层会将dwd数据增量分区表和/或dwd数据减量分区表、dwd增量数据和 /或dwd减量数据、新的dwd全量数据发送至ads层,ads层对接收到的数据进行数据聚合、企业标签、企业画像、维度数据等处理,对所述dwd数据增量分区表和/或dwd数据减量分区表进行第二预设处理得到ads数据增量聚合分区表和/或 ads数据减量聚合分区表,基于ads数据增量聚合分区表和/或ads数据减量聚合分区表对先前的ads更新得到更新后的ads数据,将ads数据发送至数据库。
93.通过以上的技术方案,可以在ods层、dwd层以及ads层进行各自数据的增量/减量更新,在ods层、dwd层以及ads层之间进行数据的批量更新。
94.本发明提供的技术方案,至少包括以下优点:
95.1.优化数据治理流程,并且数仓保留失效数据,对有问题时可以做到追溯排查。
96.2.增量上传es节约了集群资源,提高了效率,特别在集群资源不充足的情况下,效果较为明显。
97.基于发明提供的技术方案,至少解决了以下问题:
98.1.现有技术中,数据治理流程过于简单,没有将增量数据和失效数据提取出来,数仓未保留失效数据,遇到问题无法追溯排查。
99.2.现有技术中每次都对hive表全量数据推送到es,增加了安全隐患和集群计算压力。
100.本发明的保护点包括但不限于:
101.1.整个的数据治理流程,数据的分层,通过use_flag字段划分新增数据分区表和失效数据分区表。
102.2.基于python脚本的增量hive数据上传es的技术实现方式。
103.如图3所示,本发明还提供一种数据管理装置,数据管理装置具体包括:
104.ods模块,用于将接收到的预设时间段内ods变化数据与原始的ods全量数据比对,得到ods数据增量分区表和/或ods数据减量分区表;
105.ods更新模块,用于基于所述ods数据增量分区表和/或ods数据减量分区表对所述ods全量数据更新处理生成新的ods全量数据;
106.dwd处理模块,用于对所述ods数据增量分区表和/或ods数据减量分区表进行第一预设处理得到dwd数据增量分区表和/或dwd数据减量分区表;
107.dwd更新模块,基于dwd数据增量分区表和/或dwd数据减量分区表对原始的 dwd全量数据更新处理生成新的dwd全量数据;
108.ads处理模块,用于对所述dwd数据增量分区表和/或dwd数据减量分区表进行第二预设处理得到ads数据增量聚合分区表和/或ads数据减量聚合分区表;
109.发送模块,用于响应于发送请求,将所述dwd数据增量分区表和/或ads数据增量聚合分区表对应的数据发送。
110.通过本数据治理流程可以实现数据的更新,提高数据质量,并将数据推送到 es,为前端应用服务器提供更准确的数据,提高前端用户页面的访问速度,极大的提升用户体验。
111.本发明的技术方案,能够根据数据变化,生成相应的数据增量分区表和数据减量分区表的数据,使得在不同的数据管理、存储层对数据管理时更加的易于管理。
112.其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integratedcircuits,简称:asic)中。另外,该asic可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(rom)、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
113.本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
114.在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元 (英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
115.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。
转载请注明原文地址:https://win.8miu.com/read-950188.html

最新回复(0)