CN110704551B - 数据处理方法、装置、设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110704551B CN110704551B CN201810645397.8A CN201810645397A CN110704551B CN 110704551 B CN110704551 B CN 110704551B CN 201810645397 A CN201810645397 A CN 201810645397A CN 110704551 B CN110704551 B CN 110704551B
- Authority
- CN
- China
- Prior art keywords
- data processing
- union
- union operation
- streaming
- stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种数据处理方法,包括:在识别到流式数据处理任务中包含并集操作标识的情况下,对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令;通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作。本发明还公开了一种数据处理装置、设备及计算机可读存储介质,通过实施上述方案,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。
背景技术
现有的批量数据模型使用ETL(Extract(抽取)、Transform(交互转换)和Load(加载))构建数据系统,通过查询语言(例如:SQL(Structured Query Language,结构化查询语言))访问数据系统,以进行数据分析。随着信息数据的实时化和流式化的发展,传统的批量处理数据方式难以应付流式数据处理,且不能很好的满足数据实时计算的需求。为能够实时处理流式数据,流式计算应运而生,流式ETL数据系统能够对源源不断的流式数据进行实时计算和处理,并将处理结果进行存储并提供给业务系统(例如:车辆监控、人员布控和实时人流预警等业务系统)使用,然而现有的流式ETL数据系统在对多个数据流进行合并时,需要对每个数据流做一次插入数据源的操作,计算及存储过程缓慢。
发明内容
本发明提出了一种数据处理方法、装置、设备及计算机可读存储介质,用以解决现有技术中流式ETL数据系统无法对多个流数据处理结果进行并集操作的问题。
本发明采用的技术方案是提供一种数据处理方法,包括:
在识别到流式数据处理任务中包含并集操作标识的情况下,对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令;
通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作。
可选的,在所述对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析之前,所述方法还包括:
当接收到所述流式数据处理任务时,基于预置的并集操作标识字符匹配模板,对所述流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,以识别所述流式数据处理任务中是否包含并集操作标识。
可选的,所述可识别的第二数据处理指令包括并集操作的语法树对象;
所述对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令,包括:
对所述第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件;
通过解析所述数据处理指令文件,得到所述并集操作的语法树对象。
可选的,所述通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作,包括:
根据所述并集操作的语法树对象,对多个流数据处理结果执行并集操作。
可选的,在所述通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作之前,所述方法还包括:
将接收到的所述流式数据处理任务分解为多个子流式数据处理任务;
并行执行所有独立的子流式数据处理任务,并顺序执行存在依赖关系的子流式数据处理任务,以得到多个所述流数据处理结果。
可选的,所述第一数据处理指令的数量为多个;
所述通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作,包括:
通过多个线程并行执行每一所述第一数据处理指令对应的第二数据处理指令,以对多个所述流数据处理结果进行并集操作,得到流数据并集处理结果;
将所述流数据并集处理结果插入至输出数据流。
本发明还提供一种数据处理装置,包括:
解析模块,用于在识别到流式数据处理任务中包含并集操作标识的情况下,对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令;
操作模块,用于通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作。
可选的,所述装置还包括:
识别模块,用于在所述对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析之前,当接收到所述流式数据处理任务时,基于预置的并集操作标识字符匹配模板,对所述流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,以识别所述流式数据处理任务中是否包含并集操作标识。
可选的,所述可识别的第二数据处理指令包括并集操作的语法树对象;
解析模块,具体用于:对所述第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件;
通过解析所述数据处理指令文件,得到所述并集操作的语法树对象。
可选的,所述操作模块,具体用于:根据所述并集操作的语法树对象,对多个流数据处理结果执行并集操作。
可选的,所述装置还包括:
并行处理模块,用于在所述通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作之前,将接收到的所述流式数据处理任务分解为多个子流式数据处理任务;
并行执行所有独立的子流式数据处理任务,并顺序执行存在依赖关系的子流式数据处理任务,以得到多个所述流数据处理结果。
可选的,所述第一数据处理指令的数量为多个;
所述操作模块,具体用于:通过多个线程并行执行每一所述第一数据处理指令对应的第二数据处理指令,以对多个所述流数据处理结果进行并集操作,得到流数据并集处理结果;将所述流数据并集处理结果插入至输出数据流。
本发明还提供一种数据处理设备,所述数据处理设备包括处理器和存储器;所述处理器用于执行存储器中存储的数据处理程序,以实现上述的数据处理方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的数据处理方法的步骤。
采用上述技术方案,本发明至少具有下列优点:
本发明所述一种数据处理方法、装置、设备及计算机可读存储介质,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
附图说明
图1为本发明第一实施例所述的数据处理方法流程图;
图2为本发明第二实施例所述的数据处理方法流程图;
图3为本发明第三实施例所述的数据处理方法流程图;
图4为本发明第四实施例所述的流ETL模型示意图;
图5为本发明第四实施例所述的路口监控实时业务系统示意图;
图6为本发明第四实施例所述的数据处理方法流程图;
图7为本发明第五实施例所述的数据处理装置组成结构示意图;
图8为本发明第六实施例所述的数据处理装置组成结构示意图;
图9为本发明第七实施例所述的数据处理装置组成结构示意图;
图10为本发明第八实施例所述的数据处理设备组成结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
现有的StreamCQL(Stream Continuous Query Language,流处理平台SQL引擎)在接收到包含并集(union all)操作的流式数据处理任务时,将出现任务错误并拒绝执行并集操作,需要将每一流数据处理结果分别插入至输出数据流,执行效率低,处理速度缓慢。
本发明实施例提供的数据处理方法,应用于StreamCQL,用于实现上述StreamCQL对多个流数据处理结果的并集操作,以解决现有技术StreamCQL无法执行并集操作导致执行效率低,处理速度缓慢的问题。
本发明第一实施例,一种数据处理方法,如图1所示,包括以下具体步骤:
步骤S101,在识别到流式数据处理任务中包含并集操作标识的情况下,对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令。
可选的,操作标识包括union all算子。
在本实施例中,对识别到流式数据处理任务中是否包含并集操作标识的方式不做具体限定,可以是基于一个或多个预置并集操作标识,判断流式数据处理任务中是否存在与该预置并集操作标识匹配的标识,若流式数据处理任务中存在与该预置并集操作标识匹配的标识,则判定流式数据处理任务中包含并集操作标识,否则流式数据处理任务中不包含并集操作标识。
可选的,对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令的方式包括但不限于:
对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的用于执行并集操作的第二数据处理指令。
在识别到流式数据处理任务中包含并集操作标识的情况下,将无法执行的并集操作数据处理指令,转换为可识别的并集操作数据处理指令,避免了StreamCQL接收到并集操作的数据处理指令时出现任务错误并拒绝执行并集操作的弊端。
例如,步骤S101,包括:在识别到流式数据处理任务中包含union all算子的情况下,对流式数据处理任务中包含union all算子的第一SQL数据处理指令进行解析,得到可识别的用于执行union all操作的第二SQL数据处理指令。
步骤S102,通过执行第二数据处理指令,以对多个流数据处理结果进行并集操作。
通过执行第二数据处理指令,以对多个流数据处理结果进行并集操作,实现了StreamCQL对并集操作的支持,有效提高了流数据处理执行效率及处理速度。
本发明第一实施例所述的数据处理方法,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
本发明第二实施例,一种数据处理方法,如图2所示,包括以下具体步骤:
步骤S201,当接收到流式数据处理任务时,基于预置的并集操作标识字符匹配模板,对流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,以识别流式数据处理任务中是否包含并集操作标识。
在本实施例中,对预置的并集操作标识字符匹配模板不做具体限定,可以是工程师根据工程经验设置的并集操作标识字符匹配模板。
可选的,操作标识包括union all算子。
通过预置的并集操作标识字符匹配模板,对流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,实现了对并集操作标识的有效识别,避免了现有技术中StreamCQL无法对并集操作标识识别的弊端。
步骤S202,对第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件。
例如:步骤S202,包括:对第一SQL数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的SQL数据处理指令文件。
步骤S203,通过解析数据处理指令文件,得到并集操作的语法树对象。
在识别到流式数据处理任务中包含并集操作标识的情况下,将无法执行的并集操作数据处理指令,转换为可识别的并集操作的语法树对象,避免了StreamCQL接收到并集操作的数据处理指令时出现任务错误并拒绝执行并集操作的弊端。
例如,步骤S203,包括:通过解析SQL数据处理指令文件,得到并集操作的语法树对象。
步骤S204,根据并集操作的语法树对象,对多个流数据处理结果执行并集操作。
根据并集操作的语法树对象,对多个流数据处理结果执行并集操作,实现了StreamCQL对并集操作的支持,有效提高了流数据处理执行效率及处理速度。
本发明第二实施例所述的数据处理方法,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
本发明第三实施例,一种数据处理方法,如图3所示,包括以下具体步骤:
步骤S301,当接收到流式数据处理任务时,基于预置的并集操作标识字符匹配模板,对流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,以识别流式数据处理任务中是否包含并集操作标识。
在本实施例中,对预置的并集操作标识字符匹配模板不做具体限定,可以是工程师根据工程经验设置的并集操作标识字符匹配模板。
可选的,操作标识包括union all算子。
通过预置的并集操作标识字符匹配模板,对流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,实现了对并集操作标识的有效识别,避免了现有技术中StreamCQL无法对并集操作标识识别的弊端。
步骤S302,在识别到流式数据处理任务中包含并集操作标识的情况下,对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令。
可选的,可识别的第二数据处理指令包括并集操作的语法树对象;对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令的方式,包括:
对第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件;通过解析数据处理指令文件,得到并集操作的语法树对象。
在识别到流式数据处理任务中包含并集操作标识的情况下,将无法识别的并集操作数据处理指令,转换为可识别的第二数据处理指令,避免了StreamCQL接收到并集操作的数据处理指令时出现任务错误并拒绝执行并集操作的弊端。
步骤S303,将接收到的流式数据处理任务分解为多个子流式数据处理任务;并行执行所有独立的子流式数据处理任务,并顺序执行存在依赖关系的子流式数据处理任务,以得到多个流数据处理结果。
通过将接收到的流式数据处理任务分解为多个子流式数据处理任务;并行执行所有独立的子流式数据处理任务,并顺序执行存在依赖关系的子流式数据处理任务,极大地提高了流式数据处理任务的处理效率。
步骤S304,通过执行第二数据处理指令,以对多个流数据处理结果进行并集操作。
可选的,步骤S304,包括:
在第一数据处理指令的数量为多个的情况下,通过多个线程并行执行每一第一数据处理指令对应的第二数据处理指令,以对多个流数据处理结果进行并集操作,得到流数据并集处理结果;将流数据并集处理结果插入至输出数据流。
通过多个线程并行执行每一第二数据处理指令,对多个线程并行对流数据处理结果执行并集操作,实现了StreamCQL对并集操作的支持同时,极大提高了流数据处理执行效率及处理速度。
可选的,本实施例所述的数据处理方法在步骤S304之后,还包括:
步骤S305,将输出数据流推送存储至终端数据存储器,以供终端数据存储器提供实时系统输出或实时数据报表输出。
实现了快速获取输出数据流的目的;并采用任务分解的方法,实现了子任务及并集操作并行执行;实现了流ETL快速执行、多流快速高效地合并的目的,降低流处理延迟性,提高实时流处理的实时性能力。
本发明第三实施例所述的数据处理方法,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
本发明第四实施例,本实施例是在上述实施例的基础上,以数据处理方法为例,结合附图4~6介绍一个本发明的应用实例。
通过安装在各个路口和卡口的实时监控摄像头实时采集路口车流和人流的原始视频流数据,将原始视频流数据输入非结构化接收子系统进行数据暂存后,再输入流ETL模型作为实时输入流,实时输入流作为流ETL模型的输入数据源用于在流计算中根据流式任务进行数据治理。
其中,采集到的原始视频流数据包括:S1,S2,…,Sn(n为实时监控摄像头的数量)。
如图4所示,实时输入流包括:原始视频数据S1,S2,…,Sn和原始视频数据对应采集时间流t1,t2,…,tn;流ETL任务以StreamCQL形式进行流ETL任务提交;路口和卡口的车流和人流监控预警系统的目的是通过对原始视频流数据进行数据治理,对人流和车流数进行实时统计并预警,需要对流S1,S2,…,Sn与流t1,t2,…,tn采取的处理包括并集操作,StreamCQL中包含图5中流ETL实时数据处理子系统对流stream的数据治理,并打破了StreamCQL不支持union all操作的壁垒;在流数据治理过程中进行任务优化,提高流处理速度、减少流处理时间。
本实施例所述的数据处理方法,包括以下具体步骤:
步骤S401,语法识别模块识别提交的流式数据处理任务中是否含有union all算子,当提交的流式数据处理任务中的SQL语句中包含有union all算子时,通过字符匹配模板对特定地词法进行识别,并根据词法匹配结果对流式数据处理任务中含有union all的文本语句进行语句分词以获取识别到包含union all的SQL语句,并将SQL语句正则表达式传送至语法解析模块。
步骤S402,语法解析模块包块语法分析器和语法解析器,通过语法分析器对输入的SQL正则表达式进行词法分析和语法分析,生成流ETL中的语法解析器能够识别的SQL文件;通过语法解析器解析含有union all语法的SQL文件,并生成union all的语法树对象。
步骤S403,通过算子操作模块对输入流数据S1,S2,…,Sn的进行并集操作。
在本实施例中,由于输入流数据是非结构化数据,需对非结构化数据进行转换为所需的数据形式,需要将非结构化数据流转换为结构化数据,并对结构化数据进行特定字段抽取作为子数据流m1,m2,…,mn,抽取到子数据流m1,m2,…,mn后,子数据流m1,m2,…,mn与时间流t1,t2,…,tn直接进行快速并集操作,实现StreamCQL对union all的支持。
步骤S404,通过执行优化模块对提交的流式数据处理任务进行语句切分,分解成多个流式数据处理任务子任务,每个流式数据处理任务子任务并行执行,以得到流式任务处理中间结果,通过执行优化模块使用多线程方式对每个包含union all的流式数据处理任务子任务进行并行执行,将多输入中间流m1,m2,…,mn并行插入输出数据流,并将结果汇总到输出流产生实时结果数据。
如图5所示的信息业务记录子系统根据输出数据流记录Ti时刻到Tj时刻经过某个路口或卡口的车流和人流数;
如图5所示的业务服务子系统将Ti~Tj时刻经过某个路口或卡口的车流和人流数实时显示,进行道路车流和人流实时播报,及车流和人流预警,进行道路分流等。
与现有技术相比,传统流ETL在多流合并时,需要对每个数据流做一次插入数据源的操作,计算及存储过程慢,本方法在现有技术基础上,解决StreamCQL不支持union all算子的阻碍,通过实现StreamCQL支持union all算子的方法,并采用union all并行实现的方式,实现多流快速高效地合并,提高实时流处理的能力。
本发明实施例提供的数据处理装置,设置于StreamCQL,用于实现上述StreamCQL对多个流数据处理结果的并集操作,以解决现有技术StreamCQL无法执行并集操作导致执行效率低,处理速度缓慢的问题。
本发明第五实施例,一种数据处理装置,如图7所示,包括以下组成部分:
解析模块11,用于在识别到流式数据处理任务中包含并集操作标识的情况下,对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令。
可选的,操作标识包括union all算子。
在本实施例中,对识别到流式数据处理任务中是否包含并集操作标识的方式不做具体限定,可以是基于一个或多个预置并集操作标识,判断流式数据处理任务中是否存在与该预置并集操作标识匹配的标识,若流式数据处理任务中存在与该预置并集操作标识匹配的标识,则判定流式数据处理任务中包含并集操作标识,否则流式数据处理任务中不包含并集操作标识。
可选的,对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令的方式包括但不限于:
对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的用于执行并集操作的第二数据处理指令。
在识别到流式数据处理任务中包含并集操作标识的情况下,将无法执行的并集操作数据处理指令,转换为可识别的并集操作数据处理指令,避免了StreamCQL接收到并集操作的数据处理指令时出现任务错误并拒绝执行并集操作的弊端。
例如,解析模块11,用于:在识别到流式数据处理任务中包含union all算子的情况下,对流式数据处理任务中包含union all算子的第一SQL数据处理指令进行解析,得到可识别的用于执行union all操作的第二SQL数据处理指令。
操作模块12,用于通过执行第二数据处理指令,以对多个流数据处理结果进行并集操作。
通过执行第二数据处理指令,以对多个流数据处理结果进行并集操作,实现了StreamCQL对并集操作的支持,有效提高了流数据处理执行效率及处理速度。
本发明第五实施例所述的数据处理装置,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
本发明第六实施例,一种数据处理装置,如图8所示,包括以下组成部分:
识别模块21,用于当接收到流式数据处理任务时,基于预置的并集操作标识字符匹配模板,对流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,以识别流式数据处理任务中是否包含并集操作标识。
在本实施例中,对预置的并集操作标识字符匹配模板不做具体限定,可以是工程师根据工程经验设置的并集操作标识字符匹配模板。
可选的,操作标识包括union all算子。
通过预置的并集操作标识字符匹配模板,对流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,实现了对并集操作标识的有效识别,避免了现有技术中StreamCQL无法对并集操作标识识别的弊端。
解析模块22,用于对第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件;通过解析数据处理指令文件,得到并集操作的语法树对象。
在识别到流式数据处理任务中包含并集操作标识的情况下,将无法执行的并集操作数据处理指令,转换为可识别的并集操作的语法树对象,避免了StreamCQL接收到并集操作的数据处理指令时出现任务错误并拒绝执行并集操作的弊端。
操作模块23,用于根据并集操作的语法树对象,对多个流数据处理结果执行并集操作。
根据并集操作的语法树对象,对多个流数据处理结果执行并集操作,实现了StreamCQL对并集操作的支持,有效提高了流数据处理执行效率及处理速度。
本发明第六实施例所述的数据处理装置,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
本发明第七实施例,一种数据处理装置,如图9所示,包括以下组成部分:
识别模块31,用于当接收到流式数据处理任务时,基于预置的并集操作标识字符匹配模板,对流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,以识别流式数据处理任务中是否包含并集操作标识。
在本实施例中,对预置的并集操作标识字符匹配模板不做具体限定,可以是工程师根据工程经验设置的并集操作标识字符匹配模板。
可选的,操作标识包括union all算子。
通过预置的并集操作标识字符匹配模板,对流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,实现了对并集操作标识的有效识别,避免了现有技术中StreamCQL无法对并集操作标识识别的弊端。
解析模块32,用于在识别到流式数据处理任务中包含并集操作标识的情况下,对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令。
可选的,可识别的第二数据处理指令包括并集操作的语法树对象;对流式数据处理任务中包含并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令的方式,包括:
对第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件;通过解析数据处理指令文件,得到并集操作的语法树对象。
可选的,解析模块32,具体用于:在识别到流式数据处理任务中包含并集操作标识的情况下,对第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件;通过解析数据处理指令文件,得到并集操作的语法树对象。
在识别到流式数据处理任务中包含并集操作标识的情况下,将无法识别的并集操作数据处理指令,转换为可识别的第二数据处理指令,避免了StreamCQL接收到并集操作的数据处理指令时出现任务错误并拒绝执行并集操作的弊端。
并行处理模块33,用于将接收到的流式数据处理任务分解为多个子流式数据处理任务;并行执行所有独立的子流式数据处理任务,并顺序执行存在依赖关系的子流式数据处理任务,以得到多个流数据处理结果。
通过将接收到的流式数据处理任务分解为多个子流式数据处理任务;并行执行所有独立的子流式数据处理任务,并顺序执行存在依赖关系的子流式数据处理任务,极大地提高了流式数据处理任务的处理效率。
操作模块34,用于通过执行第二数据处理指令,以对多个流数据处理结果进行并集操作。
可选的,操作模块34,具体用于:
在第一数据处理指令的数量为多个的情况下,通过多个线程并行执行每一第一数据处理指令对应的第二数据处理指令,以对多个流数据处理结果进行并集操作,得到流数据并集处理结果;将流数据并集处理结果插入至输出数据流。
通过多个线程并行执行每一第二数据处理指令,对多个线程并行对流数据处理结果执行并集操作,实现了StreamCQL对并集操作的支持同时,极大提高了流数据处理执行效率及处理速度。
可选的,本实施例所述的数据处理装置,还包括:
实时存储输出模块35,用于将输出数据流推送存储至终端数据存储器,以供终端数据存储器提供实时系统输出或实时数据报表输出。
实现了快速获取输出数据流的目的;并采用任务分解的方法,实现了子任务及并集操作并行执行;实现了流ETL快速执行、多流快速高效地合并的目的,降低流处理延迟性,提高实时流处理的实时性能力。
本发明第七实施例所述的数据处理装置,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
本发明第八实施例,一种数据处理设备,如图10所示,包括以下组成部分:
处理器501和存储器502。在本发明的一些实施例中,处理器501和存储器502可通过总线或者其它方式连接。
处理器501可以是通用处理器,例如中央处理器(Central Processing Unit,
CPU),还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(英文:Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。其中,存储器502用于存储处理器501的可执行指令;
存储器502,用于存储程序代码,并将该程序代码传输给处理器501。存储器502可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器502也可以包括非易失性存储器(Non-Volatile
Memory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器502还可以包括上述种类的存储器的组合。
其中,处理器501用于调用存储器502存储的程序代码管理代码,执行本发明第一实施例至本发明第四实施例中任一实施例中部分或全部步骤。
本发明第八实施例所述的数据处理设备,实现了流式ETL数据系统对多个流数据处理结果进行并集操作。
本发明第九实施例,一种计算机可读存储介质。
计算机存储介质可以是RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域已知的任何其他形式的存储介质。
计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现本发明第一实施例至本发明第四实施例中任一实施例中部分或全部步骤。
本发明第九实施例所述的计算机可读存储介质,存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,能够实现流式ETL数据系统对多个流数据处理结果进行并集操作。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
在识别到流式数据处理任务中包含并集操作标识的情况下,对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令;
通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作;
所述可识别的第二数据处理指令包括并集操作的语法树对象;
所述对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令,包括:
对所述第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件;
通过解析所述数据处理指令文件,得到所述并集操作的语法树对象;
所述数据处理方法应用于流式ETL数据系统。
2.根据权利要求1所述的方法,其特征在于,在所述对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析之前,所述方法还包括:
当接收到所述流式数据处理任务时,基于预置的并集操作标识字符匹配模板,对所述流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,以识别所述流式数据处理任务中是否包含并集操作标识。
3.根据权利要求1所述的方法,其特征在于,所述通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作,包括:
根据所述并集操作的语法树对象,对多个流数据处理结果执行并集操作。
4.根据权利要求1所述的方法,其特征在于,在所述通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作之前,所述方法还包括:
将接收到的所述流式数据处理任务分解为多个子流式数据处理任务;
并行执行所有独立的子流式数据处理任务,并顺序执行存在依赖关系的子流式数据处理任务,以得到多个所述流数据处理结果。
5.根据权利要求4所述的方法,其特征在于,所述第一数据处理指令的数量为多个;
所述通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作,包括:
通过多个线程并行执行每一所述第一数据处理指令对应的第二数据处理指令,以对多个所述流数据处理结果进行并集操作,得到流数据并集处理结果;将所述流数据并集处理结果插入至输出数据流。
6.一种数据处理装置,其特征在于,包括:
解析模块,用于在识别到流式数据处理任务中包含并集操作标识的情况下,对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析,得到可识别的第二数据处理指令;
操作模块,用于通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作;
其中,所述可识别的第二数据处理指令包括并集操作的语法树对象;
其中,所述解析模块,具体用于:
对所述第一数据处理指令的正则表达式进行词法分析和语法分析,得到可识别的数据处理指令文件;
通过解析所述数据处理指令文件,得到所述并集操作的语法树对象;
其中,所述数据处理装置具体为流式ETL数据系统。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
识别模块,用于在所述对所述流式数据处理任务中包含所述并集操作标识的第一数据处理指令进行解析之前,当接收到所述流式数据处理任务时,基于预置的并集操作标识字符匹配模板,对所述流式数据处理任务中的所有数据处理指令进行并集操作标识字符匹配识别,以识别所述流式数据处理任务中是否包含并集操作标识。
8.根据权利要求7所述的装置,其特征在于,所述操作模块,具体用于:根据所述并集操作的语法树对象,对多个流数据处理结果执行并集操作。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
并行处理模块,用于在所述通过执行所述第二数据处理指令,以对多个流数据处理结果进行并集操作之前,将接收到的所述流式数据处理任务分解为多个子流式数据处理任务;
并行执行所有独立的子流式数据处理任务,并顺序执行存在依赖关系的子流式数据处理任务,以得到多个所述流数据处理结果。
10.根据权利要求9所述的装置,其特征在于,所述第一数据处理指令的数量为多个;
所述操作模块,具体用于:通过多个线程并行执行每一所述第一数据处理指令对应的第二数据处理指令,以对多个所述流数据处理结果进行并集操作,得到流数据并集处理结果;将所述流数据并集处理结果插入至输出数据流。
11.一种数据处理设备,其特征在于,所述数据处理设备包括处理器和存储器;所述处理器用于执行存储器中存储的数据处理程序,以实现根据权利要求1~5中任一项所述的数据处理方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现根据权利要求1~5中任一项所述的数据处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810645397.8A CN110704551B (zh) | 2018-06-21 | 2018-06-21 | 数据处理方法、装置、设备及计算机可读存储介质 |
PCT/CN2019/088974 WO2019242470A1 (zh) | 2018-06-21 | 2019-05-29 | 数据处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810645397.8A CN110704551B (zh) | 2018-06-21 | 2018-06-21 | 数据处理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704551A CN110704551A (zh) | 2020-01-17 |
CN110704551B true CN110704551B (zh) | 2023-02-17 |
Family
ID=68983120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810645397.8A Active CN110704551B (zh) | 2018-06-21 | 2018-06-21 | 数据处理方法、装置、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110704551B (zh) |
WO (1) | WO2019242470A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181704B (zh) * | 2020-09-28 | 2024-07-16 | 京东科技控股股份有限公司 | 一种大数据任务处理方法、装置、电子设备及存储介质 |
CN116881310B (zh) * | 2023-09-07 | 2023-11-14 | 卓望数码技术(深圳)有限公司 | 一种大数据的集合计算方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216766A (zh) * | 2014-08-26 | 2014-12-17 | 华为技术有限公司 | 对流数据进行处理的方法及装置 |
CN105683940A (zh) * | 2013-06-24 | 2016-06-15 | 惠普发展公司,有限责任合伙企业 | 处理混合流的数据流图 |
CN106599182A (zh) * | 2016-12-13 | 2017-04-26 | 飞狐信息技术(天津)有限公司 | 基于spark streaming实时流的特征工程推荐方法及装置、视频网站 |
CN106610999A (zh) * | 2015-10-26 | 2017-05-03 | 北大方正集团有限公司 | 查询处理方法和装置 |
CN106713944A (zh) * | 2016-12-30 | 2017-05-24 | 北京奇虎科技有限公司 | 一种流数据任务的处理方法和装置 |
CN107787010A (zh) * | 2016-08-26 | 2018-03-09 | 电信科学技术研究院 | 一种数据流传输方法、汇聚节点、基站和ue |
US9934279B2 (en) * | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976316B (zh) * | 2010-10-27 | 2012-02-01 | 杭州新中大软件股份有限公司 | 一种信息访问权限控制方法 |
US8819038B1 (en) * | 2013-10-06 | 2014-08-26 | Yahoo! Inc. | System and method for performing set operations with defined sketch accuracy distribution |
CN105512022B (zh) * | 2014-09-25 | 2018-09-28 | 华为技术有限公司 | 一种数据处理方法和设备 |
CN105512162B (zh) * | 2015-09-28 | 2019-04-16 | 杭州圆橙科技有限公司 | 一种基于Storm的流数据实时智能化处理框架 |
CN107861981B (zh) * | 2017-09-28 | 2020-09-01 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
-
2018
- 2018-06-21 CN CN201810645397.8A patent/CN110704551B/zh active Active
-
2019
- 2019-05-29 WO PCT/CN2019/088974 patent/WO2019242470A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105683940A (zh) * | 2013-06-24 | 2016-06-15 | 惠普发展公司,有限责任合伙企业 | 处理混合流的数据流图 |
US9934279B2 (en) * | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
CN104216766A (zh) * | 2014-08-26 | 2014-12-17 | 华为技术有限公司 | 对流数据进行处理的方法及装置 |
CN106610999A (zh) * | 2015-10-26 | 2017-05-03 | 北大方正集团有限公司 | 查询处理方法和装置 |
CN107787010A (zh) * | 2016-08-26 | 2018-03-09 | 电信科学技术研究院 | 一种数据流传输方法、汇聚节点、基站和ue |
CN106599182A (zh) * | 2016-12-13 | 2017-04-26 | 飞狐信息技术(天津)有限公司 | 基于spark streaming实时流的特征工程推荐方法及装置、视频网站 |
CN106713944A (zh) * | 2016-12-30 | 2017-05-24 | 北京奇虎科技有限公司 | 一种流数据任务的处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
性能收益模型的流处理算子优化技术综述;檀国林 等;《计算机科学与探索》;20170327;第1021-1030页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019242470A1 (zh) | 2019-12-26 |
CN110704551A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079408B (zh) | 一种语种识别方法、装置、设备及存储介质 | |
CN110515944B (zh) | 基于分布式数据库的数据存储方法、存储介质和电子设备 | |
CN109918296B (zh) | 软件自动化测试方法及装置 | |
CN110704551B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN110618940A (zh) | 堆栈信息追踪方法、装置、计算机可读介质及计算装置 | |
US20140237554A1 (en) | Unified platform for big data processing | |
JP2016157407A (ja) | テキスト分析及び応答システムのための語彙意味パターンの事前構築方法 | |
US20180025162A1 (en) | Application program analysis apparatus and method | |
CN110716866A (zh) | 代码质量扫描方法、装置、计算机设备及存储介质 | |
CN113568841A (zh) | 一种针对小程序的风险检测方法、装置及设备 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
US9378115B2 (en) | Base line for code analysis | |
CN116016628A (zh) | 一种api网关埋点分析方法及装置 | |
CN112612904B (zh) | 基于知识图谱的轨道交通应急方法及装置 | |
CN114708535A (zh) | 测试事件检测算法的方法、装置、电子设备及存储介质 | |
WO2023179319A1 (zh) | 报警方法及装置 | |
CN112241355A (zh) | 链路追踪方法、系统、计算机可读存储介质及电子设备 | |
CN109558403B (zh) | 数据聚合方法及装置、计算机装置及计算机可读存储介质 | |
CN111160583B (zh) | 一种数据处理方法及装置 | |
KR20230072699A (ko) | 연계 식별자를 이용한 패키징 기반의 증거 관리 장치 및 이를 이용한 방법 | |
CN114169318A (zh) | 进程识别方法、装置、设备、介质和程序 | |
CN106055625B (zh) | 一种执行业务的方法及装置 | |
CN113781803B (zh) | 一种基于互联网的人工智能交通控制系统 | |
CN114973684B (zh) | 一种建筑工地定点监控方法及系统 | |
CN116302437A (zh) | 数据解析方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |