一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、计算机设备和存储介质与流程

2021-10-20 00:34:00 来源:中国专利 TAG:计算机 数据处理 装置 方法 提供


1.本发明属于计算机技术领域,具体提供一种数据处理方法、装置、计算机设备和存储介质。


背景技术:

2.随着大数据的发展,系统数据越来越多,在很多场景下需要导入来自不同系统的大量数据,目前通用的做法是需要人工对各个系统数据进行操作。而数据质量的检查,数据清洗,数据导入流程,数据分层导入等问题,都需要操作人员非常熟悉才能胜任。因此,如何能够快速、准确地导入各系统数据,已经成为本领域亟待解决的问题。
3.相应地,本领域需要一种新的方案来解决上述问题。


技术实现要素:

4.本发明旨在解决上述技术问题,即,解决在面对来自不同系统的大量数据需要进行导入工作时,需要人工对各个系统数据进行操作的问题。
5.在第一方面,本发明提供一种数据处理方法,所述方法包括:
6.步骤102,创建用于数据处理的工作流,为工作流创建定时任务;
7.步骤104,当定时任务启动时,执行所述工作流;
8.所述工作流包括:
9.步骤a:清空数据缓冲层ods的相关表和缓存数据层cache的相关表;
10.步骤b:读取待导入数据文件中的数据并写入所述数据缓冲层ods;
11.步骤c:将数据缓冲层ods的数据进行加工后写入所述缓存数据层cache;
12.步骤e:将所述缓存数据层cache的数据写入全量数据层dw,
13.数据缓冲层ods、缓存数据层cache、全量数据层dw分别是将数据库进行分层设计后的数据层。
14.在上述数据处理方法的一个实施方式中,所述步骤a之前包括:
15.判断前置条件是否满足;
16.若满足前置条件,则判断所述数据文件是否已存在:
17.若已存在,则判断所述数据文件是否已执行;
18.若所述数据文件未被执行,则对数据文件进行重命名并进行预处理。
19.在上述数据处理方法的一个实施方式中,在所述数据文件中的数据是全量数据时,在所述步骤c和所述步骤e之间还包括:
20.步骤d:清空全量数据层dw的相关表。
21.在上述数据处理方法的一个实施方式中,所述步骤f之后,包括:
22.对所述全量数据层dw中的数据进行去重和/或折叠处理;
23.移动所述数据文件至指定目录,所述目录用于放置已完成的数据文件;
24.记录所述数据文件为已执行状态。
25.在上述数据处理方法的一个实施方式中,为整个所述工作流设置对应的一个定时任务,或者所述工作流的每个步骤对应设置一个定时任务,当其上节点的定时任务完成时,触发下一节点的定时任务。
26.根据本发明的第二方面,还提供了一种数据处理装置,该装置包括:
27.创建单元,创建用于数据处理的工作流,为工作流创建定时任务;
28.执行单元,当定时任务启动时,执行所述工作流;
29.所述工作流包括:
30.步骤a:清空数据缓冲层ods的相关表和缓存数据层cache的相关表;
31.步骤b:读取待导入数据文件中的数据并写入所述数据缓冲层ods;
32.步骤c:将数据缓冲层ods的数据进行加工后写入所述缓存数据层cache;
33.步骤e:将所述缓存数据层cache的数据写入全量数据层dw,
34.数据缓冲层ods、缓存数据层cache、全量数据层dw分别是将数据库进行分层设计后的数据层。
35.在上述数据处理装置的一个实施方式中,所述装置包括:
36.所述步骤a之前包括:
37.判断前置条件是否满足;
38.若满足前置条件,则判断所述数据文件是否已存在:
39.若已存在,则判断所述数据文件是否已执行;
40.若所述数据文件未被执行,则对数据文件进行重命名并进行预处理。
41.在上述数据处理装置的一个实施方式中,在所述数据文件中的数据是全量数据时,在所述步骤c和所述步骤e之间还包括:
42.步骤d:清空全量数据层dw的相关表;
43.所述步骤f之后,包括:
44.对所述全量数据层dw中的数据进行去重和/或折叠处理;
45.移动所述数据文件至指定目录,所述目录用于放置已完成的数据文件;
46.记录所述数据文件为已执行状态。
47.在上述数据处理装置的一个实施方式中,所述创建单元为整个所述工作流设置对应的一个定时任务,或者所述工作流的每个步骤对应设置一个定时任务,当其上节点的定时任务完成时,触发下一节点的定时任务。
48.根据本发明的第三方面,还提供了一种计算机设备,包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述任一实施例所述的数据处理方法。
49.根据本发明的第四方面,还提供了一种存储介质,所述存储介质适于存储多条程序代码,所述程序代码适于由处理器加载并运行以执行上述任一实施例所述的数据处理方法。
50.在采用上述技术方案的情况下,本发明设计了一套完备的数据导入处理工作流,将该数据导入处理工作流作为任务,为该工作流创建定时任务,当定时任务启动时,执行该工作流。解决了人工一步步操作的工作,全部由定时触发,工作流执行,并且制定了一套数据处理标准流程,便于统一管理维护。
附图说明
51.下面结合附图来描述本发明的优选实施方式,附图中:
52.图1是根据本发明的实施例的数据处理方法的主要步骤流程图。
53.图2是根据本发明的实施例的工作流的流程图。
54.图3是根据本发明的实施例的数据处理装置组成结构的示意图。
具体实施方式
55.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.首先阅读图1,图1是本发明的实施例的数据处理方法的主要步骤流程图。如图1所示,本发明的数据处理方法包括:
57.步骤102:创建用于数据处理的工作流,为工作流创建定时任务;
58.步骤104:当定时任务启动时,执行该工作流.
59.参考图2,在本实施例中,设计了一套标准的数据导入工作流,该工作流可以包括下列步骤:
60.步骤a:清空数据缓冲层ods的相关表和缓存数据层cache的相关表;
61.步骤b:读取待导入数据文件中的数据并写入所述数据缓冲层ods;
62.步骤c:将数据缓冲层ods的数据进行加工后写入所述缓存数据层cache;
63.步骤e:将所述缓存数据层cache的数据写入全量数据层dw,
64.数据缓冲层ods、缓存数据层cache、全量数据层dw分别是将数据库进行分层设计后的数据层。
65.在本实施例中,根据具体的加工过程,可将数据库分层设计,包括ods、cache、dw、target。总体策略是铺底数据采用手工导入方式。导入的增量数据通过调度完成,定时执行工作流的方式实现。对于数据库的原始数据层,以csv文件格式存储在服务器指定目录下,文件通常使用ascii文件分割符(十六进制:1c)分隔或使用|分隔,文件需符合csv文件规范,增量数据文件名中要包含日期。对于ods层,存储增量数据使用mergetree表引擎即可。对于cache层,存储数据加工后的待写入dw层的数据使用mergetree表引擎即可。对于dw层,存储加工后的结果数据使用replicated*mergetree表引擎。对于target层,存储宽表数据使用replicated*mergetree表引擎。对于数据直写类,即结果表数据直接做累加处理,数据的补跑原则是只需补跑缺失的增量数据。对于清表重写类,即结果表数据每次插入新数据前先清空老数据,再重新插入新数据。其补跑原则是补跑最近一次的增量数据。对于数据去重类,即结果表数据增加后根据去重键去除重复数据,默认保留后插入的。其补跑原则是从最早一次缺失的数据开始按顺序补跑每次的增量数据直到最近一次。对于数据拉链类,即结果表数据符合拉链规范,使用开始日期和结束日期做标记,结束时间是20991231表示有效数据。其补跑原则是从最早一次缺失的数据开始按顺序补跑每次的增量数据直到最近一次。
66.本领域技术人员应理解,图2所示仅是工作流的一个示例,在很多场景下,所述步
骤a之前可以包括:
67.判断前置条件是否满足;
68.若满足前置条件,则判断所述数据文件是否已存在;
69.若已存在,则判断所述数据文件是否已执行;
70.若所述数据文件未被执行,则对数据文件进行重命名并进行预处理。
71.此处前置条件可以是“是否日切”,比如前日的任务是否已全部成功完成。若满足日切,则进一步判断需要导入的数据文件是否已存在,若已存在,在需要判断之前是否已经执行过。若不存在,则不需要判断是否已经执行过。为了标记文件,可以对数据文件进行重命名,该命名规则可以是自定义格式,如补充个temp后缀,文件系统使用完后,再移动到指定目录下,并恢复原名。
72.在另一场景下,当导入的数据文件中的数据是全量数据时,在所述步骤c和所述步骤e之间还可以包括:
73.步骤d:清空全量数据层dw的相关表。
74.应理解,若每次执行的是增量数据,则不清空全量数据层dw的相关表,直接追加数据即可。
75.在另一实施例中,上述步骤f之后还可以包括:
76.对所述全量数据层dw中的数据进行去重和/或折叠处理;
77.移动所述数据文件至指定目录,所述目录用于放置已完成的数据文件:
78.记录所述数据文件为已执行状态。任务执行完成后,增量文件恢复原文件名并移动到指定的备份目录下。为避免文件重复读入,已完成的文件的文件名写入指定文件中作为标记,扫描文件时先判定是否已完成。
79.在本实施例中,数据加工使用工作流方式,shell作为节点,使用sql语句(函数、分组、排序、join连接等)完成。增量文件扫描采用定时多次扫描的方案,增量文件采用固定文件名前缀 日期的格式进行查找。增量文件被任务锁定后,做改名处理,避免任务重复。清空表数据采用sql命令(truncate)。文件导入数据库采用clickhouse导入csv文件的指令
80.具体实施时,可以为工作流设置全局变量,方便管理和后期维护。
81.为整个所述工作流设置对应的一个定时任务,或者所述工作流的每个步骤对应设置一个定时任务,当其上节点的定时任务完成时,触发下一节点的定时任务。为工作流创建定时器,作为时间调度。使用依赖节点,将依赖关系的工作流在指定的时间内是否成功作为前置条件。
82.上述实施例设计了一套完备的数据导入处理工作流,将该数据导入处理工作流作为任务,为该工作流创建定时任务,当定时任务启动时,执行该工作流。解决了人工一步步操作的工作,全部由定时触发,工作流执行,并且制定了一套数据处理标准流程,便于统一管理维护。
83.如图3所示,根据本发明的实施例的数据处理装置300,包括:
84.创建单元302,创建用于数据处理的工作流,为工作流创建定时任务;
85.执行单元304,当定时任务启动时,执行所述工作流;
86.所述工作流包括:
87.步骤a:清空数据缓冲层ods的相关表和缓存数据层cache的相关表;
88.步骤b:读取待导入数据文件中的数据并写入所述数据缓冲层ods;
89.步骤c:将数据缓冲层ods的数据进行加工后写入所述缓存数据层cache;
90.步骤e:将所述缓存数据层cache的数据写入全量数据层dw,
91.数据缓冲层ods、缓存数据层cache、全量数据层dw分别是将数据库进行分层设计后的数据层。
92.其中,创建单元302为整个所述工作流设置对应的一个定时任务,或者所述工作流的每个步骤对应设置一个定时任务,当其上节点的定时任务完成时,触发下一节点的定时任务。
93.进一步,本发明还提供了一种计算机设备,该计算机设备包括处理器和存储装置,存储装置可以被配置成存储并执行上述方法实施例的数据处理方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的数据处理方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该数据处理设备可以是包括各种电子设备形成的控制装置设备。
94.进一步,本发明还提供了一种存储介质,该存储介质可以被配置成存储执行上述方法实施例的数据处理方法的程序,该程序可以由处理器加载并运行来实现上述数据处理方法的方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该存储介质可以是包括各种电子设备形成的存储装置设备,可选地,本发明实施例中存储介质是非暂时性的计算机可读存储介质。
95.本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
96.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等序数词仅用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。应该理解这样使用的数据在适当的情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
97.需要说明的是,在本技术的描述中,术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。
98.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜