数据处理方法以及装置与流程

文档序号:29963757发布日期:2022-05-11 09:46阅读:75来源:国知局
数据处理方法以及装置与流程

1.本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。


背景技术:

2.etl(extraction-transformation-loading)是数据抽取extract、转换transform和加载load的过程,是构建数据仓库的重要一环,用户从数据库抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中。
3.传统的etl工具和软件解决了数据仓库中从一个数据源到一个目的加载端的数据导入问题,例如:从数据库a中一张表到数据库b中的另一张表。但传统的数据导入过程中,数据处理函数会对事件进行分裂(输入一条事件输出多条),这种情况下,函数缓存所占内存可能与远大于原始数据,并且每条原始数据均需进行全链路计算和缓存,会增加无谓的资源开销,使得资源利用率降低,因此,亟需一种有效的处理方法以解决此类问题。


技术实现要素:

4.有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
5.根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
6.获取待处理数据,并将所述待处理数据输入数据处理链路,其中,所述数据处理链路包含至少两个数据处理节点;
7.通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,其中,所述目标数据处理节点为所述至少两个数据处理节点之一;
8.判断所述待加载数据是否满足输出条件;
9.若是,则对所述目标数据处理节点进行中断处理,将所述待加载数据输出并加载至目标加载端。
10.可选地,所述数据处理方法,还包括:
11.若所述判断所述待加载数据是否满足输出条件的执行结果为否,则将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点进行处理,其中,所述下一数据处理节点为所述至少两个数据处理节点之一;或者,
12.若所述判断所述待加载数据是否满足输出条件的执行结果为否,则在确定所述待加载数据满足删除条件的情况下,将所述待加载数据删除。
13.可选地,所述将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点进行处理,包括:
14.将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点,通过所述下一数据处理节点对应的数据处理函数对所述待加载数据进行处理,生成对应的处理结果。
15.可选地,所述数据处理方法,还包括:
16.判断所述处理结果是否满足输出条件;
17.若是,则对所述下一数据处理节点进行中断处理,将所述处理结果输出并加载至目标加载端。
18.可选地,所述获取待处理数据,并将所述待处理数据输入数据处理链路,包括:
19.获取多条待处理的日志数据;
20.将所述多条待处理的日志数据中的第一日志数据输入数据处理链路,其中,所述第一日志数据为所述多条待处理的日志数据之一。
21.可选地,所述判断所述待加载数据是否满足输出条件之后,还包括:
22.若所述判断所述待加载数据是否满足输出条件的执行结果为是,则将所述多条待处理的日志数据中的第二日志数据输入所述目标数据处理节点,其中,所述第二日志数据为所述多条待处理的日志数据之一。
23.可选地,所述通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,包括:
24.确定所述数据处理链路中目标数据处理节点对应的预设数据处理函数,并通过所述预设数据处理函数,对所述待处理数据进行处理,生成待加载数据。
25.可选地,所述将所述待加载数据输出并加载至目标加载端,包括:
26.将所述待加载数据从所述数据处理链路输出,并将输出的所述待加载数据存储至数据输出模块,其中,所述数据输出模块根据所述待加载数据的数据属性,对所述待加载数据进行数据划分,生成对应的待加载数据块;
27.在确定所述数据输出模块存储的待加载数据对应的数据量大于预设数据量阈值的情况下,将所述待加载数据块加载至对应的目标加载端。
28.可选地,所述待加载数据为键值对;
29.相应的,判断所述待加载数据是否满足输出条件,包括:
30.根据所述键值对中的关键字确定所述待加载数据的数据类型,并确定所述数据类型对应的目标输出条件;
31.判断所述键值对中键值的目标字段对应的数据是否满足所述目标输出条件。
32.根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:
33.获取模块,被配置为获取待处理数据,并将所述待处理数据输入数据处理链路,其中,所述数据处理链路包含至少两个数据处理节点;
34.处理模块,被配置为通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,其中,所述目标数据处理节点为所述至少两个数据处理节点之一;
35.判断模块,被配置为判断所述待加载数据是否满足输出条件;
36.若所述判断模块的运行结果为是,则运行加载模块;
37.所述加载模块,被配置为对所述目标数据处理节点进行中断处理,将所述待加载数据输出并加载至目标加载端。
38.根据本说明书实施例的第三方面,提供了一种计算设备,包括:
39.存储器和处理器;
40.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
41.获取待处理数据,并将所述待处理数据输入数据处理链路,其中,所述数据处理链路包含至少两个数据处理节点;
42.通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,其中,所述目标数据处理节点为所述至少两个数据处理节点之一;
43.判断所述待加载数据是否满足输出条件;
44.若是,则对所述目标数据处理节点进行中断处理,将所述待加载数据输出并加载至目标加载端。
45.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述数据处理方法的步骤。
46.根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
47.本说明书一个实施例通过获取待处理数据,并将所述待处理数据输入数据处理链路,其中,所述数据处理链路包含至少两个数据处理节点,通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,其中,所述目标数据处理节点为所述至少两个数据处理节点之一,判断所述待加载数据是否满足输出条件,若是,则对所述目标数据处理节点进行中断处理,将所述待加载数据输出并加载至目标加载端。
48.本说明书实施例中,对于待处理数据,每利用数据处理链路中的任意一个数据处理节点对其进行处理,获得对应的处理结果,则可进一步确定处理结果是否需要被输出,若需被输出,则可中断对该处理结果的处理操作,即无需利用数据处理链路中前述任意一个数据处理节点之后的其他数据处理节点,对该处理结果进行进一步处理,并可直接将处理结果输出并加载至目标加载端,这种情况下,待处理数据无需进行全链路计算和缓存,有利于减少数据处理过程所需的资源开销,从而有利于提高资源利用率。
附图说明
49.图1是本说明书一个实施例提供的一种数据处理方法的流程图;
50.图2是本说明书一个实施例提供的一种单条事件流加工过程的示意图。
51.图3是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
52.图4是本说明书一个实施例提供的一种数据处理装置的结构示意图;
53.图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
54.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
55.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地
表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
56.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
57.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
58.extract-transform-load(简写etl):数据从来源端经过读取、转换、输出至目的端的过程。
59.out of memory(简写oom):内存溢出,指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。
60.中断机制:现代计算机操作系统中的基本机制之一,在操作系统运行过程中,接收到某些中断信号(比如鼠标点击),可以中断当前正在运行的程序,转而处理收到的信号,处理完成之后,再回到中断前执行的任务中继续执行。
61.在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序,在下面的实施例中逐一进行详细说明。
62.图1示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,具体包括以下步骤。
63.步骤102,获取待处理数据,并将所述待处理数据输入数据处理链路,其中,所述数据处理链路包含至少两个数据处理节点。
64.本说明书实施例提供的数据处理方法,用于将数据源中的数据加载至数据仓库,即数据仓库中的数据可以通过对原有分散数据源中的数据进行加工得到。其中,数据源中的数据可以是日志数据,具体可将日志数据作为待处理数据,通过数据处理链路对待处理数据进行处理,以将获得的处理结果中,满足加载条件的数据加载至数据仓库。
65.而etl(extraction-transformation-loading)是数据抽取extract、转换transform和加载load的过程,是构建数据仓库的重要一环,用户从数据库抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中。
66.其中,可先从一个或至少两个数据源抽取数据,即获取待处理数据,抽取数据的方式可以根据实际需求设定。数据源可以是数据库、业务系统、系统模块、应用程序等,从数据库中抽取的数据即可以是日志数据。
67.由于各种日志数据混杂在一起(需要过滤出自己需要的)、数据格式比较多样(格式可能不统一)、数据量相对较大。对于这类数据,通常的方法就是过滤抽取。因此,从数据源抽取的待处理数据后,可将其输入至数据处理链路,以对待处理数据进行预设处理,得到待加载至加载端的待加载数据。
68.具体实施时,在待处理数据为日志数据的情况下,获取待处理数据,并将所述待处理数据输入数据处理链路,具体可通过以下方式实现:
69.获取多条待处理的日志数据;
70.将所述多条待处理的日志数据中的第一日志数据输入数据处理链路,其中,所述第一日志数据为所述多条待处理的日志数据之一。
71.具体的,由于日志数据的特点是无规则,需要对其加工处理之后才能方便进行分析应用。因此,在需将日志数据加载至数据仓库的情况下,可将日志数据作为待处理数据,并且在存在多条待处理的日志数据的情况下,可将待处理的日志数据逐条输入数据处理链路进行处理,具体即将多条待处理的日志数据中的第一日志数据输入数据处理链路,而第一日志数据即为多条待处理的日志数据中的任意一条。这种情况下,数据处理链路每次仅对单条日志数据进行处理,有利于从而可以精细的控制内存使用,从而避免数据处理过程可能导致的内存溢出的问题。
72.步骤104,通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,其中,所述目标数据处理节点为所述至少两个数据处理节点之一。
73.具体的,所述目标数据处理节点可以是数据处理链路中的首个数据处理节点。
74.由于数据处理链路由多个数据处理节点构成,因此,每条待处理数据被输入数据处理节点之后,可首先由数据处理链路中的首个数据处理节点对其进行处理。另外,由于不同数据处理节点对应的数据处理函数不同,即不同数据处理节点对待处理数据进行处理的处理方式可能不同,因此,通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,具体即确定所述数据处理链路中目标数据处理节点对应的预设数据处理函数,并通过所述预设数据处理函数,对所述待处理数据进行处理,生成待加载数据。
75.具体的,不同数据处理节点对应不同的数据处理函数,因此,在将待处理数据输入数据处理链路后,首先由数据处理链路中的首个数据处理节点,即目标数据处理节点对应的预设数据处理函数对待处理数据进行处理。其中,预设数据处理函数可用于对待处理数据进行拆分、对所述待处理数据进行关键信息提取等操作,但具体的数据处理函数可根据实际需求确定,在此不做限制。
76.实际应用中,若将日志数据的处理过程应用到etl处理流程,此处的预设数据处理函数即可以是对待处理数据进行清洗和转换,数据清洗的任务是过滤不符合要求的数据,例如不完整、错误或重复的数据;数据转换的任务主要是整合不同来源的相同类型数据、将不同来源的数据按照数据仓库粒度进行聚合等,具体可根据实际需求确定,在此不做限制。
77.步骤106,判断所述待加载数据是否满足输出条件。
78.具体的,若步骤106的执行结果为是,则执行步骤108;若执行结果为否,则可将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点进行处理,其中,所述下一数据处理节点为所述至少两个数据处理节点之一;或者,
79.若所述判断所述待加载数据是否满足输出条件的执行结果为否,则在确定所述待加载数据满足删除条件的情况下,将所述待加载数据删除。
80.进一步的,将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点进行处理,具体可将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点,通过所述下一数据处理节点对应的数据处理函数对所述待加载数据进行处理,生成对应的处理结果。
81.更进一步的,通过下一数据处理节点对应的数据处理函数,对待加载数据进行处理,生成对应的处理结果后,还可判断所述处理结果是否满足输出条件;
82.若是,则对所述下一数据处理节点进行中断处理,将所述处理结果输出并加载目标加载端。
83.具体的,在利用目标数据处理节点对待处理数据进行提取、转换等处理,生成对应的待加载数据之后,可判断待加载数据是否满足输出条件。在确定待加载数据不满足输出条件的情况下,可将该待加载数据输入目标数据处理节点的下一数据处理节点,即数据处理链路中的第二个数据处理节点进行处理。
84.或者,在确定待加载数据不满足输出条件的情况下,可先判断该待加载数据是否满足删除条件(丢弃条件),在确定其满足删除条件的情况下,即可将该待加载数据删除(丢弃);而在确定其不满足删除条件的情况下,可将该待加载数据输入目标数据处理节点的下一数据处理节点,即数据处理链路中的第二个数据处理节点进行处理。
85.同样的,将待加载数据传输至第二个数据处理节点后,第二个数据处理节点同样通过该数据处理节点对应的数据处理函数对待加载数据进行处理,生成对应的处理结果。
86.进一步的,对于该处理结果,其处理方式与待加载数据的处理方式一致,均是判断其是否满足输出条件,若满足,则将其输出;若不满足,则可进一步判断其是否满足删除条件,若满足,则将其删除;若不满足,则将其传输至数据处理链路中的第三个数据处理节点,并通过第三个数据处理节点对应的预设数据处理函数对该处理结果进行处理。
87.具体实施时,待加载数据可以是键值对的形式,因此判断所述待加载数据是否满足输出条件,具体可通过以下方式实现:
88.根据所述键值对中的关键字确定所述待加载数据的数据类型,并确定所述数据类型对应的目标输出条件;
89.判断所述键值对中键值的目标字段对应的数据是否满足所述目标输出条件。
90.具体的,本说明书实施例对待处理数据进行抽取、转换等处理生成的待加载数据,其数据形式可以是键值对(k-v)的形式,即由关键字(key)和键值(value)构成。这种情况下,判断待加载数据是否满足输出条件,即可先根据键值对中的关键字确定待加载数据的数据类型,并确定与该数据类型对应的目标输出条件,然后判断键值对中键值的目标字段对应的数据是否满足该目标输出条件。
91.例如,a类型待加载数据,其目标输出条件为待加载数据的b字段(键值对中键值的b字段)等于x,则输出。因此,在根据键值对中的关键字确定待加载数据属于a类型的情况下,则可判断该待加载数据的b字段(键值中的b字段)是否等于x,若是,则确定其满足目标输出条件;若否,则确定其不满足目标输出条件。
92.本说明书实施例中,对于待处理数据,每利用数据处理链路中的任意一个数据处理节点对其进行处理,获得对应的处理结果,则可进一步确定处理结果是否需要被输出或被删除,若需被输出或被删除,则可中断对该处理结果的处理操作,即无需利用数据处理链路中前述任意一个数据处理节点之后的其他数据处理节点,对该处理结果进行进一步处理,并可直接将处理结果输出并加载至数据仓库的目标加载端,或将其删除,这种情况下,待处理数据无需进行全链路计算和缓存,有利于减少数据处理过程所需的资源开销,从而有利于提高资源利用率。
93.步骤108,对所述目标数据处理节点进行中断处理,将所述待加载数据输出并加载至目标加载端。
94.具体的,目标加载端具体可以是数据仓库中的数据存储单元,例如,数据仓库中的文件夹或是数据表等。
95.本说明书实施例在etl处理流程中增加了中断机制,在确定待加载数据满足输出条件的情况下,则可启用中断机制,中断数据处理链路中其他数据处理节点对该待加载数据的处理过程,将其输出并加载至数据仓库的目标加载端。
96.而目标加载端具体可基于预先设定的数据属性与加载端间的映射关系确定,即可先确定待加载数据的数据属性,并根据该数据属性查找与其存在映射关系中的目的加载端。或是,可对待加载数据进行运算得到目标加载端,例如,对待加载据进行哈希运算得到目标加载端的编号,并将该编号对应的加载端作为目的加载端。
97.具体实施时,将所述待加载数据输出并加载至目标加载端,还可通过以下方式实现:
98.将所述待加载数据从所述数据处理链路输出,并将输出的所述待加载数据存储至数据输出模块,其中,所述数据输出模块根据所述待加载数据的数据属性,对所述待加载数据进行数据划分,生成对应的待加载数据块;
99.在确定所述数据输出模块存储的待加载数据对应的数据量大于预设数据量阈值的情况下,将所述待加载数据块加载至对应的目标加载端。
100.具体的,在确定待加载数据满足输出条件的情况下,可将其输出,并暂存于数据输出模块,数据输出模块接收到待加载数据后,如果其内存已经达到限制(此限制是事先指定,安全可控),则将其缓存中的待加载数据写到对应的目标加载端,并清空缓存,然后将待加载数据放入缓存;或者,数据输出模块接收到待加载数据后,如果其内存未达到限制,则可直接将待加载数据放入可控缓存,并对待加载数据进行整合,在整合结果满足一定条件的情况下,统一输出。
101.另外,数据输出模块可根据可控缓存中待加载数据的数据属性,对待加载数据进行数据划分,生成对应的待加载数据块,并在其内存达到限制,即数据输出模块存储的待加载数据对应的数据量大于预设数据量阈值的情况下,将缓存中的待加载数据块加载至数据仓库中对应的目标加载端。
102.本说明书实施例中,在待加载数据的数据属性与加载端存在映射关系的情况下,数据输出模块即可按照待加载数据的数据属性,对待加载数据进行数据划分,生成对应的待加载数据块,然后在数据输出模块存储的待加载数据对应的数据量大于预设数据量阈值的情况下,即可按照划分结果中待加载数据的数据属性与加载端间的映射关系,将待加载数据块加载至目标加载端。
103.其中,待加载数据的数据属性可以包括时间信息、待加载数据的数据源信息、数据类型中的一个或至少两个,具体可以是直接从待加载数据中提取的设定内容,或者可通过对待加载数据的设定内容进行统计分析得到或是采用一定的预设算法进行运算得到,具体可根据实际需求确定,在此不做限制。
104.另外,判断所述待加载数据是否满足输出条件之后,若所述判断所述待加载数据是否满足输出条件的执行结果为是,则将所述多条待处理的日志数据中的第二日志数据输
入所述目标数据处理节点,其中,所述第二日志数据为所述多条待处理的日志数据之一。
105.具体的,在确定待加载数据满足输出条件的情况下,将待加载数据输出,并可将多条待处理数据中的其他任意一条待处理数据输入数据处理链路进行处理,其处理过程与前述待处理数据的处理过程类似,在此不做赘述。
106.本说明书实施例实现一个对单条日志事件流进行加工的高效执行框架,基于中断机制,能够精细控制内存开销,防止复杂场景(比如事件分裂,1对多导致内存膨胀)出现内存溢出。另一方面,日志事件流在处理中可以在任意数据处理节点所在位置判断其处理逻辑是否结束,消除无谓的开销。
107.本说明书实施例提供的一种单条事件流加工过程的示意图如图2所示。先从数据源获取待处理数据,并将该待处理数据输入数据处理链路,通过数据处理链路中的函数1对该待处理数据进行处理,生成待加载数据,并判断该待加载数据是否需要丢弃,若不需要被丢弃,则判断其是否满足输出条件,若满足输出条件,则将其输出,并加载至数据仓库;若不满足输出条件,则将其传输至数据处理链路中的函数2,由函数2对其进行处理;另外,若待加载数据需要被丢弃,则直接丢弃即可。
108.同样的,函数2对该待加载数据进行处理,生成处理结果,并判断该处理结果是否需要丢弃,若不需要被丢弃,则判断其是否满足输出条件,若满足输出条件,则将其输出,并加载至数据仓库;若不满足输出条件,则将其传输至数据处理链路中的函数3,由函数3对其进行处理;另外,若处理结果需要被丢弃,则直接丢弃即可。
109.函数3对该处理结果的处理过程与前述函数1和函数2的处理过程类似,在此不再赘述。
110.图2以一条待处理数据为例进行说明,在从数据源获取多条待处理数据后,可逐条将待处理数据依依次输入数据处理链路进行处理,具体的,可先将其中一条待处理数据输入数据处理链路进行处理,在该条待处理数据的待加载数据被删除、被输出,或待加载数据的处理结果(除函数1外,函数2、函数3至函数n的输出结果均可理解为处理结果,n为大于3的正整数)被删除、被输出后,可接着输入下一条待处理数据。
111.本说明书实施例中,每条事件(原始事件或中间结果事件)都能够独立走完整个加工流程,去除了不可控的中间缓存依赖,从而可以精细的控制内存使用,解决内存溢出的问题;另外,每条事件都可以在任何位置判断其是否需要被丢弃、或者被输出到特定目标,而不是走到最后才做判断,从而减少无谓的开销。
112.本说明书一个实施例通过获取待处理数据,并将所述待处理数据输入数据处理链路,其中,所述数据处理链路包含至少两个数据处理节点,通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,其中,所述目标数据处理节点为所述至少两个数据处理节点之一,判断所述待加载数据是否满足输出条件,若是,则对所述目标数据处理节点进行中断处理,将所述待加载数据输出并加载至目标加载端。
113.本说明书实施例中,对于待处理数据,每利用数据处理链路中的任意一个数据处理节点对其进行处理,获得对应的处理结果,则可进一步确定处理结果是否需要被输出,若需被输出,则可中断对该处理结果的处理操作,即无需利用数据处理链路中前述任意一个数据处理节点之后的其他数据处理节点,对该处理结果进行进一步处理,并可直接将处理结果输出并加载至数据仓库的目标加载端,这种情况下,待处理数据无需进行全链路计算
和缓存,有利于减少数据处理过程所需的资源开销,从而有利于提高资源利用率。
114.下述结合附图3,以本说明书提供的数据处理方法在实际场景的应用为例,对所述数据处理方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种数据处理方法的处理过程流程图,具体包括以下步骤。
115.步骤302,获取多条待处理的日志数据。
116.步骤304,将所述多条待处理的日志数据中的第一日志数据输入数据处理链路。
117.其中,第一日志数据为多条待处理的日志数据中的任意一条,且所述数据处理链路包含至少两个数据处理节点。
118.步骤306,通过数据处理链路中目标数据处理节点对应的预设数据处理函数,对所述第一日志数据进行预设处理,生成待加载数据。
119.其中,目标数据处理节点为至少两个数据处理节点之一。
120.步骤308,判断所述待加载数据是否满足输出条件。
121.若步骤308的执行结果为是,则执行步骤310;若步骤308的执行结果为否,则执行步骤316。
122.步骤310,对所述目标数据处理节点进行中断处理,将所述待加载数据从所述数据处理链路输出,并将输出的所述待加载数据存储至数据输出模块。
123.其中,所述数据输出模块根据所述待加载数据的数据属性,对所述待加载数据进行数据划分,生成对应的待加载数据块。
124.步骤312,在确定所述数据输出模块存储的待加载数据对应的数据量大于预设数据量阈值的情况下,将所述待加载数据块加载至数据仓库中对应的目标加载端。
125.步骤314,将所述多条待处理的日志数据中的第二日志数据作为第一日志数据。
126.返回执行步骤304。其中,所述第二日志数据为所述多条待处理的日志数据之一。
127.步骤316,判断所述待加载数据是否满足删除条件。
128.若步骤316的执行结果为是,则执行步骤318;若步骤316的执行结果为否,则执行步骤320。
129.步骤318,将所述待加载数据删除。
130.返回执行步骤314。
131.步骤320,将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点,通过所述下一数据处理节点对应的数据处理函数对所述待加载数据进行处理,生成待加载数据。
132.返回执行步骤308。
133.在多条待处理的日志数据均通过前述步骤处理完成后,该数据处理过程结束。
134.本说明书一个实施例通过获取待处理的日志数据,并将所述待处理的日志数据输入数据处理链路,其中,所述数据处理链路包含至少两个数据处理节点,通过所述数据处理链路中的目标数据处理节点,对所述待处理的日志数据进行预设处理,生成待加载数据,其中,所述目标数据处理节点为所述至少两个数据处理节点之一,判断所述待加载数据是否满足输出条件,若是,则对所述目标数据处理节点进行中断处理,将所述待加载数据输出并加载至目标加载端。
135.本说明书实施例中,对于任意一条待处理的日志数据,每利用数据处理链路中的
任意一个数据处理节点对其进行处理,获得对应的处理结果,则可进一步确定处理结果是否需要被输出,若需被输出,则可中断对该处理结果的处理操作,即无需利用数据处理链路中前述任意一个数据处理节点之后的其他数据处理节点,对该处理结果进行进一步处理,并可直接将处理结果输出并加载至数据仓库的目标加载端,这种情况下,待处理数据无需进行全链路计算和缓存,有利于减少数据处理过程所需的资源开销,从而有利于提高资源利用率。
136.与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图4示出了本说明书一个实施例提供的一种数据处理装置的结构示意图。如图4所示,该装置包括:
137.获取模块402,被配置为获取待处理数据,并将所述待处理数据输入数据处理链路,其中,所述数据处理链路包含至少两个数据处理节点;
138.处理模块404,被配置为通过所述数据处理链路中的目标数据处理节点,对所述待处理数据进行预设处理,生成待加载数据,其中,所述目标数据处理节点为所述至少两个数据处理节点之一;
139.判断模块406,被配置为判断所述待加载数据是否满足输出条件;
140.若所述判断模块406的运行结果为是,则运行加载模块408;
141.所述加载模块408,被配置为对所述目标数据处理节点进行中断处理,将所述待加载数据输出并加载至目标加载端。
142.可选地,所述数据处理装置,还包括传输模块,被配置为:
143.若所述判断所述待加载数据是否满足输出条件的执行结果为否,则将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点进行处理,其中,所述下一数据处理节点为所述至少两个数据处理节点之一。
144.可选地,所述数据处理装置,还包括删除模块,被配置为:
145.若所述判断所述待加载数据是否满足输出条件的执行结果为否,则在确定所述待加载数据满足删除条件的情况下,将所述待加载数据删除。
146.可选地,所述传输模块,进一步被配置为:
147.将所述待加载数据传输至所述目标数据处理节点的下一数据处理节点,通过所述下一数据处理节点对应的数据处理函数对所述待加载数据进行处理,生成对应的处理结果。
148.可选地,所述数据处理装置,还包括条件判断模块,被配置为:
149.判断所述处理结果是否满足输出条件;
150.若是,则对所述下一数据处理节点进行中断处理,将所述处理结果输出并加载至目标加载端。
151.可选地,所述获取模块402,进一步被配置为:
152.获取多条待处理的日志数据;
153.将所述多条待处理的日志数据中的第一日志数据输入数据处理链路,其中,所述第一日志数据为所述多条待处理的日志数据之一。
154.可选地,所述数据处理装置,还包括输入模块,被配置为:
155.若所述判断所述待加载数据是否满足输出条件的执行结果为是,则将所述多条待处理的日志数据中的第二日志数据输入所述目标数据处理节点,其中,所述第二日志数据
为所述多条待处理的日志数据之一。
156.可选地,所述处理模块404,进一步被配置为:
157.确定所述数据处理链路中目标数据处理节点对应的预设数据处理函数,并通过所述预设数据处理函数,对所述待处理数据进行处理,生成待加载数据。
158.可选地,所述加载模块408,进一步被配置为:
159.将所述待加载数据从所述数据处理链路输出,并将输出的所述待加载数据存储至数据输出模块,其中,所述数据输出模块根据所述待加载数据的数据属性,对所述待加载数据进行数据划分,生成对应的待加载数据块;
160.在确定所述数据输出模块存储的待加载数据对应的数据量大于预设数据量阈值的情况下,将所述待加载数据块加载至对应的目标加载端。
161.可选地,所述待加载数据为键值对;
162.相应的,所述判断模块406,进一步被配置为:
163.根据所述键值对中的关键字确定所述待加载数据的数据类型,并确定所述数据类型对应的目标输出条件;
164.判断所述键值对中键值的目标字段对应的数据是否满足所述目标输出条件。
165.上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
166.图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
167.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
168.在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
169.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
170.其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
171.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技
术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
172.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
173.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
174.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
175.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
176.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
177.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
178.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
179.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
180.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1